漫步最优化三十七——共轭梯度法
来源:互联网 发布:淘宝上怎么评价不了了 编辑:程序博客网 时间:2024/06/03 05:06
Hestenes与Stiefel提出了一种生成共轭方向的有效方法,就是共轭梯度法。该方法中,每次迭代生成方向,当迭代第
共轭方向法基于下面的定理,除了定义生成共轭方向的方法外,其余都与上篇文章的定理1一样。
由递推关系
生成的序列收敛到唯一解
(b)梯度
接下来我们用归纳法进行证明。假设
我们需要说明
令
故当
因为
即
同样地,对于
因此
继续用归纳法,我们可以得到
现在根据等式4可得
当
当
所以
来表示,其中
根据上篇文章定理2第一部分的正交性,上式的第一项等于零,而根据假设等式6可知,上式第二项等于零。结合等式11与13我们有
对于
且根据等式6与14,我们得出
(b)根据等式8与9可知,
其中
上面定理中
其中根据上篇文章的定理2可知
故
所以等式2的
另一方面,因为
所以
接下来根据等式8与9可得
或者
又因为
所以等式5,15,16与17得到
上面的原则与定理得到了下面的算法:
对于二维凸二次问题,上述算法得到的解的轨迹如图1所示,注意
共轭梯度算法的主要优点为:
- 梯度是有限的,并且与前面的方向向量线性无关,当然除了问题的解本身外。
- 计算相对简单,相比最速下降法稍微复杂一点点。
- 不需要线搜索。
- 对于凸二次问题,该算法
n 次迭代就能收敛。 - 第一次选的方向就是最速下降的方向,所以第一次得带就能很好的减少
f(x) 。 - 因为方向是基于梯度信息的,当应用到非二次问题时,该算法有较好的收敛性。
- 不需要考虑海森矩阵的逆。
该算法的缺点为:
- 需要存储,计算海森矩阵。
- 对于非二次问题,存在极个别情况会无法达到收敛。
图1
- 漫步最优化三十七——共轭梯度法
- 漫步最优化三十五——共轭
- 漫步最优化三十六——基本共轭方向法
- 最优化——FR共轭梯度法matlab程序
- 漫步最优化三十一——梯度法
- 最优化之共轭梯度法
- 漫步最优化八——梯度信息
- 最优化学习笔记(十四)——共轭梯度法
- 优化 :共轭梯度法
- 共轭梯度法程序/最优化-无约束共轭梯度法程序
- 最优化-约束/无约束共轭梯度法程序(c++)
- 最优化学习笔记(四)共轭梯度法
- 最优化学习笔记(四)共轭梯度法
- 多维优化:共轭梯度法
- 优化算法-共轭梯度法
- 优化算法、共轭梯度法
- 优化算法-共轭梯度法
- 漫步最优化三十二——最速下降法
- spring加载的配置写入到map中,方便取用
- C#,winform,gdi+,简单实现鼠标拉出虚线框,适合新手
- 【数位DP】HDU3943[K-th Nya Number]题解
- 判断一个三角形并求面积
- 用eclipse创建的第一个tomcat项目
- 漫步最优化三十七——共轭梯度法
- VS2012中不能新建表的解决办法
- 【codevs 2956】排队问题
- 【bzoj4551】树 并查集
- day6上
- 卷积神经网络
- 打劫房屋 II-LintCode
- MySQL语句
- C语言自定义函数如何返回数组