訂閱
糾錯
加入自媒體

機器學(xué)習(xí)算法:梯度下降算法背后的工作原理

介紹梯度下降算法是工業(yè)中最常用的機器學(xué)習(xí)算法之一,但也是很多新手難以理解的算法之一。如果你剛剛接觸機器學(xué)習(xí),那么梯度下降算法背后的數(shù)學(xué)原理是比較難理解的。

在本文中,我將幫助你了解梯度下降算法背后的工作原理。我們會了解損失函數(shù)的作用,梯度下降的工作原理,以及如何選擇學(xué)習(xí)參數(shù)。什么是損失函數(shù)?它是一個函數(shù),用于衡量模型對任何給定數(shù)據(jù)的性能。損失函數(shù)將預(yù)測值與期望值之間的誤差進(jìn)行量化,并以單個實數(shù)的形式表示出來。在對初始參數(shù)進(jìn)行假設(shè)后,我們會計算了損失函數(shù),以降低損失函數(shù)為目標(biāo),利用梯度下降算法對給定數(shù)據(jù)進(jìn)行參數(shù)修正。下面是它的數(shù)學(xué)表示:

什么是梯度下降假設(shè)你在玩一個游戲,玩家在山頂,他們要求到達(dá)山的最低點,此外,他們還蒙著眼睛,那么,你認(rèn)為怎樣才能到達(dá)最低點呢?最好的辦法是觀察地面,找出地面下降的地方,從這個位置開始,向下降方向邁出一步,重復(fù)這個過程,直到到達(dá)最低點。

梯度下降法是一種求解函數(shù)局部極小值的迭代優(yōu)化算法。要用梯度下降法求函數(shù)的局部極小值,必須選擇與當(dāng)前點處函數(shù)的負(fù)梯度(遠(yuǎn)離梯度)方向。如果我們采取與梯度的正方向,我們將接近函數(shù)的局部極大值,這個過程稱為梯度上升。梯度下降最初是由柯西在1847年提出的,它也被稱為最速下降。

梯度下降算法的目標(biāo)是最小化給定函數(shù)(比如損失函數(shù))。為了實現(xiàn)這一目標(biāo),它迭代地執(zhí)行兩個步驟:計算梯度(斜率),函數(shù)在該點的一階導(dǎo)數(shù)在與梯度相反的方向上移動一步(移動)

Alpha被稱為學(xué)習(xí)率-優(yōu)化過程中的一個調(diào)整參數(shù),它決定了步長。繪制梯度下降算法當(dāng)我們有一個單一的參數(shù)(θ),我們可以在y軸上繪制因變量損失值,并在x軸上繪制θ。如果有兩個參數(shù),我們可以進(jìn)行三維繪圖,其中一個軸上有損失值,另兩個軸上有兩個參數(shù)(θ)。

它也可以通過使用等高線來可視化,這會顯示一個二維的三維繪圖,其中包括沿兩個軸的參數(shù)和等高線的響應(yīng)值。遠(yuǎn)離中心的響應(yīng)值增加,并且隨著環(huán)的增加而增加。

α-學(xué)習(xí)率有了前進(jìn)的方向之后,現(xiàn)在我們必須決定我們要采取的步大小。必須謹(jǐn)慎選擇,以達(dá)到局部最小值。如果學(xué)習(xí)率太高,我們可能會超過最小值,而不會達(dá)到最小值如果學(xué)習(xí)率太低,訓(xùn)練時間可能會太長

a) 學(xué)習(xí)率最優(yōu),模型收斂到最小b) 學(xué)習(xí)速度太小,需要更多的時間,但會收斂到最小值c) 學(xué)習(xí)率高于最優(yōu)值,較慢速度的收斂(1/c<η<2/c)d) 學(xué)習(xí)率非常大,它會過度偏離,偏離最小值,學(xué)習(xí)性能下降

注:隨著梯度減小而向局部最小值移動,步長減小,因此,學(xué)習(xí)速率(alpha)可以在優(yōu)化過程中保持不變,而不需要迭代地改變。局部最小值成本函數(shù)可以由許多最小點組成。梯度可以落在任何一個極小值上,這取決于初始點(即初始參數(shù)θ)和學(xué)習(xí)速率,因此,在不同的起點和學(xué)習(xí)率下,優(yōu)化可以收斂到不同的點。

梯度下降的Python代碼實現(xiàn)

結(jié)尾一旦我們調(diào)整了學(xué)習(xí)參數(shù)(alpha)并得到了最優(yōu)的學(xué)習(xí)速率,我們就可以開始迭代了,直到我們收斂到局部最小值。參考鏈接:https://www.a(chǎn)nalyticsvidhya.com/blog/2020/10/how-does-the-gradient-descent-algorithm-work-in-machine-learning/

☆ END ☆

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號