發表文章

Windows 用 anaconda 如何安裝 tensorflow-GPU

圖片
 這次為了讓tensorflow使用GPU,快被搞死QQ,花了整整四天的時間阿 首先要了解一下他們的基礎結構 source:  Johnny Liao

偏導數(partial derivatives)

圖片
平常微分時都是只對一個變數微分 但如果要對一個以上變數做微分時 我們就需要用到偏微分法(partial  differentiation) ( 數學符號“  ∂ ”,  可讀作「 der 」、partial  或「偏」) 運算方法 假設現在有兩個變數x和y, 我們分別將x和y 視為常數 ,各自分開微分 <EX> 分別對x和y微分 幾何意義 平常只對一個變數微分時,可以想成求一條 線 之 切線斜率 但對兩個變數微分時,我們可以想當 曲面 固定其中一個變數時,分別求 切線斜率 上圖中藍色的部分是我們要微分的曲面 假設我們要對其中的x微分,這時我們固定y值時 可以在這個曲面上得到一條曲線(下圖紅線)(以x & z為軸之平面) 而這時在這條曲線上對x微分, 就可以得到曲線的切線斜率(上圖黑線) 同理,當我們要對其中的y微分,這時我們固定x值時 我們可以得到另外一條曲線 (以y & z為軸之平面) 並且經過微分後得到切線斜率(上圖黑線) 上述兩條黑線就可形成新的平面 而由這平面可得到垂直於平面的 法線 (下圖藍色箭頭) 偏微分於機器學習之運用 在機器學習時,我們有時需要用到gradient descent 來求曲面最低點 我們可以想成當以x & z為軸之平面時 ( η=learning rate ) x' 為原本的x 減掉 “ η 乘上loss function (即f(x,y)的偏微分)” 經過一次次地靠近,當“ η 乘上loss function ”為零時,即停止 表示到達local minima 而當以y & z為軸之平面時 也一樣 y' 為原本的y 減掉 “ η 乘上loss function (即f(x,y)的偏微分)” 經過一次次地靠近,當“ η 乘上loss function ”為零時,即停止 表示到達local minima 李柏堅老師教學影片 以上圖片來源

基礎微分運算

圖片
以下為基礎運算,不包含證明,方便快速運用而已 1. 任意 常數 經過微分後為0 2. 函數 外的常數 可拉出來之後再微分 3. 加減法 可以直接分開微分 4. 乘法 5. 開根號 6. 除法 7. 連鎖率

pandas - dataframe - 簡易用法

 1.  讀取pickle檔案 pd.read_pickle("history/tables/price.pkl")  2. pivot function

jupyter notebook -  簡易用法

1. 如何查看function用法 當前面的cell輸入過 (import)要用的function後 可在之後的 cell上按下 shift+tab 這樣就會顯示如何運用這個function

Google OR-Tools : 指定與分配 - 4. Assignment with Allowed Groups - MIP solver

任務0 任務1 任務2 任務3 任務4 任務5 0號工人 90 76 75 70 50 74 1號工人 35 85 55 65 48 101 2號工人 125 95 90 105 59 120 3號工人 45 110 95 115 104 83 4號工人 60 105 80 75 59 62 5號工人 45 65 110 95 47 31 6號工人 38 51 107 41 69 99 7號工人 47 85 57 71 92 77 8號工人 39 63 97 49 118 56 9號工人 47 101 71 60 88 109 10號工人 17 39 103 64 61 92 11號工人 101 45 83 59 92 27 這次的分配問題,有以下條件 1) 將工人分成3組,每組取2人來分配任務 2) 每個任務只能分配給一個工人 3) 每個工人只能做一件任務 4) 花費最少 在該範例中,有12個工人,編號為0-11。 每4個工人分成一個group(1~3) 每個group裡任意2人組成一對 再從三個group裡各選一對 (ex, [2,3], [4,7], [8,10] -> [2,3,4,7,8,10] ) 所以最後總共有5*5*5種可能   group1 =   [[ 2 , 3 ],       # Subgroups of workers 0 - 3               [ 1 , 3 ],               [ 1 , 2 ],               [ 0 , 1 ],               [ 0 , 2 ]]   group2 =   [[ 6 , 7 ],       # Subgroups of workers 4 - 7               [ 5 , 7 ],               [ 5 , 6 ],               [ 4 , 5 ],               [ 4 ,