统计学习方法——牛顿法和拟牛顿法

      牛顿法(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}

你可能感兴趣的:(机器学习)