首頁 >常見問題 >梯度下降原理

梯度下降原理

(*-*)浩
(*-*)浩原創
2019-07-09 13:36:097655瀏覽

梯度法思想的三要素:出發點、下降方向、下降步長。

梯度下降原理

機器學習中常用的權重更新表達式為(建議學習:Python影片教學

:,這裡的λ就是學習率,本文從這個式子出發來把機器學習中的各種「梯度」下降法闡釋清楚。

機器學習目標函數,通常都是凸函數,什麼叫凸函數?

限於篇幅,我們不做很深的展開,在這兒我們做一個形象的比喻,凸函數求解問題,可以把目標損失函數想像成一口鍋,來找到這個鍋的鍋底。 非常直覺的想法就是,我們沿著初始某一點的函數的梯度方嚮往下走(即梯度下降)。在這兒,我們再作個形象的類比,如果把這個走法類比為力,那麼完整的三要素就是步長(走多少)、方向、出發點,這樣形象的比喻,讓我們對梯度問題的解決豁然開朗,出發點很重要,是初始化時重點要考慮的,而方向、步長就是關鍵。 事實上不同梯度的差異就在於這兩點的不同!

梯度方向是

梯度下降原理

#,步長設為常數Δ,這時就會發現,如果用在梯度較大的時候,離最優解比較遠,W的更新比較快;然而到了梯度較小的時候,也就是較靠近最優解的時候,W的更新竟然也保持著跟原來一樣的速率,這樣會導致W很容易更新過度反而遠離了最優解,進而出現在最優解附近來回震盪。所以,既然在遠離最優解的時候梯度大,在靠近最優解的時候梯度小,我們讓步長隨著這個律動,於是我我們就用λ|W|來代替Δ,最後得到了我們熟悉的式子:#​​

梯度下降原理

##所以說這時的λ是隨著坡度的陡緩而改變的,別看它是個常數。

更多Python相關技術文章,請造訪

Python教學欄位學習!

以上是梯度下降原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn