深入瞭解機器學習之降低損失 (Reducing Loss):學習速率
阿新 • • 發佈:2018-12-21
梯度向量具有方向和大小。梯度下降法演算法用梯度乘以一個稱為學習速率(有時也稱為步長)的標量,以確定下一個點的位置。例如,如果梯度大小為 2.5,學習速率為 0.01,則梯度下降法演算法會選擇距離前一個點 0.025 的位置作為下一個點。
超引數是程式設計人員在機器學習演算法中用於調整的旋鈕。大多數機器學習程式設計人員會花費相當多的時間來調整學習速率。如果您選擇的學習速率過小,就會花費太長的學習時間: 圖 6. 學習速率過小。
相反,如果您指定的學習速率過大,下一個點將永遠在 U 形曲線的底部隨意彈跳,就好像量子力學實驗出現了嚴重錯誤一樣: 圖 7. 學習速率過大。
每個迴歸問題都存在一個金髮姑娘學習速率。“金髮姑娘”值與損失函式的平坦程度相關。如果您知道損失函式的梯度較小,則可以放心地試著採用更大的學習速率,以補償較小的梯度並獲得更大的步長。
圖 8. 學習速率恰恰好。
理想的學習速率 一維空間中的理想學習速率是 (f(x) 對 x 的二階導數的倒數)。 二維或多維空間中的理想學習速率是海森矩陣(由二階偏導陣列成的矩陣)的倒數。 廣義凸函式的情況則更為複雜。