梯度下降:
首先來看看梯度下降的一個(gè)直觀的解釋。比如我們?cè)谝蛔笊缴系哪程幬恢?,由于我們不知道怎么下山,于是決定走一步算一步,也就是在每走到一個(gè)位置的時(shí)候,求解當(dāng)前位置的梯度,沿著梯度的負(fù)方向,也就是當(dāng)前最陡峭的位置向下走一步,然后繼續(xù)求解當(dāng)前位置梯度,向這一步所在位置沿著最陡峭最易下山的位置走一步。這樣一步步的走下去,一直走到覺得我們已經(jīng)到了山腳。當(dāng)然這樣走下去,有可能我們不能走到山腳,而是到了某一個(gè)局部的山峰低處。
從上面的解釋可以看出,梯度下降不一定能夠找到全局的最優(yōu)解,有可能是一個(gè)局部最優(yōu)解。當(dāng)然,如果損失函數(shù)是凸函數(shù),梯度下降法得到的解就一定是全局最優(yōu)解。

這一過程形象的描述了梯度下降法求解無約束最優(yōu)化問題的過程,下面我們將例子里的關(guān)鍵信息與梯度下降法中的關(guān)鍵信息對(duì)應(yīng)起來:山代表了需要優(yōu)化的函數(shù)表達(dá)式;山的最低點(diǎn)就是該函數(shù)的最優(yōu)值,也就是我們的目標(biāo);每次下山的距離代表后面要解釋的學(xué)習(xí)率;尋找方向利用的信息即為樣本數(shù)據(jù);最陡峭的下山方向則與函數(shù)表達(dá)式梯度的方向有關(guān),之所以要尋找最陡峭的方向,是為了滿足最快到達(dá)山底的限制條件;細(xì)心的讀者可能已經(jīng)發(fā)現(xiàn)上面還有一處加粗的詞組:某處——代表了我們給優(yōu)化函數(shù)設(shè)置的初始值,算法后面正是利用這個(gè)初始值進(jìn)行不斷的迭代求出最優(yōu)解。
看到這里大家應(yīng)該會(huì)發(fā)現(xiàn)這樣一個(gè)問題:在選擇每次行動(dòng)的距離時(shí),如果所選擇的距離過大,則有可能偏離最陡峭的方向,甚至已經(jīng)到達(dá)了最低點(diǎn)卻沒有停下來,從而跨過最低點(diǎn)而不自知,一直無法到達(dá)山底;如果距離過小,則需要頻繁尋找最陡峭的方向,會(huì)非常耗時(shí)。要知道,每次尋找最陡峭的方向是非常復(fù)雜的!同樣的,梯度下降法也會(huì)面臨這個(gè)問題,因此需要我們找到最佳的學(xué)習(xí)率,在不偏離方向的同時(shí)耗時(shí)最短。

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。








暫無數(shù)據(jù)