梯度下降法、牛顿迭代法、共轭梯度法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)