機(jī)器學(xué)習(xí)中牛頓法凸優(yōu)化的通俗解釋

之前,我發(fā)過(guò)一篇文章裆装,通俗地解釋了梯度下降算法的數(shù)學(xué)原理和推導(dǎo)過(guò)程踱承,推薦一看倡缠。鏈接如下:

簡(jiǎn)單的梯度下降算法,你真的懂了嗎茎活?

我們知道昙沦,梯度下降算法是利用梯度進(jìn)行一階優(yōu)化,而今天我介紹的牛頓優(yōu)化算法采用的是二階優(yōu)化载荔。本文將重點(diǎn)講解牛頓法的基本概念和推導(dǎo)過(guò)程盾饮,并將梯度下降與牛頓法做個(gè)比較。

1.?牛頓法求解方程的根

有時(shí)候懒熙,在方程比較復(fù)雜的情況下丘损,使用一般方法求解它的根并不容易。牛頓法通過(guò)迭代的方式和不斷逼近的思想工扎,可以近似求得方程較為準(zhǔn)確的根徘钥。

牛頓法求根的核心思想是泰勒一階展開。例如對(duì)于方程 f(x) = 0肢娘,我們?cè)谌我庖稽c(diǎn) x0 處呈础,進(jìn)行一階泰勒展開:

令 f(x) = 0,帶入上式橱健,即可得到:


注意而钞,這里使用了近似,得到的 x 并不是方程的根畴博,只是近似解笨忌。但是,x 比 x0 更接近于方程的根俱病。效果如下圖所示:

然后官疲,利用迭代方法求解,以 x 為 x0亮隙,求解下一個(gè)距離方程的根更近的位置途凫。迭代公式可以寫成:

經(jīng)過(guò)一定次數(shù)的有效迭代后,一般都能保證在方程的根處收斂溢吻。下面給出整個(gè)迭代收斂過(guò)程的動(dòng)態(tài)演示维费。

2.?牛頓法凸優(yōu)化

上一部分介紹牛頓法如何求解方程的根,這一特性可以應(yīng)用在凸函數(shù)的優(yōu)化問題上促王。

機(jī)器學(xué)習(xí)犀盟、深度學(xué)習(xí)中,損失函數(shù)的優(yōu)化問題一般是基于一階導(dǎo)數(shù)梯度下降的∮牵現(xiàn)在阅畴,從另一個(gè)角度來(lái)看,想要讓損失函數(shù)最小化迅耘,這其實(shí)是一個(gè)最值問題贱枣,對(duì)應(yīng)函數(shù)的一階導(dǎo)數(shù) f'(x) = 0监署。也就是說(shuō),如果我們找到了能讓 f'(x) = 0 的點(diǎn) x纽哥,損失函數(shù)取得最小值钠乏,也就實(shí)現(xiàn)了模型優(yōu)化目標(biāo)。

現(xiàn)在的目標(biāo)是計(jì)算 f'(x) = 0 對(duì)應(yīng)的 x春塌,即 f'(x) = 0 的根晓避。轉(zhuǎn)化為求根問題,就可以利用上一節(jié)的牛頓法了摔笤。

與上一節(jié)有所不同够滑,首先,對(duì) f(x) 在 x0 處進(jìn)行二階泰勒展開:

上式成立的條件是 f(x) 近似等于 f(x0)吕世。令 f(x) = f(x0)彰触,并對(duì) (x - x0) 求導(dǎo),可得:

同樣命辖,雖然 x 并不是最優(yōu)解點(diǎn)况毅,但是 x 比 x0 更接近f'(x) = 0 的根。這樣尔艇,就能得到最優(yōu)化的迭代公式:

通過(guò)迭代公式尔许,就能不斷地找到 f'(x) = 0 的近似根,從而也就實(shí)現(xiàn)了損失函數(shù)最小化的優(yōu)化目標(biāo)终娃。

3.?梯度下降 VS 牛頓法

現(xiàn)在味廊,分別寫出梯度下降和牛頓法的更新公式:

梯度下降算法是將函數(shù)在 xn 位置進(jìn)行一次函數(shù)近似,也就是一條直線棠耕。計(jì)算梯度余佛,從而決定下一步優(yōu)化的方向是梯度的反方向。而牛頓法是將函數(shù)在 xn 位置進(jìn)行二階函數(shù)近似窍荧,也就是二次曲線辉巡。計(jì)算梯度和二階導(dǎo)數(shù),從而決定下一步的優(yōu)化方向蕊退。一階優(yōu)化和二階優(yōu)化的示意圖如下所示:

梯度下降:一階優(yōu)化

牛頓法:二階優(yōu)化

以上所說(shuō)的是梯度下降和牛頓法的優(yōu)化方式差異郊楣。那么誰(shuí)的優(yōu)化效果更好呢?

首先瓤荔,我們來(lái)看一下牛頓法的優(yōu)點(diǎn)净蚤。第一,牛頓法的迭代更新公式中沒有參數(shù)學(xué)習(xí)因子输硝,也就不需要通過(guò)交叉驗(yàn)證選擇合適的學(xué)習(xí)因子了塞栅。第二,牛頓法被認(rèn)為可以利用到曲線本身的信息, 比梯度下降法更容易收斂(迭代更少次數(shù))。如下圖是一個(gè)最小化一個(gè)目標(biāo)方程的例子, 紅色曲線是利用牛頓法迭代求解, 綠色曲線是利用梯度下降法求解放椰。顯然,牛頓法最優(yōu)化速度更快一些愉粤。

然后砾医,我們?cè)賮?lái)看一下牛頓法的缺點(diǎn)。我們注意到牛頓法迭代公式中除了需要求解一階導(dǎo)數(shù)之外衣厘,還要計(jì)算二階導(dǎo)數(shù)如蚜。從矩陣的角度來(lái)說(shuō),一階導(dǎo)數(shù)和二階導(dǎo)數(shù)分別對(duì)應(yīng)雅可比矩陣(Jacobian matrix)和海森矩陣(Hessian matrix)影暴。

Jacobian 矩陣

Hessian 矩陣

牛頓法不僅需要計(jì)算Hessian 矩陣错邦,而且需要計(jì)算Hessian 矩陣的逆。當(dāng)數(shù)據(jù)量比較少的時(shí)候型宙,運(yùn)算速度不會(huì)受到大的影響撬呢。但是,當(dāng)數(shù)據(jù)量很大妆兑,特別在深度神經(jīng)網(wǎng)絡(luò)中魂拦,計(jì)算Hessian 矩陣和它的逆矩陣是非常耗時(shí)的。從整體效果來(lái)看搁嗓,牛頓法優(yōu)化速度沒有梯度下降算法那么快芯勘。所以,目前神經(jīng)網(wǎng)絡(luò)損失函數(shù)的優(yōu)化策略大多都是基于梯度下降腺逛。

值得一提的是荷愕,針對(duì)牛頓法的缺點(diǎn),目前已經(jīng)有一些改進(jìn)算法棍矛。這類改進(jìn)算法統(tǒng)稱擬牛頓算法安疗。比較有代表性的是 BFGS 和 L-BFGS。

BFGS 算法使用近似的方法來(lái)計(jì)算Hessian 矩陣的逆茄靠,有效地提高了運(yùn)算速度茂契。但是仍然需要將整個(gè)Hessian 近似逆矩陣存儲(chǔ)起來(lái),空間成本較大慨绳。

L-BFGS 算法是對(duì)BFGS 算法的改進(jìn)掉冶,不需要存儲(chǔ) Hessian 近似逆矩陣, 而是直接通過(guò)迭代算法獲取本輪的搜索方向脐雪,空間成本大大降低厌小。

總的來(lái)說(shuō),基于梯度下降的優(yōu)化算法战秋,在實(shí)際應(yīng)用中更加廣泛一些璧亚,例如 RMSprop、Adam等脂信。但是癣蟋,牛頓法的改進(jìn)算法透硝,例如 BFGS、L-BFGS 也有其各自的特點(diǎn)疯搅,也有很強(qiáng)的實(shí)用性濒生。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市幔欧,隨后出現(xiàn)的幾起案子罪治,更是在濱河造成了極大的恐慌,老刑警劉巖礁蔗,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件觉义,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡浴井,警方通過(guò)查閱死者的電腦和手機(jī)晒骇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)滋饲,“玉大人厉碟,你說(shuō)我怎么就攤上這事⊥犁裕” “怎么了箍鼓?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)呵曹。 經(jīng)常有香客問我款咖,道長(zhǎng),這世上最難降的妖魔是什么奄喂? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任铐殃,我火速辦了婚禮,結(jié)果婚禮上跨新,老公的妹妹穿的比我還像新娘富腊。我一直安慰自己,他們只是感情好域帐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布赘被。 她就那樣靜靜地躺著,像睡著了一般肖揣。 火紅的嫁衣襯著肌膚如雪民假。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天龙优,我揣著相機(jī)與錄音羊异,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛野舶,可吹牛的內(nèi)容都是我干的易迹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼平道,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赴蝇!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起巢掺,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎劲蜻,沒想到半個(gè)月后陆淀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡先嬉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年轧苫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片疫蔓。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡含懊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出衅胀,到底是詐尸還是另有隱情岔乔,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布滚躯,位于F島的核電站雏门,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏掸掏。R本人自食惡果不足惜茁影,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丧凤。 院中可真熱鬧募闲,春花似錦、人聲如沸愿待。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)呼盆。三九已至年扩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間访圃,已是汗流浹背厨幻。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人况脆。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓饭宾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親格了。 傳聞我的和親對(duì)象是個(gè)殘疾皇子看铆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355