作者|PHANI8
編譯|VK
來源|Analytics Vidhya
介紹
在這篇文章中,我們將了解什么是真正的梯度下降,為什么它變得流行,為什么AI和ML中的大多數演算法都遵循這種技術,
在開始之前,梯度下降實際上意味著什么?聽起來很奇怪對吧!
柯西是1847年第一個提出梯度下降的人
嗯,梯度這個詞的意思是一個性質的增加和減少!而下降意味著向下移動的動作,所以,總的來說,在下降到某個地方然后觀察并且繼續下降的行為被稱為梯度下降

所以,在正常情況下,如圖所示,山頂的坡度很高,通過不斷的移動,當你到達山腳時的坡度最小,或者接近或等于零,同樣的情況在數學上也適用,
讓我們看看怎么做
梯度下降數學

所以,如果你看到這里的形狀和這里的山是一樣的,我們假設這是一條形式為y=f(x)的曲線,
這里我們知道,任何一點上的斜率都是y對x的導數,如果你用曲線來檢查,你會發現,當向下移動時,斜率在尖端或最小位置減小并等于零,當我們再次向上移動時,斜率會增加
記住這一點,我們將研究在最小點處x和y的值會發生什么,
觀察下圖,我們有不同位置的五個點!
.png)
當我們向下移動時,我們會發現y值會減小,所以在這里的所有點中,我們在圖的底部得到了相對最小的值,因此,我們的結論是我們總是在圖的底部找到最小值(x,y),現在讓我們看看如何在ML和DL中傳遞這個,以及如何在不遍歷整個圖的情況下達到最小點?
在任何一種演算法中,我們的主要目的是最小化損失,這表明我們的模型表現良好,為了分析這一點,我們將使用線性回歸

因為線性回歸使用直線來預測連續輸出-
設直線y=w*x+c
這里我們需要找到w和c,這樣我們就得到了使誤差最小化的最佳擬合線,所以我們的目標是找到最佳的w和c值
我們從一些隨機值開始w和c,我們根據損失更新這些值,也就是說,我們更新這些權重,直到斜率等于或接近于零,
我們將取y軸上的損失函式,x軸上有w和c,查看下圖-
.png)
為了在第一個圖中達到最小的w值,請遵循以下步驟-
-
用w和c開始計算給定的一組x _values的損失,
-
繪制點,現在將權重更新為-
w_new =w_old – learning_rate * slope at (w_old,loss)
重復這些步驟,直到達到最小值!
-
我們在這里減去梯度,因為我們想移到山腳下,或者朝著最陡的下降方向移動
-
當我們減去后,我們會得到一個比前一個小的斜率,這就是我們想要移動到斜率等于或接近于零的點
-
我們稍后再討論學習率
這同樣適用于圖2,即損失和c的函式

現在的問題是為什么要把學習率放在等式中?因為我們不能在起點和最小值之間遍歷所有的點
我們需要跳過一些點
-
我們可以在最初階段采取大步行動,
-
但是,當我們接近最小值時,我們需要小步走,因為我們可能會越過最小值,移動到一個斜坡的地方增加,為了控制圖的步長和移動,引入了學習速率,即使沒有學習速率,我們也會得到最小值,但我們關心的是我們的演算法要更快!!
.png)
下面是一個使用梯度下降的線性回歸的示例演算法,這里我們用均方誤差作為損失函式-
1.用零初始化模型引數
m=0,c=0
2.使用(0,1)范圍內的任何值初始化學習速率
lr=0.01
誤差方程-
.png)
現在用(w*x+c)代替Ypred并計算偏導
.png)
3.c也一樣可以計算得出
.png)
4.將此應用于所有epoch的資料集
for i in range(epochs):
y_pred = w * x +c
D_M = (-2/n) * sum(x * (y_original - y_pred))
D_C = (-2/n) * sum(y_original - y_pred)
這里求和函式一次性將所有點的梯度相加!
更新所有迭代的引數
W = W – lr * D_M
C = C – lr * D_C
梯度下降法用于神經網路的深度學習…

在這里,我們更新每個神經元的權值,以便在最小誤差的情況下得到最佳分類,我們使用梯度下降法來更新每一層的所有權值…
Wi = Wi – learning_rate * derivative (Loss function w.r.t Wi)
為什么它受歡迎?
梯度下降是目前機器學習和深度學習中最常用的優化策略,
它用于訓練資料模型,可以與各種演算法相結合,易于理解和實作
許多統計技術和方法使用GD來最小化和優化它們的程序,
參考參考
- https://en.wikipedia.org/wiki/Gradient_descent
- https://en.wikipedia.org/wiki/Stochastic_gradient_descent
原文鏈接:https://www.analyticsvidhya.com/blog/2020/10/what-does-gradient-descent-actually-mean/
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/200503.html
標籤:其他
下一篇:VM共享檔案夾設定
