訂閱
糾錯
加入自媒體

技術(shù)分析:如何理解梯度下降算法

介紹

在這篇文章中,我們將了解什么是真正的梯度下降法,為什么它成為非常流行的機器學習算法,為什么AI和ML中的大多數(shù)算法都遵循這種技術(shù)。

柯西在1847年提出了梯度下降算法,是第一個提出梯度下降的人,

梯度這個詞的意思是一個性質(zhì)的增加和減少!而下降意味著向下移動的動作,所以,總的來說,先下降到某個地方,然后觀察并且繼續(xù)下降的行為被稱為梯度下降

所以,在正常情況下,如圖所示,山頂?shù)钠露群芨?通過不斷的移動,當你到達山腳時的坡度最小,或者接近或等于零,同樣的情況在數(shù)學上也適用。

讓我們看看怎么做

在數(shù)學上的梯度下降

我們假設這是一條形式為y=f(x)的曲線。

曲線上,任何一點上的斜率都是y對x的導數(shù),當向下移動時,斜率在尖端或最小位置減小并等于零,當我們再次向上移動時,斜率會增加

記住這一點,我們將研究在最小點處x和y的值會發(fā)生什么,

觀察下圖,我們有不同位置的五個點!

當我們向下移動時,我們會發(fā)現(xiàn)y值會減小,所以在這里的所有點中,我們在圖的底部得到了相對最小的值,因此,我們的結(jié)論是我們總是在圖的底部找到最小值(x,y)。現(xiàn)在讓我們看看如何在ML和DL中實現(xiàn)這個過程,以及如何在不遍歷整個圖的情況下達到最小點?

在任何一種優(yōu)化算法中,我們的主要目的是最小化損失,這才能使我們的模型表現(xiàn)更好。為了分析這一點,我們將使用線性回歸

因為線性回歸使用直線來預測連續(xù)輸出-

設直線為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)

重復這些步驟,直到達到最小值!

我們在這里減去梯度,因為我們想移到山腳下,或者朝著最陡的下降方向移動

當我們減去梯度后,我們會得到一個比前一個小的斜率,這就是我們想要移動到斜率等于或接近于零的點

我們稍后再討論學習率

這同樣適用于圖2,即損失和c的函數(shù)


現(xiàn)在的問題是為什么要把學習率放在等式中?這是因為我們不能在起點和最小值之間遍歷所有的點

我們需要跳過一些點

我們可以在最初階段采取大步行動。

但是,當我們接近最小值時,我們需要小步走,因為我們可能會越過最小值。為了控制步長和移動,引入了學習速率。即使沒有學習速率,我們也會得到最小值,但我學習速率可以讓我們的算法更快!!

下面是一個使用梯度下降的線性回歸的示例算法。這里我們用均方誤差作為損失函數(shù)-

1.用零初始化模型參數(shù)

m=0,c=0

2.使用(0,1)范圍內(nèi)的任何值初始化學習速率

lr=0.01

誤差方程-

現(xiàn)在用(w*x+c)代替Ypred并計算偏導

3.c也一樣可以計算得出

4.將此應用于所有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)絡的深度學習…

在這里,我們更新每個神經(jīng)元的權(quán)值,以便在最小誤差的情況下得到最佳分類。我們使用梯度下降法來更新每一層的所有權(quán)值…

Wi = Wi – learning_rate * derivative (Loss function w.r.t Wi)

為什么它受歡迎?

梯度下降是目前機器學習和深度學習中最常用的優(yōu)化策略。

它用于訓練數(shù)據(jù)模型,可以與各種算法相結(jié)合,易于理解和實現(xiàn)

許多統(tǒng)計技術(shù)和方法使用GD來最小化和優(yōu)化它們的計算過程。

圖片標題

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

發(fā)表評論

0條評論,0人參與

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

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

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

暫無評論

暫無評論

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

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