統(tǒng)計(jì)機(jī)器學(xué)習(xí)-擬牛頓法

假設(shè)f(x)\textbf R^n上具有二階連續(xù)偏導(dǎo)數(shù)的函數(shù),要求解的無約束最優(yōu)化問題是
\min_{x\in\textbf R^n}f(x)\tag1
x^*表示目標(biāo)函數(shù)f(x)的極小點(diǎn)挑社。

牛頓法的迭代中,需要計(jì)算海塞矩陣的逆矩陣H^{-1}巡揍,這一計(jì)算比較復(fù)雜痛阻,考慮用一個(gè)n階矩陣G_k=G(x^{(k)})來近似代替H_k^{-1}=H^{-1}(x^{(k)})。這就是擬牛頓法的基本想法腮敌。

假設(shè)在第k次迭代時(shí)阱当,找到的點(diǎn)是x^{(k)},讓f(x)在點(diǎn)x^{(k)}附近進(jìn)行二階泰勒展開:
f(x)=f(x^{(k)})+g_k^T(x-x^{(k)})+\frac12(x-x^{(k)})^TH(x^{(k)})(x-x^{(k)})\tag2
其中g_k=g(x^{(k)})=\nabla f(x^{(k)})f(x)在點(diǎn)x^{(k)}的梯度糜工,H(x^{(k)})f(x)的海塞矩陣(類似于二階導(dǎo)數(shù))在點(diǎn)x^{(k)}的值:
H(x)=\bigg[\frac{\partial^2f}{\partial x_i\partial x_j}\bigg]_{n\times n}\tag3
公式(2)兩邊對(duì)x求導(dǎo):
\nabla f(x)=g_k+H(x^{(k)})(x-x^{(k)})=g_k+H_k(x-x^{(k)})\tag4
將點(diǎn)x^{(k+1)}代入公式(4)得到:
g_{k+1}=\nabla f(x^{(k+1)})=g_k+H_k(x^{(k+1)}-x^{(k)})\tag5
所以
g_{k+1}-g_k=H_k(x^{(k+1)}-x^{(k)})\tag6
y_k=g_{k+1}-g_k弊添,\delta_k=x^{(k+1)}-x^{(k)},則
y_k=H_k\delta_k\tag7
或者說
H_k^{-1}y_k=\delta_k\tag8
公式(7)或公式(8)叫做擬牛頓條件捌木。

如果H_k是正定的(H_k^{-1}也是正定的)油坝,那么可以保證牛頓法搜索方向p_k=-H_k^{-1}g_k是下降方向还栓。對(duì)公式(2)只展開到1階:
f(x)=f(x^{(k)})+g_k^T(x-x^{(k)})\tag9
x的更新公式為:
x=x^{(k)}-\lambda H_k^{-1}g_k\tag{10}
將(10)中的x代入(9)得到:
f(x)=f(x^{(k)})+g_k^T(x^{(k)}-x^{(k)}-\lambda H_k^{-1}g_k)=f(x^{(k)})-\lambda g_k^TH_k^{-1}g_k\tag{11}
因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=H_k%5E%7B-1%7D" alt="H_k^{-1}" mathimg="1">正定比肄,所以g_k^TH_k^{-1}g_k\gt0饺鹃。當(dāng)\lambda為一個(gè)充分小的正數(shù)時(shí)汗侵,總有f(x)\lt f(x^{(k)}),也就是說p_k是下降方向极舔。

綜上所述凤覆,擬牛頓法使用G_k近似H_k^{-1}(DFP算法)或者使用B_k(BFGS算法)近似H_k,需要滿足滿足兩個(gè)條件:

  1. G_kB_k正定
  2. 滿足擬牛頓條件拆魏,即G_{k+1}y_k=\delta_ky_k=B_{k+1}\delta_k

G_kB_k通過迭代的方式進(jìn)行更新盯桦,即G_{k+1}=G_k+\Delta G_kB_{k+1}=B_k+\Delta B_k

DFP算法

DFP算法使用G_k近似H_k^{-1}渤刃,需要滿足擬牛頓條件G_{k+1}y_k=\delta_k拥峦,G_k通過G_{k+1}=G_k+\Delta G_k迭代更新。

使
\Delta G_k=P_k+Q_k\tag{12}

G_{k+1}=G_k+P_k+Q_k\tag{13}
公式(13)兩邊乘上y_k
G_{k+1}y_k=G_ky_k+P_ky_k+Q_ky_k\tag{14}

Q_ky_k=-G_ky_k\tag{15}

P_ky_k=\delta_k\tag{16}

則公式(14)為
G_{k+1}y_k=\delta_k\tag{17}
滿足擬牛頓條件卖子,也不難找出滿足條件(15)和(16)的P_kQ_k
P_k=\frac{\delta_k\delta_k^T}{\delta_k^Ty_k}\tag{18}

Q_k=-\frac{G_ky_ky_k^TG_k}{y_k^TG_ky_k}\tag{19}

于是得到矩陣G_{k+1}的迭代公式:
G_{k+1}=G_k+\frac{\delta_k\delta_k^T}{\delta_k^Ty_k}-\frac{G_ky_ky_k^TG_k}{y_k^TG_ky_k}\tag{20}

算法

輸入:目標(biāo)函數(shù)f(x)略号,梯度g(x)=\nabla f(x),精度要求\varepsilon洋闽;

輸出:f(x)的極小點(diǎn)x^*玄柠。

  1. 選定初始點(diǎn)x^{(0)},取G_0為正定對(duì)稱矩陣诫舅,置k=0
  2. 計(jì)算g_k=g(x^{(k)})羽利。若||g_k||\lt\varepsilon,則停止計(jì)算刊懈,得近似解x^*=x^{(k)}这弧;否則轉(zhuǎn)(3)
  3. p_k=-G_kg_k
  4. 一維搜索,求\lambda_k使得

f(x^{(k)}+\lambda_kp_k)=\min_{\lambda\geq0}f(x^{(k)}+\lambda p_k)

  1. x^{(k+1)}=x^{(k)}+\lambda_kp_k
  2. 計(jì)算g_{k+1}=g(x^{(k+1)})虚汛,若||g_{k+1}||\lt\varepsilon匾浪,則停止計(jì)算,得近似解x^*=x^{(k+1)}卷哩;否則按公式(20)算出G_{k+1}
  3. k=k+1户矢,轉(zhuǎn)(3)

BFGS算法

DFP算法使用B_k近似H_k^{-1},需要滿足擬牛頓條件y_k=B_{k+1}\delta_k殉疼,B_k通過B_{k+1}=B_k+\Delta B_k迭代更新。

使
\Delta B_k=P_k+Q_k\tag{21}

B_{k+1}=B_k+P_k+Q_k\tag{22}
公式(22)兩邊乘上\delta_k
B_{k+1}\delta_k=B_k\delta_k+P_k\delta_k+Q_k\delta_k\tag{23}

Q_k\delta_k=-B_k\delta_k\tag{24}

P_k\delta_k=y_k\tag{25}

則公式(23)為
B_{k+1}\delta_k=y_k\tag{26}
滿足擬牛頓條件捌年,也不難找出滿足條件(24)和(25)的P_kQ_k
P_k=\frac{y_ky_k^T}{y_k^T\delta_k}\tag{27}

Q_k=-\frac{B_k\delta_k\delta_k^TB_k}{\delta_k^TB_k\delta_k}\tag{28}

于是得到矩陣G_{k+1}的迭代公式:
G_{k+1}=G_k+\frac{y_ky_k^T}{y_k^T\delta_k}-\frac{B_k\delta_k\delta_k^TB_k}{\delta_k^TB_k\delta_k}\tag{29}

算法

輸入:目標(biāo)函數(shù)f(x)瓢娜,梯度g(x)=\nabla f(x),精度要求\varepsilon礼预;

輸出:f(x)的極小點(diǎn)x^*眠砾。

  1. 選定初始點(diǎn)x^{(0)},取B_0為正定對(duì)稱矩陣托酸,置k=0
  2. 計(jì)算g_k=g(x^{(k)})褒颈。若||g_k||\lt\varepsilon柒巫,則停止計(jì)算,得近似解x^*=x^{(k)}谷丸;否則轉(zhuǎn)(3)
  3. p_k=-B_k^{-1}g_k
  4. 一維搜索堡掏,求\lambda_k使得

f(x^{(k)}+\lambda_kp_k)=\min_{\lambda\geq0}f(x^{(k)}+\lambda p_k)

  1. x^{(k+1)}=x^{(k)}+\lambda_kp_k
    1. 計(jì)算g_{k+1}=g(x^{(k+1)}),若||g_{k+1}||\lt\varepsilon刨疼,則停止計(jì)算泉唁,得近似解x^*=x^{(k+1)};否則按公式(29)算出B_{k+1}
  2. k=k+1揩慕,轉(zhuǎn)(3)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亭畜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子迎卤,更是在濱河造成了極大的恐慌拴鸵,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜗搔,死亡現(xiàn)場(chǎng)離奇詭異劲藐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)碍扔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門瘩燥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人不同,你說我怎么就攤上這事厉膀。” “怎么了二拐?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵服鹅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我百新,道長(zhǎng)企软,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任饭望,我火速辦了婚禮仗哨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铅辞。我一直安慰自己厌漂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布斟珊。 她就那樣靜靜地躺著苇倡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旨椒,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天晓褪,我揣著相機(jī)與錄音,去河邊找鬼综慎。 笑死涣仿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寥粹。 我是一名探鬼主播变过,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涝涤!你這毒婦竟也來了媚狰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤阔拳,失蹤者是張志新(化名)和其女友劉穎崭孤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糊肠,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡辨宠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了货裹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗤形。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖弧圆,靈堂內(nèi)的尸體忽然破棺而出赋兵,到底是詐尸還是另有隱情,我是刑警寧澤搔预,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布霹期,位于F島的核電站,受9級(jí)特大地震影響拯田,放射性物質(zhì)發(fā)生泄漏历造。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一船庇、第九天 我趴在偏房一處隱蔽的房頂上張望吭产。 院中可真熱鬧,春花似錦鸭轮、人聲如沸垮刹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春吞鸭,著一層夾襖步出監(jiān)牢的瞬間寺董,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工刻剥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留遮咖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓造虏,卻偏偏與公主長(zhǎng)得像御吞,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子漓藕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350