原文: http://yutian-flliu.blog.163.com/blog/static/115535294200911121537518/
梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代
能使待优化的目标函数逐步减小。梯度下降法是2范数下的最速下降法。
最速下降法的一种简单形式是:x(k+1)=x(k)-a*g(k),其中a称为学习速率,可以是
较小的常数。g(k)是x(k)的梯度。
直观的说,就是在一个有中心的等值线中,从初始值开始,每次沿着垂直等值线方
向移动一个小的距离,最终收敛在中心。
对于某一个性能指数,我们能够运用梯度下降法,使这个指数降到最小。若该
指数为均方误差,我们便得到了最小均方误差(LMS)算法。
6.1 最速下降法
当方程组
Ax = b (1)
中的A为对称正定矩阵时,方程组Ax=b的解正好是二次函数
(2)
的唯一极小值点。求解方程组(1)的问题等价与求
(3)
问题。求解问题(3)的最简单的方法是所谓最速下降法,即从某个初始点x(0) 出发,沿φ(x)在点x(0) 处的负梯度方向
(4)
(称为搜索方向)求得φ(x)的极小值点x(1) , 即
(5)
然后从x(1) 出发,重复上面的过程得到x(2) 。如此下去,得到序列{x(k) }
(6)
可以证明,从任一初始点x(0) 出发, 用最速下降法所得到的序列{x(k) }均收敛于问题(3)的解,也就是方程组(1)的解。其收敛速度取决于
其中λ1 ,λn 分别为A的最小,最大特征值。最速下降法迭代格式:给定初值x(0) ,x(k) 按如下方法决定
例8 用最速下降法求解
对称正定方程组
解:过程如图所示。
6.2 共轭梯度法
共轭梯度法简称CG(Conjugate Gradient),其基本步骤是在点x(k) 处选取搜索方向d(k) , 使其与前一次的搜索方向d(k-1) 关于A共轭,即
<d(k) ,Ad(k-1) > = 0 k=1,2,… (7)
然后从点x(k) 出发,沿方向d(k) 求得φ(x)的极小值点x(k+1) , 即
(8)
如此下去, 得到序列{x(k) }。不难求得(7)的解为
注意到d(k) 的选取不唯一,我们可取d(k) = -▽φ(x(k) )+βk-1 d(k-1) , 由共轭的定义(7)可得
共轭梯度法的计算过程如下:
第一步:去初始向量x(0) , 计算
第k+1步(k=1,2,…):计算
例8 用共轭梯度法求解对称正定方程组
解
迭代过程如图所示
故x2 = (1,1)T 就是φ(x)的最小点,也就是索求方程的解。