梯度下降法是 反覆找出產生權重和偏誤的數學技巧 損失最低的模型梯度下降法會找出最佳的權重和偏誤 可以重複下列程序,為使用者定義的疊代作業。
模型會以接近零的隨機權重和偏誤開始訓練 然後重複執行下列步驟:
根據目前的權重和偏誤計算損失。
判斷移動權重和偏誤以減少損失的方向。
將權重和偏誤值移到較低方向, 損失
回到步驟 1 並重複這個程序,直到模型無法降低 因此會損失。
下圖概述疊代步驟梯度下降法執行的結果 以最低的損失產生模型的權重與偏誤。
圖 12. 梯度下降法是反覆調整的過程 以最低的損失產生模型
按一下加號圖示,即可進一步瞭解梯度下降法背後的數學方法。
在具體的層級中,我們可以逐步完成梯度下降法步驟 使用一個小型資料集,內含七個範例車輛的重度 (磅) 和每加侖的里程數:
1000 年代英鎊 (地圖項目) | 每加侖英里 (標籤) |
---|---|
3.5 | 18 |
3.69 | 15 |
3.44 | 18 |
3.43 | 16 |
4.34 | 15 |
4.42 | 14 |
2.37 | 24 |
- 模型會先將權重和偏誤設為零,開始訓練:
- 使用目前的模型參數計算 MSE 損失:
- 計算各權重的損切斜率 和偏誤:
- 只要在負斜率的方向上微調一點值,即可取得 下一個權重和偏誤現在,我們會任意定義 「少量」例如 0.01:
按一下加號圖示,即可瞭解如何計算斜率。
為取得與體重的切線點, 我們會採用損失函數的導數 然後解決 各種方程式
我們將寫出用來進行預測的方程式:
$ f_{w,b}(x) = (寬*x)+b $。
實際值的格式應為 $ y $。
我們會使用:
計算 MSE
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
其中 $i$ 代表 $ith$ 訓練範例,$M$ 代表
和樣本數量
權重的損失函式導數寫法為:
$ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
評估為:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $
首先,將每個預測值減去實際值 再乘以特徵值的兩倍 接著,我們將總和除以樣本數量。 結果是該值的斜切線斜率 權重值
如果我們解開這個方程式的權重和偏誤 我們得到 -119.7 的線條斜率。
生物導數
與
偏誤的寫法為:
$ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
評估為:
$ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $
首先,將每個預測值減去實際值 再乘以二接著將總和除以 和樣本數量結果就是線條的斜率 與偏誤值的正切值
如果我們解開這個方程式的權重和偏誤 我們得到 -34.3 的線條斜率。
使用新的權重和偏誤來計算損失與重複。完成中 我們會得到以下權重、偏誤 和損失:
疊代作業 | 重量 | 偏誤 | 損失 (MSE) |
---|---|---|---|
1 | 0 | 0 | 303.71 |
2 | 1.2 | 0.34 | 170.67 次 |
3 | 2.75 | 0.59 | 67.3 |
4 | 3.17 | 0.72 | 50.63 |
5 | 3.47 | 0.82 | 42.1 |
6 | 3.68 | 0.9 | 37.74 |
您可以看到更新後的權重和偏誤值減少了損失。 這個範例在經過六次疊代後停止。實務上 持續訓練 收斂通訊。 當模型串連時,額外疊代不會減少損失 因為梯度下降法找到了 將損失減至最低
如果模型持續訓練過去的收斂性,損失開始 隨著模型持續更新 參數。這也太過複雜 驗證模型是否確實收斂確認模型 已完成收斂,接下來可以繼續訓練,直到損失 保持穩定。
模型收斂和損失曲線
訓練模型時,您通常會看重 曲線,判斷模型是否 收斂。損失曲線顯示 損失率會隨著模型訓練而變化一般損失通常為 看起來Y 軸代表損失,X 軸代表疊代:
圖 13. 損失曲線,顯示模型在 第 1,000 次疊代標記。
您可以看到在最初幾次疊代中 損失會大幅減少 然後逐漸降低,直到最後 1,000 次疊代 標示。經過 1,000 次疊代後,我們大致就能確定 已收斂。
在下圖中,我們會在訓練過程中的三個點繪製模型 程序:開頭、中間和結尾。以視覺化方式呈現模型狀態 可強化更新程序之間的 例如權重和偏誤、減少損失及模型收斂
在這個圖中,我們使用特定疊代產生的權重和偏誤, 代表模型在包含資料點和模型快照的圖表中 從模型到資料點的藍色損失線,代表損失的數量。 線條長,損失越多。
在下圖中,可看到二次疊代模型 因為損失很多,進行預測並不好。
圖 14.模型開始時,模型的損失曲線和快照 訓練過程
在第 400 次疊代時,可以看到梯度下降法 以便產生更好的模型
圖 15.模型透過訓練期間的損失曲線和快照。
大約 1,000 次時,我們可以看到模型已融合 盡可能讓模型的損失機率降到最低
圖 16. 訓練結束附近模型的損失曲線和快照 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作
練習:隨堂測驗
收斂和凸面函式
線性模型的損失函式一律會產生 凸介面。因此, 產生這個屬性時,在線性迴歸模型凝結時 找出導致損失最低的權重與偏誤。
如果模型的損失表面只以一個特徵繪製 凸面形狀以下是每加侖資料集的里程數損失表面 用在先前的範例中權重在 X 軸上 偏誤則在 Y 軸上 Z 軸代表損失
圖 17. 顯示其凸面形狀的損失表面。
在此範例中,權重為 -5.44 和偏誤為 35.94,帶來的損失最低 5.54:
圖 18. 顯示產生的權重和偏誤值 最小的損失
找到最小損失時,線性模型就會集體。因此 疊代只會導致梯度下降,將權重和偏誤值移到 幾乎不會達到最低要求如果將權重和偏誤點繪製成圖表 在梯度下降時,這個點看起來就像是滾著山丘的球 最後,在沒有向下斜坡的那點停下來。
圖 19.顯示最低點的梯度下降點停靠圖 圖表上的資料點
請注意,黑色損失點會建立損失曲線的確切形狀: 急遽下降,再逐漸降低,直到降到最低點 隱藏在損失表面上
特別要注意的是,這個模型幾乎找不到 而是找出非常接近這個權重和偏誤的值 請特別注意,權重和偏誤的最小值不會 就會對應至零,僅以單一值 參數。
在此例中,使用會產生最低損失的權重和偏誤值 權重 -5.44 與偏誤為 35.94 判斷資料是否恰當:
圖 20. 以產生模型結果的權重和偏誤值 最小的損失
這將是這個資料集的最佳模型,因為沒有其他權重和偏誤 會產生損失程度較低的模型