技術(shù)分析:如何理解梯度下降算法
介紹
在這篇文章中,我們將了解什么是真正的梯度下降法,為什么它成為非常流行的機器學(xué)習(xí)算法,為什么AI和ML中的大多數(shù)算法都遵循這種技術(shù)。
柯西在1847年提出了梯度下降算法,是第一個提出梯度下降的人,
梯度這個詞的意思是一個性質(zhì)的增加和減少!而下降意味著向下移動的動作,所以,總的來說,先下降到某個地方,然后觀察并且繼續(xù)下降的行為被稱為梯度下降
所以,在正常情況下,如圖所示,山頂?shù)钠露群芨?通過不斷的移動,當你到達山腳時的坡度最小,或者接近或等于零,同樣的情況在數(shù)學(xué)上也適用。
讓我們看看怎么做
在數(shù)學(xué)上的梯度下降
我們假設(shè)這是一條形式為y=f(x)的曲線。
曲線上,任何一點上的斜率都是y對x的導(dǎo)數(shù),當向下移動時,斜率在尖端或最小位置減小并等于零,當我們再次向上移動時,斜率會增加
記住這一點,我們將研究在最小點處x和y的值會發(fā)生什么,
觀察下圖,我們有不同位置的五個點!
當我們向下移動時,我們會發(fā)現(xiàn)y值會減小,所以在這里的所有點中,我們在圖的底部得到了相對最小的值,因此,我們的結(jié)論是我們總是在圖的底部找到最小值(x,y)。現(xiàn)在讓我們看看如何在ML和DL中實現(xiàn)這個過程,以及如何在不遍歷整個圖的情況下達到最小點?
在任何一種優(yōu)化算法中,我們的主要目的是最小化損失,這才能使我們的模型表現(xiàn)更好。為了分析這一點,我們將使用線性回歸
因為線性回歸使用直線來預(yù)測連續(xù)輸出-
設(shè)直線為y=w*x+c
這里我們需要得到w和c的值,才能得到使誤差最小化的最佳擬合線,所以我們的目標是找到最佳的w和c值
我們先把w和c初始化為隨機值,我們根據(jù)損失更新w和c的值,也就是說,我們更新這些權(quán)重,直到斜率等于或接近于零。
我們將取y軸上的損失函數(shù),x軸上有w和c。查看下圖
為了在第一個圖中達到最小的w值,請遵循以下步驟-
用w和c計算給定的一組x _values的損失。
繪制點,現(xiàn)在將權(quán)重更新為-
w_new =w_old – learning_rate * slope at (w_old,loss)
重復(fù)這些步驟,直到達到最小值!
我們在這里減去梯度,因為我們想移到山腳下,或者朝著最陡的下降方向移動
當我們減去梯度后,我們會得到一個比前一個小的斜率,這就是我們想要移動到斜率等于或接近于零的點
我們稍后再討論學(xué)習(xí)率
這同樣適用于圖2,即損失和c的函數(shù)
現(xiàn)在的問題是為什么要把學(xué)習(xí)率放在等式中?這是因為我們不能在起點和最小值之間遍歷所有的點
我們需要跳過一些點
我們可以在最初階段采取大步行動。
但是,當我們接近最小值時,我們需要小步走,因為我們可能會越過最小值。為了控制步長和移動,引入了學(xué)習(xí)速率。即使沒有學(xué)習(xí)速率,我們也會得到最小值,但我學(xué)習(xí)速率可以讓我們的算法更快!!
下面是一個使用梯度下降的線性回歸的示例算法。這里我們用均方誤差作為損失函數(shù)-
1.用零初始化模型參數(shù)
m=0,c=0
2.使用(0,1)范圍內(nèi)的任何值初始化學(xué)習(xí)速率
lr=0.01
誤差方程-
現(xiàn)在用(w*x+c)代替Ypred并計算偏導(dǎo)
3.c也一樣可以計算得出
4.將此應(yīng)用于所有epoch的數(shù)據(jù)集
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)
這里求和函數(shù)一次性將所有點的梯度相加!
更新所有迭代的參數(shù)
W = W – lr * D_M
C = C – lr * D_C
梯度下降法用于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)…
在這里,我們更新每個神經(jīng)元的權(quán)值,以便在最小誤差的情況下得到最佳分類。我們使用梯度下降法來更新每一層的所有權(quán)值…
Wi = Wi – learning_rate * derivative (Loss function w.r.t Wi)
為什么它受歡迎?
梯度下降是目前機器學(xué)習(xí)和深度學(xué)習(xí)中最常用的優(yōu)化策略。
它用于訓(xùn)練數(shù)據(jù)模型,可以與各種算法相結(jié)合,易于理解和實現(xiàn)
許多統(tǒng)計技術(shù)和方法使用GD來最小化和優(yōu)化它們的計算過程。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語權(quán)
- 3 深度報告|中國AI產(chǎn)業(yè)正在崛起成全球力量,市場潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級獨角獸:獲上市公司戰(zhàn)投,干人形機器人
- 5 國家數(shù)據(jù)局局長劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機器人致命短板曝光:頭腦過于簡單
- 10 一文看懂視覺語言動作模型(VLA)及其應(yīng)用