一般来说, 牛顿法主要应用在两个方面,
1, 求方程的根;
2, 最优化。
1,求方程的根
其原理便是使用泰勒展开,然后去线性部分,即:
文章图片
(1)
然后令上式等于0,则有:
文章图片
(2)
经过不断迭代:
文章图片
(3)
当精度达到要求的时候停止迭代。
【C++|牛顿法以及雅克比矩阵、海森矩阵(Hessian)数学方法。】 迭代示意图如上所示。
文章图片
2,最优化
最优化一般是求极大或极小问题,这可以转变为求导数零点,然后转变为求方程的根的情形。
即f' = 0;
把f(x)用泰勒公式展开到二阶,即:
文章图片
(4)
等号左边和f(x)近似相等,抵消。然后对
文章图片
求导,得到:
文章图片
(5)
更进一步:
文章图片
(6)
然后得到迭代式子:
文章图片
(7)
以上只针对单变量进行讨论,如果对多变量就要引入雅克比矩阵和海森矩阵
简单介绍一下二者,雅克比矩阵为函数对各自变量的一阶导数,海森矩阵为函数对自变量的二次微分。形式分别如下:
文章图片
文章图片
把两个矩阵代入(7)中
文章图片
参考文献:
Newton's method -- wikipedia
Jacobian矩阵和Hessian矩阵
推荐阅读
- 个人日记|K8s中Pod生命周期和重启策略
- 学习分享|【C语言函数基础】
- opencv|图像处理之椒盐噪声的添加与去除
- C++|C++浇水装置问题
- 数据结构|C++技巧(用class类实现链表)
- C++|从零开始学C++之基本知识
- 步履拾级杂记|VS2019的各种使用问题及解决方法
- OpenCV|【OpenCV 完整例程】89. 带阻滤波器的传递函数
- OpenCV|【OpenCV 完整例程】90. 频率域陷波滤波器
- OpenCV|【OpenCV 完整例程】22. 图像添加非中文文字