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

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書(shū)】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開(kāi)始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 4 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來(lái)商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開(kāi)成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?