日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

梯度下降和随机梯度下降为什么能下降?

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 梯度下降和随机梯度下降为什么能下降? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


梯度下降和隨機梯度下降為什么能下降?

標簽: 深度學習梯度下降SGD 663人閱讀 評論(1) 收藏 舉報 本文章已收錄于: 分類: Deep Learning(7) 作者同類文章X

    首先,我們假設cost function為:


    其中,w,b為網絡參數,x為訓練樣本,n為樣本數量,y(x)為x的標簽,a為網絡輸出。

    我們訓練的目的就是讓cost function取得最小。為了看起來方便,我們令,則:

    ? ? ? ? (1)

    為了方便理解,我們先假設v只有2維,我們要做的就是通過不斷調整使得最小。可以通過下圖理解,我們為小球選擇一個方向,讓它往下滾,直到小球滾到“山谷”。


    我們令在方向改變,在方向改變,由微積分知識可知:

    ? ? ? ? ? (2)

    即每次改變,改變后為。為了使不斷變小,必須為負。

    令, ? ? ? ? ? ? (3)

    ? ?? ? ? ? ? ? ?(4) ? ? ? ?

    (注意這里的上三角和下三角)

    ? 則由(2)、(3)、(4)有:?

    ?? ? ? ? ? ? ? ? ? ? ? ? ? (5)

    我們的目標是讓為負,假設:

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)

    其中是一個很小的正數(實際上就是我們所說的學習率),那么,由(5)和(6):

    ??? ? ? ?(7)

    由于,所以,那么,就會一直往減小的方向走,即小球一直往“山谷”滾下去。

    我們訓練的目的是得到模型參數,由(6)知的更新公式為:

    ? ? ? ? ? ? ? ? ? (8)

    如果將重新看成,那么:

    ? ? ? (9)

    ? ? ? ? ? ? ? ? (10)

    通過不斷計算,更新參數?,最終得到最小(或足夠小)。




    實際應用中,應用梯度下降存在很多難題。我們回到cost function:

    ,我們寫成這個形式:

    ? ? ? ? ? ? ? ? ? ? ? ? ? ?(11)

    也就是說:

    ? ? ? ? ? ? ? (12)

    其中(12)是對于其中一個訓練樣本而言的cost funtion。

    為了計算,我們要對每一個樣本計算,然后,計算平均:


    ? ? ? ? ? ? ? ? (13)

    因此,當訓練樣本很多時,計算(13)要很長時間。


    由此引出的一個想法叫隨機梯度下降(stochastic gradient descent,SGD),它能加快學習的速度。

    這個想法的idea是在訓練樣本中隨機的選擇一批樣本,然后通過該批樣本的各,通過(13)計算。

    (此時公式(13)中的n為該批樣本的數量)。


    為了使隨機梯度下降法更有效,SGD隨機選擇訓練樣本中的一個小樣本集,大小為m,我們記這些樣本為:

    。這樣一批樣本稱為mini-batch。

    假設m足夠大,那么的平均大約等于的平均,即:

    ? ? ? (14)

    其中第二項的n為訓練樣本總數,由此可得:

    ? ? ? ? ? ? ? ?(15)

    那么,w和b的更新公式變為:

    ? ? (16)

    ? ? ? ? ? ? ? (17)

    訓練完一個mini-batch后,就取另一個mini-batch,直到訓練完整個訓練集,這就是一個epoch。

    有時候,我們可能不知道樣本數量n(或者m),我們可以不求平均,直接用和計算。我們看(16)和(17),去掉m實際上可以看作增大學習率。實際應用中那個效果更好看具體問題而定。

    最后,我們總結一下隨機梯度下降的過程:

    (1)初始化網絡參數;

    (2)在訓練集中取mini-batch,計算,;

    (3)由公式(16)和(17)更新參數w,b;

    (4)重復(2)-(3),直到C最小(足夠小);


    更多知識可以參考這里。

    總結

    以上是生活随笔為你收集整理的梯度下降和随机梯度下降为什么能下降?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。