統計學習方法——牛頓法和擬牛頓法

      牛頓法(Newton Method)和擬牛頓法(quasi-Newton Method)以及梯度下降法是求解無約束最優化問題的常用方法。牛頓法通過每次求解目標函數的Hessian Matixd的逆矩陣迭代求解最優解;擬牛頓法通過正定矩陣近似Hessian Matrix的逆矩陣迭代求解最優解。

Hessian Matrix :

     設f(x)\overrightarrow{x}的多元變量函數,且有二階連續偏導,則f(x)的Hessian Matrix定義爲:                                                                                                                                               H(x) = \left [ \dfrac{\partial ^2f}{\partial _{x_i}\partial _{x_j}} \right ]_{n\times n}       

Positive Matrix:

      A \in R^{n\times n},如A = A^T,對任意的X \in R^nX\neq 0時滿足X^TAX> 0,則A爲正定矩陣

二階泰勒展開:

                                         f(x) = f(x^{(k)}) + g_k^T(x-x^{(k)})+\dfrac{1}{2}(x-x^{(k)})H(x^{(k)})(x-x^{(k)})

      其中g_k=g(\overrightarrow{x_0})=\triangledown f(\overrightarrow{x_0})表示f(\overrightarrow{x_0})\overrightarrow{x_0}處偏導。因此,函數f(x)有極值的條件爲在某點(極值點)的偏導爲0,特別地,當

H(\overrightarrow{x_0})爲正定矩陣時,函數f(x)的極值爲極小值。

牛頓法迭代:

     設起始點爲x^{(k)},求目標函數的極小值,做爲第k+1次的迭代點x^{(k+1)}

                                                \triangledown f(x^{(k)}) = g_k + H(x^{(x_k)})(x-x^{(k)}) \ \ \ \ (*)

      令\triangledown f(x^{(k+1)}) = g_k + H(x^{(k)})(x^{(k+1)}-x^{(k)})= 0

      則x^{(k+1)}=x^{(k)}-H(x^{(k)})^{-1}g_k = x^{(k)}+p_k(記H_kp_k=-g_k

      可以看出,極值點x^{(k+1)}x^{(k)}迭代產生。

      由於要求解H(x^{(k)})^{-1},計算比較複雜,可以通過構造正定矩陣G_k = G(x^{(k)})近似替代H_k^{-1} = H^{-1}(x^{(k)}),即擬牛頓法。

擬牛頓條件:

      根據(*)有:g_{k+1} - g_k= H_k(x^{(k+1)}-x^{(k)}) \ \ \ \ (*)

      記y_k = g_{k+1}-g_{k},\delta_k = x^{(k+1)}-x^{(k)},則有:H_k^{-1}y_k=\delta_k稱爲擬牛頓條件

擬牛頓法迭代:

      設G_k = G(x^{(k)})H_k^{-1}的近似,同時滿足擬牛頓條件:G_{k+1}y_k=\delta_k,每次迭代更新:G_{k+1}=G_k+\triangle G_k

     1) DFP algorithm:

           \triangle G_k = P_k + Q_k,其中P_k , Q_k滿足:P_ky_k=\delta_k \ \ \ Q_ky_k = -G_ky_k

          構造P_k , Q_k矩陣:P_k =\dfrac{\delta_k\delta_k^T}{\delta_k^Ty_k} \ \ \ \ Q_k = -\dfrac{G_ky_ky_k^TG_k}{y_k^TG_ky_k}

     2) BFGS algorithm:  (B_{k+1}=B_k+\triangle B_k)

          \triangle B_k = P_k + Q_k,其中P_k , Q_k滿足:P_k\delta_k=y_k \ \ \ Q_k\delta_k = -B_k\delta_k

          構造P_k , Q_k矩陣:P_k =\dfrac{y_ky_k^T}{y_k^T\delta_k} \ \ \ \ Q_k = -\dfrac{B_k\delta_k\delta_k^TB_k}{\delta_k^TB_k\delta_k}

     3Broyden algorithm:

          構造DFP和BFGS的線性組合,形成一類擬牛頓條件的方法,稱爲Broyden-like algorithm:

                                   G_{k+1}=\alpha G^{DFP}+(1-\alpha)G^{BFGS}

發佈了97 篇原創文章 · 獲贊 14 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章