zoukankan      html  css  js  c++  java
  • 牛顿法与拟牛顿法

    牛顿法的应用:

    1.求根:原理是函数(f(x))展开到一阶导。
    2.最优化:原理是函数(f(x))展开到二阶导。

    就应用2进行推导:

    [f(x+ riangle x) = f(x)+ f'(x) riangle x + frac{1}{2} f''(x) riangle x^2 ]

    这个式子是成立的,当且仅当( riangle x)无限趋近于0。
    此时上式等价于:

    [f'(x)+f''(x) riangle x = 0 ]

    (Rightarrow riangle 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)= riangledown 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 imes n})(f(x))的海塞矩阵。
    使用牛顿法的困难之处在于海塞矩阵的求解以及再对其求逆。若维数过高,则很难求出海塞矩阵。
    为了避免牛顿法的上述缺陷,提出拟牛顿法。

    拟牛顿法

    ( abla f(x))做泰勒展开:

    [ abla 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_kdelta_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

  • 相关阅读:
    Git
    Git
    Git
    Git
    Docker
    Linux
    Linux
    Python
    Python
    SQL
  • 原文地址:https://www.cnblogs.com/jiaxinwei/p/12696981.html
Copyright © 2011-2022 走看看