割线法求解过程_矩阵与数值计算(11)——共轭梯度法

本文介绍了共轭梯度法(CG法)作为求解大型稀疏线性方程组的理想方法之一,由Hestenes和Stiefel提出,用于无约束最优化问题。与最速下降法相比,CG法考虑了前一步和当前方向,从而提供更好的收敛性。内容包括最速下降法的原理、共轭梯度法的算法流程及几何意义,为使用CG法解决线性方程组提供基础。
摘要由CSDN通过智能技术生成

85c37255d2b01588ded272f10108790b.png

前言

还记得第二章提出的矩阵分解的方法适用于解决中小型稠密矩阵的结论,那么面对大型稀疏矩阵该怎么解决呢?SOR迭代法是解大型稀疏线性方程组的有效方法,但是需要选取使用的松弛因子,后来出先的共轭梯度法是解大型稀疏线性方程组的理想方法之一,经过适当改进还可用于解病态线性方程组。

一、问题引入

共轭梯度法(conjugate gradient method, CG)是以共轭方向(conjugate direction)作为搜索方向的一类算法。

共轭梯度法是由Hesteness和Stiefel于1952年为求解线性方程组而提出的。后来用于求解无约束最优化问题,它是一种重要的数学优化方法。

传统的解线性方程组

,经过之前迭代法的介绍,我们可以将其等价位一个优化问题。

82f272321f25fa39efaf95326bbe6cc7.png

由此,对

的求解可以转化为一个无约束最优化问题

是线性方程组的解
。这样我们就找到了迭代格式,那么从几何上来理解这种迭代

8d33e893b08534d5b9f3989563673b88.png

重要的点在于如何确定方向和步长。这里提出的第一种方法就是最速下降法,基于解析函数的梯度信息更新。下面我们详细了解一下最速下降法。

二、最速下降法

最速下降法基于梯度,我们都知道梯度方向代表函数增长最快的方向,那么负梯度方向就是下降最快的方向,也就是最陡峭的方向,我们沿该方向更新参数,效果一定是最好的。因此,对我们的无约束最优化公式

对x求导的得到
,那么负梯度方向就是

步长:寻求步长就是希望一步跨到最优解,那么

,带入min中求导,令其导数等于0,即可算出

2c19b790b4b348affc00e15694cca989.png
最速下降法

下面给出算法流程以及收敛定理

69554e1d1b8618d87a68dbc78c0dbf25.png
算法流程及收敛性定理
  • 最速下降法相邻两步的方向是垂直的
  • 分别是
    模最大和最小的特征值,当两者想相差很大时,收敛很慢,当两者相差很小时,收敛速度很快。当r很小的时候,由于舍入误差的影响,会出现计算不稳定的现象,所以在实际计算中很少使用最速下降法。

下面看一下最速下降法的几何意义

c2ffc100e21ac17641c2175a2e510269.png

最速下降法的问题在于只关注当前最大利益,没有全局意识,为了克服这个缺点提出了共轭梯度法。

三、共轭梯度法(CG法)

共轭梯度法同时考量上一步和当前方向

9fac9fbbc95d69b3b96ae3de35b7f895.png

577b05d4b158eefed7bcaca20f8d598f.png

dd3205dfb469d2d556eb97accdca1c6f.png

这样我们就得到了共轭梯度法的基本流程,下面给出算法流程。

a30ceaa8de053c06baae63e42fbd7729.png

使用共轭梯度法更新的几何示例如下

2279a0f38b35c97256232318cd1b30d6.png

总结

至此为止,我们对于共轭梯度法的介绍已经完成了,利用共轭梯度法可以对很多问题良好的求解。共轭梯度法的介绍仅涉及计算过程以及简单的几何理解,具体的证明过程有兴趣可以参考专业的资料深入研究,上面的知识对使用共轭梯度法解决线性方程组的求解问题已经足够。

这是涉及矩阵相关知识的最后一部分内容,接下来会涉及数值计算内容,下一讲将介绍插值与逼近问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值