全部課程
發(fā)布時間: 2020-06-29 10:40:54
?【人工智能】機器學(xué)習(xí)訓(xùn)練方法—梯度下降?
在機器學(xué)習(xí)領(lǐng)域中,如要說哪一個優(yōu)化算法最廣為認(rèn)知,用途最廣的,那這個算法非梯度下降算法莫屬。梯度下降算法是一種非常經(jīng)典的求極小值的算法。例如:在線性回歸里面我們可以通過使用最小二乘法解析最優(yōu)解,但是在解析過程中存在的一些問題卻讓人覺得非常的難受。而且無論是使用L1正則化還是L2正則化,它們得到的結(jié)果并不是讓人很滿意。
梯度下降的優(yōu)化思想是利用當(dāng)前位置負(fù)梯度的方向作為搜索方向,該方向作為當(dāng)前位置最快的下降方向,梯度下降中越接近目標(biāo)值,變化量越小,梯度下降的公式如下:
?
其中,η成為學(xué)習(xí)率,i表示第i條數(shù)據(jù)。權(quán)重參數(shù)w每次迭代變化的大小。
收斂:目標(biāo)函數(shù)的值變化非常小或達到到較大的迭代次數(shù)
梯度下降方法,我們就可以把其理解成一站在山頂上的人,要下山一樣,比如下圖中紅色的地方作為山頂,是我們的起始的地方,藍色的地方作為山腳。那么我們怎么才能到達藍色的區(qū)域呢?根據(jù)梯度下降的思想,應(yīng)該是這樣的:
第一步、我們首先要找到自己所在的位置,只有這樣才能確定往下走的方向
第二步、找到從自己所在的位置到藍色區(qū)域的最快路線
第三步、然后沿著第二步找到的路線,然后往下走出一小步,這時候我們處于一個新的位置
第四步、重復(fù)前面幾步
第五步、到底藍色區(qū)域
?
當(dāng)然,通過上圖我們也可以看到,下山的路并不止一條,只是因為上圖這不是一個標(biāo)準(zhǔn)的凸函數(shù),這種情況下,我們往往找到的是局部最優(yōu)解。所以在剛開始的時候,你可以從不同的位置上去嘗試不同的下山路徑,尋找更小的極小值點。如果函數(shù)是一個標(biāo)準(zhǔn)的凸函數(shù),那么你要做的只需要往一個方向進行梯度下降即可,例如下面這種
?
梯度下降訓(xùn)練方法可以分為以下幾種:
l 批量梯度下降(BGD),使用所有數(shù)據(jù)集中的樣本(共m個樣本)在當(dāng)前點的梯度之和來對權(quán)重參數(shù)進行更新操作。
l 隨機梯度下降(SGD),隨機選取一個數(shù)據(jù)集中的樣本在當(dāng)前的梯度來對權(quán)重參數(shù)進行更新操作
l 小批量梯度下降(MBGD),結(jié)合BGD與SGD的特性,每次選擇數(shù)據(jù)集中n個樣本的梯度來對權(quán)重參數(shù)進行更新操作。
上一篇: 云計算存儲虛擬化之virtio