牛顿法如前面所提到的, 最速下降法在最初几步迭代中函数值下降很快外,总的说来下降的并不快, 且愈接近极值点下降的愈慢。因此,应寻找使目标函数下降更快的方法。牛顿法就是一种收敛很快的方法,其基本思路是利用二次曲线来逐点近似原目标函数,以二次曲线的极小值点来近似原目标函数的极小值点并逐渐逼近改点。一维目标函数( )f x在()kx点逼近用的二次曲线(即泰勒二次多项式)为( )( )( )( )()()21()()()()()()2kkkkkkxf xfxxxfxxx此二次函数的极小点可由()()0kx求得。对于 n 维问题, n 为目标函数()f X在( )kX点逼近用的二次曲线为:()( )()( )( )2( )()1()()() .[][] .().[]2kkkkkTkkXf xf XXXXXf XXX令式中的 Hessian2( )()()()kkfXH X,则上式可改写为:()( )( )( )( )( )( )1()()() .[][] .().[]2()kkkkkTkkXf xfXXXXXH XXXfX当()0X时可求得二次曲线()X的极值点,且当且仅当改点处的Hessian矩阵为正定时有极小值点。由上式得:()( )( )()()()[]kkkXf XH XXX令()0X,则( )( )()()()[]0kkkfXHXXX若()()kH X为可逆矩阵,将上式等号两边左乘1()()kHX,则得1( )( )()()()[]0kkknHXfXIXX整理后得1( )( )( )()()kkkXXH Xf X当目标函数()f X是二次函数时,牛顿法变得极为简单、有效,这时( )()kH X是一个常数矩阵,式()()( )()( )( )( )1()()() .[][] .().[]2()kkkkkTkkXf xf XXXXXHXXXfX变 成 精确表达式, 而利用式1()( )()()()kkkXXH Xf X作一次迭代计算所得的X 就是最优点*X 。在一般情况下()f X不一定是二次函数,则不能一步就能求出极小值,即极小值点不在1()( )()()kkH Xf X方向上, 但由于在( )kX点附近函数()X与()f X是近似的,所以这个方向可以作为近似方向,可以用式1( )( )( )()()kkkXXHXfX求出点 X 作为一个逼近点(1)kX。这时式1( )( )( )()()kkkXXH Xf X可改成牛顿法的一般迭代公式:1(1)()()()()()kkkkXXH Xf X式中1()( )()()kkH Xf X称为牛顿方向,通过这种迭代,逐次向极小值点*X 逼近。例:试用牛顿法求目标函数2212()25f Xxx 的极小值点解:设取( )22TkX,则11( )2224()50100kfxxf Xfxx()222112( )2()22221220()()050kkkXXffxx xH Xf Xffxxx则,1(1)()( )( )()()25004012021000100kkkkXXH Xf X(1)()0kf X,故(1)00kX为极小点例:试用牛顿法求目标函数22121212()10460f Xxxx xxx的极小点。解:取()00TkX,则1...