对Conjugate Gradient 优化的简单理解

时间:2022-08-15 00:01:47

对Conjugate Gradient 优化的简单理解)

机器学习&数据挖掘笔记_12(对Conjugate Gradient 优化的简单理解)

  数学优化方法在机器学习算法中至关重要,本篇博客主要来简单介绍下Conjugate Gradient(共轭梯度法,以下简称CG)算法,内容是参考的文献为:An Introduction to the Conjugate Gradient Method Without the Agonizing Pain,具体细节大家还需仔细阅读那篇文章,这篇博客并不是重现那篇论文的内容,只是简单的梳理下CG算法的流程,以及它的重要思路,方便大家理解CG算法。

  首先我们需要解决的问题是:求满足线性方程(1):对Conjugate Gradient 优化的简单理解的解x.

  那么有人就这么认为了:这个解x不就是对Conjugate Gradient 优化的简单理解吗?对,这样说也不能算错,但是如果A不可逆那么x这样就解不出来了。另外当A矩阵的尺度非常大时(比如几百万维),即使其逆存在,这样计算的计算量也太大。而CG算法则可以通过少数的几步迭代来求出其近似解,虽然求出的解是近似的,但是其精度可以达到很高,完全可以满足我们的需求。

  下面就来看看CG算法实现时的大概流程:

  1. 随机选取一个初始点,记为对Conjugate Gradient 优化的简单理解,并记为此时方程(1)的残差对Conjugate Gradient 优化的简单理解,记第一个搜索方向为对Conjugate Gradient 优化的简单理解,搜索步长为对Conjugate Gradient 优化的简单理解.

  2. 现在假设我们已经按照某个迭代公式在第k步求出了对Conjugate Gradient 优化的简单理解,此时的残差对Conjugate Gradient 优化的简单理解,前面k次的搜索方向分别为对Conjugate Gradient 优化的简单理解,很明显这些变量都是已知的,而现在我们需要求的是第k次的搜索方向对Conjugate Gradient 优化的简单理解.在CG理论中,有这么一个假设,即对Conjugate Gradient 优化的简单理解对Conjugate Gradient 优化的简单理解,对Conjugate Gradient 优化的简单理解的线性组合,记为对Conjugate Gradient 优化的简单理解.

  3. 为了求出对Conjugate Gradient 优化的简单理解,就必须求出系数对Conjugate Gradient 优化的简单理解,怎么求呢?CG理论中另外一个性质就是:对Conjugate Gradient 优化的简单理解对Conjugate Gradient 优化的简单理解这k个向量关于A共轭,即满足共轭方程对Conjugate Gradient 优化的简单理解,其中0<=j<=k-1. 下面就可以利用该性质列出k个方程来求解这些系数了,其结果为:当0<=j<k-1时,系数对Conjugate Gradient 优化的简单理解;当j=k-1时,系数对Conjugate Gradient 优化的简单理解. 因此此时的搜索方向对Conjugate Gradient 优化的简单理解.

  4. 既然的值有了对Conjugate Gradient 优化的简单理解,搜索方向对Conjugate Gradient 优化的简单理解也有了,下一步就改确定搜索步长对Conjugate Gradient 优化的简单理解了,求它的思想是使对Conjugate Gradient 优化的简单理解取得极值,即导数为0。一旦求出了,则下一个迭代点对Conjugate Gradient 优化的简单理解也就求出了。表达式对求导为0后可求得对Conjugate Gradient 优化的简单理解.

  5. 循环步骤2,3,4,直到满足收敛条件。

  上面只是CG算法的基本版本,而常见的CG算法版本是针对上面的计算公式对Conjugate Gradient 优化的简单理解对Conjugate Gradient 优化的简单理解作了进一步推导,利用Krylov 子空间的一些性质,最后简化为:对Conjugate Gradient 优化的简单理解对Conjugate Gradient 优化的简单理解,同时对残差也是经过迭代得到(此处省略)。 由简化前后(此处省略N公式)对比可知,将原先表达式中一些矩阵和向量的乘积运算量减小了,因为很大一部分矩阵乘向量都转换成了向量乘向量。

  最后附上论文中关于CG算法的流程图,大家可以参考上面5个步骤来理解CG的主要思路,本博客中的符号可能和论文中的不一定相同,且公式也不一定是正确的,博文只是让大家知道这些公式是由什么理论推出的,有个宏观认识,一切需以论文中的内容为主。

  对Conjugate Gradient 优化的简单理解

  参考资料:

  Shewchuk, J. R. (1994). An introduction to the conjugate gradient method without the agonizing pain, Carnegie Mellon University, Pittsburgh, PA.

作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:tornadomeet,欢迎交流!)