ML:基礎技法學習
Package:scikit-learn
課程:機器學習技法
簡介:第十二講 Neural Network
減少 iteration 的次數
sklearn.neural_network.MLPClassifier
sklearn.neural_network.MLPRegressor
Package:scikit-learn
課程:機器學習技法
簡介:第十二講 Neural Network
Neural Network Learning
- 初始化
- 需為隨機且比較小的值
- for
- stochastic:隨機挑選
- forward:用
計算所有的 - backward:基於
計算所有的 - gradient descent:
- 回傳
- 1. 到 3. 可重覆做很多次(可平行處理),再將其結果
平均後,放置 4. 執行,這種做法稱為 mini-batch
Optimization and Regularization
- 當具有多層 hidden layers,通常為 non-convex
- 難以得到 global minimum
- GD/SGD 只能得到 local minimum
- 在實務上還是有不錯的表現
- 不同的
初始值,可能會得到不同的 local minimum 太大,會使得 遠離中心,導致 太小
每次的移動將非常小,稱作 saturate (飽和) :神經元的個數 :weights 的個數- 優點
- 足夠的
可近似任何函數 - 缺點
- 太多
容易 overfit - Regularization
- L2
- 從上式得知,large weight → large shrink; small weight → small shrink
但這並無法令 ,當 才能降低 ,也就是 的 - L1
- 可得到
,因其頂點解的緣故
可參考 [ML] 機器學習基石:第十四講 Regularization - 但無法微分,這會導致 backprop 無法求解
- weight-elimination
- large weight → median shrink; small weight → median shrink
將可以令 ,但前提是範圍需正確
假設前項 ,可畫出下圖
- early stopping:gradient 有關的演算法皆可應用此方式
- 從某個角度來看,當做越多次,看過的
就越多,那麼有效的 也就越大
- 可用 validation 決定 T,可參考 [ML] 機器學習基石:第十五講 Validation
程式碼
參考
Neural network models (supervised)sklearn.neural_network.MLPClassifier
sklearn.neural_network.MLPRegressor
留言
張貼留言