梯度下降法、牛顿迭代法、共轭梯度法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

梯度下降法、牛顿迭代法、共轭梯度法

(参见:神经网络->PGM-ANN-2009-C09性能优化)

优化的目的是求出目标函数的最大值点或者最小值点,这里讨论的是迭代的方法

梯度下降法

首先,给定一个初始猜测值 ,然后按照等式

k k k k ΡαΧ+=X +1 (1)

k

k k k k P =X -X =∆X +α)(1 (2)

逐步修改猜测。这里向量 k

P 代表一个搜索方向,一个大于零的纯量

k

α 为学习

速度,它确定了学习步长。

当用 k k k k ΡαΧ+=X +1 进行最优点迭代时,函数应该在每次迭代时都减小,即

)

()(1k k F F X

考虑

+-∇-+-∇+=X

=X X

=X )()

()(2

1

)

()()()(*2****

*

x x x F x x x x x F x F x F T T

(3)

的)(X F 在k X 的一阶泰勒级数展开:

k

T

k k k k k g F F F ∆X +X ≈∆X +X =X +)()()(1

(4)

其中,T

k g 为在旧猜测值k X 处的梯度

k

F g k X =X X ∇≡)( (5) 要使

)

()(1k k F F X

只需要(4)中右端第二项小于0,即

k k T k g g α (6)

选择较小的正数k α。这就隐含0

k P g 。

满足0

k P g 的任意向量成为一个下降方向。如果沿着此方向取足够小步长,函数一

定递减。并且,最速下降的情况发生在k T k P g 最小的时候,容易知道,当k k -g P =时k T

k P g 最小,此时,方向向量与梯度方向相反。

在(1)式中,令k k -g P =,则有

k k k k g αΧ-=X +1 (7)

对于式(7)中学习速率k α的选取通常有两种方法:一种是选择固定的学习速率k α,另一种方法是使基于学习速率k α的性能指数或目标函数)(1k +X F 在每次迭代中最小化,即沿着梯度反方向实现最小化:k k k k g X X α-=+1。

注意:

1、对于较小的学习速度最速下降轨迹的路径总是与轮廓线正交,这是因为梯度与轮廓线总是正交的。

2、如果改变学习速度,学习速度太大,算法会变得不稳定,振荡不会衰减,反而会增大。

3、稳定的学习速率

对于任意函数,确定最大可行的学习速度是不可能的,但对于二次函数,可以确定一个上界。令特征函数为:

c X

d AX X F T T

++=

2

1)x ( (8)

那么梯度为 d AX X F +=∇)( 代入最速下降法公式(7)中

d a X A a I d AX a X g a X X k k k k k k k k k k --=+-=-=+)()(1 (9)

在动态系统中,如果矩阵][aA I -的特征值小于1,则该系统是稳定的。可用赫森矩阵

A 的特征值来表示该矩阵的特征值,假设A 的特征值和特征向量分别为{}n 21λλλ ,

,和{}n z z z ,,21,那么

[]i i i z a I z aA I )(λ-=- (10)

于是,最速下降法的稳定条件为

1<-i a I λ (11) 如果二次函数有一个强极小点,则其特征值为正数,上式可以化为i

a λ2

<

由于该式对于赫森矩阵的所有特征值都成立则 m ax

2

λ<

a (12)

分析:最大的稳定学习速度与二次函数的最大的曲率成反比。曲率说明梯度变化的快慢。如果梯度变化太快,可能会导致跳过极小点,进而使新的迭代点的梯度的值大于原迭代点的梯度的值(但方向相反)。这会导致每次迭代的步长增大。

4、沿直线最小化 选择学习速率的另一种方法是k a 使得每次迭代的性能指数最小化,即选择k a 使得下式最小: )(k k k P a X F +

对任意函数的这种最小化需要线性搜索。对二次函数解析线性最小化是可能的。上式对k a 的导数为:

k X X T k k k X X T k k k k

P X F P a P X F P a X F da d

k k ==∇+∇=+|)(|)()(2 (13) 令式(13)导数为零求得 T

k k k k

T k k X X T k X X T k P A P P g P X F P P X F a k

k k -=∇∇-

===|)(|)(2 (14) 这里k A 为k X 的赫森矩阵:k X X k X F A =∇=|)(2

牛顿法

牛顿法基于二阶泰勒级数:

k k T

k k T k k k k k X A X X g X F X X F X F ∆∆+∆+≈∆+=+2

1)()()(1 (15)

牛顿法的原理是求)(X F 的二次近似的驻点,求这个二次函数对k X ∆的梯度并令它等于0,则有

0=∆+k k k X A g (16) 解得: k T

g A X k -=∆k

于是,牛顿法定义为 k k k g A X X 1

1k -+-= (17)

相关文档
最新文档