牛顿法
Posted lebesgue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛顿法相关的知识,希望对你有一定的参考价值。
牛顿法与最速下降法一样是解无约束最优化问题的最早使用算法, 它的基本思想是用迭代点的梯度和二阶导数对目标函数进行二次函数逼近, 然后把二次函数的极小点作为新的迭代点, 并不断重复这一过程, 直至求出极小点。
设$f(x)$的二阶导数$ ound^2f(x)$连续, 它在$x_k$的泰勒展开式前三项为
$q_k(x)=f_k+g^T_k(x-x_k)+frac{1}{2}(x-x_k)^TG_k(x-x_k)$
其中$g_k= oundf(x_k), G_k= ound^2f(x_k)$. 求$q_k(x)$的驻点, 得$ ound q_k(x)=g_k+G_k(x-x_k)=0$
如果$G_k$非奇异, 得到牛顿迭代公式 为 $x_{k+1}=x_k-G^{-1}_kg_k$
如果$G_k$奇异, 那么$d_k$由下式确立 $G_kd=-g_k$ 如此得到基本牛顿法的计算步骤如下:
基本牛顿法的计算步骤:
step1 选初值。 给定终止误差$epsion>=0$和初始点$x_0$, 令$k=0$.
step 2 检验终止条件。 计算$g_k$, 若$||g_k||<=epsion$, 则$x^*=x_k$, 算法终止
step 3 确立搜索方向。 计算$G_k$, 由 $G_kd=-g_k$求$d_k^N$
step 4 计算新点。 令$x_{k+1}=x_k+d_k, k=k+1$, 转step2.
以上是关于牛顿法的主要内容,如果未能解决你的问题,请参考以下文章