1. 程式人生 > >深入瞭解機器學習之降低損失 (Reducing Loss):學習速率

深入瞭解機器學習之降低損失 (Reducing Loss):學習速率

梯度向量具有方向和大小。梯度下降法演算法用梯度乘以一個稱為學習速率(有時也稱為步長)的標量,以確定下一個點的位置。例如,如果梯度大小為 2.5,學習速率為 0.01,則梯度下降法演算法會選擇距離前一個點 0.025 的位置作為下一個點。

超引數是程式設計人員在機器學習演算法中用於調整的旋鈕。大多數機器學習程式設計人員會花費相當多的時間來調整學習速率。如果您選擇的學習速率過小,就會花費太長的學習時間: 在這裡插入圖片描述 圖 6. 學習速率過小。

相反,如果您指定的學習速率過大,下一個點將永遠在 U 形曲線的底部隨意彈跳,就好像量子力學實驗出現了嚴重錯誤一樣: 在這裡插入圖片描述 圖 7. 學習速率過大。

每個迴歸問題都存在一個金髮姑娘學習速率。“金髮姑娘”值與損失函式的平坦程度相關。如果您知道損失函式的梯度較小,則可以放心地試著採用更大的學習速率,以補償較小的梯度並獲得更大的步長。

在這裡插入圖片描述 圖 8. 學習速率恰恰好。

理想的學習速率 一維空間中的理想學習速率是 (f(x) 對 x 的二階導數的倒數)。 二維或多維空間中的理想學習速率是海森矩陣(由二階偏導陣列成的矩陣)的倒數。 廣義凸函式的情況則更為複雜。