您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2.5-共轭梯度法解析
预备知识最速下降法共轭梯度法数值试验算例16:19§2.5共轭梯度法(x,y)=(y,x);(tx,y)=t(x,y);(x+y,z)=(x,z)+(y,z);(x,x)≥0,且(x,x)=0x=0;I方程组问题:Ax=b设A是n阶对称正定阵(Ax,y)=(x,Ay);(Ax,x)≥0,且(Ax,x)=0x=02/16预备知识:内积的定义II极值问题:xbAxxxfTTRxn21)(min设,记(x,y)=xTynRyx,预备知识梯度:12()grad(),,,nTfffxxxfxfx123()fxfxfxfx16:19222112221HessnnnffxxxfffxxxHessian矩阵:预备知识12,111()(,)(,)2=nnijijiiijifxAxxbxaxxbxgradfAxb222112221HessnnnffxxxfAffxxx16:19费马引理:000(),(),()=0xfxfxxfx设是的一个极值点且在处导数存在则16:19注释:费马引理的价值在于将极值问题转化为方程的求解问题。初等变分原理一、与方程组等价的二次泛函问题思想共轭梯度法将求解方程组问题等价转化为一个二次泛函的极值问题。定义二次函数:nRR2()TTHxxAxbx1112nnnijijjjijjaxxbx设为对称正定矩阵,()nnijAaR,Axb其中1(,,),Tnxxx11*(,,);.TnbbbxAb定理(初等变分原理)设A=(aij)n×n为实对称正定矩阵,,则x是二次函数的极小值点x是线性方程组Ax=b的解。nRbx,16:192()TTHxxAxbx1112nnnijijjjijjaxxbx该性质说明:求解方程组的解等价于求上述二次函数的最小值。()min(),nxRHxHx若则由极值的必要条件得()HxAxb22Axb0.迭代法构造思想:构造使得(){}kx011()()()()*()()()()(),kkHxHxHxHxHx()*lim()()kkHxHx且,()*limkkxx。从瞎子下山到最优化方法16:19ScienceofBetter瞎子与计算机•瞎子:能感觉到脚下的坡度(这是海拔函数在当前点的梯度值),但不知道山上其它点的任何情况•计算机:计算目标函数在该点的信息(如函数值和梯度值),但不知道其它点的信息16:192.5.2最速下降法几何意义:等值线x0()x思想最速下降法是指每次沿着函数值下降最快的方向寻找最小值点。而函数值下降最快的方向是函数的负梯度方向最速下降法实现过程:选取初始向量,由二次函数的基本性质0()x()Hx0()()Hx0()r如果,则就是方程组的解;00()r0()x如果,则沿方向进行一维极小搜索:00()r0()r求使得达到最小值,则000()()()Hxr0000000012()()()()()()()()()=()()()TTHxrxrAxrbxr0()bAx1000()()().xxr00000()()()()(,)(,)rrArr20000220()()()()()(,)dxrArrd注意到00000()()()()min()()xrxr1000()()()xxr令,从而完成第一次迭代。下面以为新的初值,重复上述过程。1()x000()()()dHxrd最速下降法的算法:选取初值0()nxRFork=0,1,2,…()()kkrbAx()()()()(,)(,)kkkkkrrArr1()()()kkkkxxr若,停止()()kTkrr否则,进行下一次循环10()()(,)kkrr搜索方向是正交的:11()()kkrbAx()()()kkkbAxr()()kkkrAr缺陷:收敛速度慢!收敛速度?????解:易验证系数矩阵是对称正定的.例:用最速下降法求解方程组:21211x2x300100133x0000()()TxStep1计算00313()()()TrbAx000001955()()()()(,)(,)rrArr10001931355()()()()Txxr最好+最好=最好?•方向(最速下降)(bestrk)•步长(精确搜索)(best)•是否最好?16:19k1()()()kkkkxxr设的特征值为,A10n则由前述最速下降算法产生的序列满足其中。1xAb()kx()(0)11kknAAnxxxxTh上述定理说明,当时最速下降法收敛非常慢。1n锯齿现象,其等值面近似数可以用二次函数近似在极小点附近,目标函椭球面。1x*x2x3x它只是。标函数的一种局部性质最速下降方向反映了目快的方向。局部目标函数值下降最注的算法。最速下降法是线性收敛f(x1,x2)=100x12+x22最速下降法16:19f(x1,x2)=100x12+x22Barzilai-Borwein方法16:19最速下降法思想简单,但是收敛速度慢。本质上是因为负梯度方向函数下降快是局部性质。全局思想:局部思想:N维空间的任意向量可以由N个线性无关的向量线性表示。16:193、共轭梯度法/*Conjugate-GradientMethod*/共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。Hestenes和Stiefle(1952)提出来的,用于解正定系数矩阵的线性方程组,Fletcher和Reeves(1964)首先提出了解非线性最优化问题的共轭梯度法。由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次终止性等优点,现在共轭梯度法已经广泛地应用与实际问题,已经成为求解大型稀疏线性方程组最受欢迎的一类方法。16:19共轭梯度法的关键是构造一组两两共轭的方向(即一组线性无关向量)。巧妙的是,共轭方向可以由上次搜索方向和当前的梯度方向之组合来产生。pk+1:=rk+1+tau*pkTheBestofthe20thCentury:EditorsNameTop10Algorithms,SIAMNews现代迭代方法:Krylov子空间方法共轭方向和共轭方向法定义共轭。关于和,则称若有AppAppT21210ARpppnk它们两两关于中一组非零向量,如果是设,,,21。共轭,即kjijiAppjTi,,2,1,,,0共轭方向。组共轭的,也称它们是一则称这组方向是关于AA注:002121pppIpTT21pp共轭是正交的推广!!,和中的两个非零向量的对称正定矩阵,对于是设21ppRnnAn是单位矩阵,则如果A选取初始向量,0()x00()(),pr00000()()()()(,)(,)rpApp1000()()()xxp11()(),rbAx共轭梯度法如何确定下一个搜索方向呢?共轭梯度法的实现过程选取初始向量,0()x00()()pr00000()()()()(,)(,)rrApp100110()()()()(),xxprbAx确定下一个搜索方向:由过点向量和所张成的下列二维平面内找出函数值下降最快的方向作为搜索方向1()x1()r0()p1()p(1)(1)(0)2:,xxrpR2(1)x(1)r(0)p(1)px、和的几何意义1()r0()p1()p此时在上可表示为()x2(1)(1)(0)(1)(1)(0)(1)(1)(0)(1)(1)(0)12TTHxrpxrpAxrpbxrp(,)(1)(1)(1)(0)(1)(1)(1)(0)(0)(0)00TTTTTrArrAprrrAppAp由极值的必要条件得(1)(1)(0)00xxrp其中满足00,(1)(1)(1)(0)(1)(1)00(1)(0)(0)(0)000TTTTTrArrAprrrAppAp取下一个搜索方向为(1)(1)(1)(0)0001()pxxrp11111()()()()(,)(,)rpApp沿该方向进行一维搜索得步长为记(1)(0)00(0)(0)0(,)(,)rAppAp(2)(1)(1)1xxp(1)(1)(0)0prp下面以为新的迭代值,重复上述过程即可2()x共轭梯度法的算法选取初值0()nxRFork=0,1,2,…,n00()()pr00()()rbAx计算计算()()()()kTkkkTkprpAp1()()()kkkkxxp1()()()kkkkrrAp1()()()()kTkkkTkpArpAp11()()()kkkkprp如果,停止10()kr否则,计算进行下一次迭代共轭梯度法的算法选取初值0()nxRFork=0,1,2,…,n00()()pr00()()rbAx计算计算()()()()(,)(,)kkkkkrrApp1()()()kkkkxxp1()()()kkkkrrAp11()()()()(,)(,)kkkkkrrrr11()()()kkkkprp如果,停止10()kr否则,计算进行下一次迭代解:易验证系数矩阵是对称正定的.例:用CG迭代法求解下列方程组:21211x2x300100133x0000()()TxStep1计算000313()()()()TprbAx000001955()()()()(,)(,)rrApp10001931355()()()()TxxpStep2计算1000616155()()()()TrrAp111115557()()()()(,)(,)rrApp2111111()()()()Txxp11000723025()()()()(,)(,)rrrr110011411813025()()()()Tprp22000()()()TrbAx迭代结束由共轭梯度法计算得到的近似解满足()kxTh()(0)(0)min:,,kxxxxArk或()(0)(0)2()021222min:,,;12,1||||||||.kAAkkAAxxxxxxArkKxxxxKKAAAxb总结:16:19矩阵分解(1)特征值分解:A=CDCT,[C,D]=eig(A)(2)LU分解:PA=LU,[L,U,P]=lu(A)(3)Cholesky分解:A=RTR,R=chol(A)16:19(4)QR分解:A=QR,[Q,R]=qr(A)(5)奇异值分解:A=USVH,[U,S,V]=svd(A)(6)非负矩阵分解Non-negativeMatrixFactorizationA=WH11()()()||||||||||*||||||kkkXXXXBB16:1911()*()()||||kkkLLxxxx()xx11,xMNxMbAMN其中迭代法构造收敛条件中止准则**(0)***(),(),()()1()NxxxNxxxxx为的不动点在的连续且则迭代法对任意某邻域收敛(0)X()1||||1fBB
本文标题:2.5-共轭梯度法解析
链接地址:https://www.777doc.com/doc-2345821 .html