1、梯度下降法牛顿迭代法共轭梯度法梯度下降法、牛顿迭代法、共轭梯度法(参见:神经网络-PGM-ANN-2009-C09性能优化)优化的目的是求出目标函数的最大值点或者最小值点,这里讨论的是迭代的方法 梯度下降法首先,给定一个初始猜测值 ,然后按照等式(2)逐步修改猜测。这里向量 ?k代表一个搜索方向,一个大于零的纯量 k为学习速度,它确定了学习步长。当用 工k二 X k ak P k进行最优点迭代时,函数应该在每次迭代时都减小,即 F(、k 1 F (二 k )考虑的F (X)在Xk的一阶泰勒级数展开:F (工 k) g: *F (工 k J = F (乂 -kT 2 tPkl F(X)|xm R
2、 RAk耳这里Ak为Xk的赫森矩阵:Ak八午(X)|x牛顿法牛顿法基于二阶泰勒级数:1F(Xk!F(X Xk F(Xk) gk 人 2 XkA 人 (15)牛顿法的原理是求 F(X)的二次近似的驻点,求这个二次函数对 Xk的梯度并令它等于0,则有gk A&Xk = 0 ( 16)解得: Xk =-A:gk_4于是,牛顿法定义为 Xk1二Xk-Akgk ( 17)注意:牛顿法总是用一个二次函数逼近 F(X),然后求其驻点,因此此方法总能够一步找到二次函数的极小点,如果原函数为二次函数(有强极小点) ,它就能够实现一步极小化如果F(X)不是二次函数,则牛顿法一般不能在一步内收敛, 是否收敛取决于具
3、体的函数和初始点尽管牛顿法的收敛速度通常比最速下降法快, 但其表现很复杂,除了收敛到鞍点的问题 外,算法还可能震荡和发散,如果学习速率不太快或每步都实现线性极小化, 最速下降法能保证收敛牛顿法的另一个问题是需要对赫森矩阵及其逆阵的计算和存储共轭梯度法牛顿法有一个性质成为二次终结法( quadratic temination ),即它能在有限迭代次数内使得二次函数极小化, 但这需要计算和存储二阶导数, 当参数个数很大时,计算所有二阶导数是很困难的。假定对下述二次函数确定极小点:1(18)F(x) XtAX dTX c2当且仅当pjAR =0,k= j时,称向量集合Pk对于一个正定赫森矩阵 A两两
4、共轭。注意,第一次搜索方向Po是任意的,而 P是与厶g。垂直的任意向量。所以共轭向量集由于ggk 1 -gk =AXk,又有Xk =(Xk1 - XkakPk,选择 ak 使函数 F(X)在P.方向上极小化,则共轭条件可重写称每次迭代都要构造一个与9。厂91,:gn 正交的向量 耳。可以将迭代形式简化为R =-gk :kP2 (21)的数量是无限的。通常从最速下降法的方向开始搜索: Po =g0通常选择r Agkk帶氏 gk-k T 或 _k T 或 _ k Tig k -i Pk-i gk-igk-i gk-igk-i综上,算法可以归纳为:1、 选择如Po-g。的与梯度相反的方向作为第一次搜索方向2、 根据.)Xk i = (Xk .i - X J = ak&进行下一步搜索,确定 ak以使函数沿搜索方向极小化3、 根据R i = -gk i 很确定下一个搜索方向,计算 -k i4、 如果算法不收敛,回到第 2步算法比较梯度下降法形式简单,一般情况下都能够保证收敛,但是收敛速度慢牛顿法对于二次目标函数收敛速度快, 但是不能够保证收敛,而且需要对赫森矩阵及其逆阵的计算和存储共轭梯度法结合了前面两种方法的性质, 收敛速度快,不需要对赫森矩阵及其逆阵的计算和存储,但是形式比前两者复杂Welcome !欢迎您的下载,资料仅供参考!