梯度下降的引數更新公式是如何確定的?

時間 2021-06-02 20:49:59

1樓:溫浩

正向層層訓練,反向層層傳求導,千辛萬苦求出的偏導數,最終想得到的只是它的正負。就好像我們人生中遇到的每個關口,我們需要的也只是乙個方向:前進還是後退,其實正是這一次次的簡單的正負號,決定了我們自己的損失函式---人生的高度。

2樓:老董

這裡我相信題主對梯度下降法的整體理念是認可的,只是不清楚這個更新公式的實質含義。

首先這個梯度更新公式確實不是推導而是創造出來的,所以只能從概念上去理解。

設想下有個函式,你的目標是:找到乙個引數 使得它的值 最小。但它很複雜,你無法找到這個引數的解析解,所以你希望通過梯度下降法去猜這個引數。 問題是怎麼猜?

對於多數有連續性的函式來說,顯然不可能把每個 都試一遍。所以只能先隨機取乙個 ,然後看看怎麼調整它最有可能使得 變小。把這個過程重複n遍,自然最後得到的 的估值會越來越小。

現在問題是怎麼調整?既然要調整,肯定是基於當前我們擁有的那個引數 ,所以有了:

那現在問題是每次更新的時候這個 應該取什麼值?

我們知道關於某變數的(偏)導數的概念是指當(僅僅)該變數往正向的變化量趨向於0時的其函式值變化量的極限。所以現在若求 關於的導數,得到乙個值比如:5,那就說明若現在我們把 往正向(即增大)一點點, 的值會變大,但不一定是正好+5。

同理若現在導數是-5,那麼把 增大一點點 值會變小。 這裡我們發現不管導數值 是正的還是負的(正負即導數的方向),對於 來說,的最終方向(即最終的正負號,決定是增(+)還是減(-))一定是能將Y值變小的方向(除非導數為0)。所以有了:

但是說到底, 的絕對值只是個關於Y的變化率,本質上和 沒關係。所以為了抹去 在幅度上對 的影響,需要乙個學習率來控制: 。所以有了:

而這裡的 就是你1式中的那個偏導,而對於2式,就是有多少個引數,就有多少個不同的 。

現在分析在梯度下降法中最常聽到的一句話:「梯度下降法就是朝著梯度的反方向迭代地調整引數直到收斂。」這裡的梯度就是 ,而梯度的反方向就是 的符號方向---梯度實際上是個向量。

所以這個角度來說,即使我們只有乙個引數需要調整,也可以認為它是個一維的向量。整個過程你可以想象自己站在乙個山坡上,準備走到山腳下(最小值的地方),於是很自然地你會考慮朝著哪個方向走,方向由方向給出,而至於一次走多遠,由 來控制。 這種方式相信你應該能理解其只能找到區域性最小值,而不是全域性的。

參考:

[機器學習] ML重要概念:梯度(Gradient)與梯度下降法(Gradient Descent)

五步解析機器學習難點—梯度下降

3樓:

可以說引數更新公式是人為設定的,並不是由其他式子推導而來,而是根據梯度下降理論來的:要最小化目標函式,就要沿著梯度的負方向去迭代地更新目標函式的引數 theta ,再設定乙個步長α,就得到了上面那些引數更新公式。如果還不明白,那就是沒弄明白梯度的概念,去複習下:)

梯度提公升樹採用的是梯度下降法嗎?

雜言 是的,巨集觀來看是這樣的。GBDT的過程有點像神經網路的梯度下降到達最值,只要把神經網路的負梯度更新引數視為函式 基分類器 完成即可。另外,我覺得其實名字很迷惑,我當時還覺得明明是梯度下降的思想,為什麼要用梯度提公升樹這個名字?我感覺梯度提公升樹,應該是指使用梯度的提公升樹,所以梯度提公升樹準...

隨機梯度下降是座標下降的一種?

Garden Fai 單純的梯度下降演算法是收斂於部分最優解的,假如要求完成大局最優解的話可以考慮加入退火演算法或許遺傳演算法之類的思維,簡單說就是在查詢過程中不光有根據梯度下降的方向,一起也融入少數的逆向查詢,終究設定乙個收斂域即可。函式的梯度是指它在這一點處增加最快的方向,明顯負梯度方向就是下降...

梯度下降法是萬能的模型訓練演算法嗎?

螃蟹貓 梯度下降是最優化最基本的方法。機器學習把問題抽象為最優化問題。因此你覺得梯度下降成了機器學習的萬能方法。然而,就像梯度下降的缺點一樣,你這個 覺得 很可能是個區域性最優。 田star 並不是。如果有梯度的資訊,有限記憶體BFGS是更好的辦法!而且所謂的學習率,如果不是凸問題就不能設定為常數,...