牛顿法与拟牛顿法
牛顿法的应用:
1.求根:原理是函数\(f(x)\)展开到一阶导。
2.最优化:原理是函数\(f(x)\)展开到二阶导。
就应用2进行推导:
\[f(x+\triangle x) = f(x)+ f'(x)\triangle x + \frac{1}{2} f''(x)\triangle x^2
\]
这个式子是成立的,当且仅当\(\triangle x\)无限趋近于0。
此时上式等价于:
\[f'(x)+f''(x)\triangle x = 0
\]
\(\Rightarrow \triangle x =-\frac{f'(x_n)}{f''(x_n)}\)
\(\Rightarrow x_{n+1} = x_n - \frac{f'(x_n)}{f''(x_n)},n = 0,1,...\)
可改写为:
\[x_{n+1} = x_n - H_{n}^{-1}g_n
\]
其中,
\(g_n = g(x_n)=\triangledown f(x_n) = f'(x_n)\),\(H_n=H(x_n) = f''(x_n)\),\(H(x) = [\frac{\partial ^2 f}{\partial x_i \partial x_j}]_{n\times n}\)是\(f(x)\)的海塞矩阵。
使用牛顿法的困难之处在于海塞矩阵的求解以及再对其求逆。若维数过高,则很难求出海塞矩阵。
为了避免牛顿法的上述缺陷,提出拟牛顿法。
拟牛顿法
对 \(\nabla f(x)\)做泰勒展开:
\[\nabla f(x) = g_k +H_k(x-x_k)
\]
取\(x = x_{k+1}\),即得:
\[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\),则:
\[y_k = H_k\delta_k
\]
或
\[\delta_k = H_{k}^{-1}y_k = \delta_k
\]
在拟牛顿法中,选择\(G_k\)作为\(H_{k}^{-1}\)的近似或选择\(B_k\)作为\(H_k\)的近似,并且使得它们满足上述拟牛顿条件即可。
参考:https://zhuanlan.zhihu.com/p/46536960
https://blog.csdn.net/songbinxu/article/details/79677948