資源簡(jiǎn)介
擬牛頓法只要求每一步迭代時(shí)知道目標(biāo)函數(shù)的梯度。通過(guò)測(cè)量梯度的變化,構(gòu)造一個(gè)目標(biāo)函數(shù)的模型使之足以產(chǎn)生超線性收斂性。這類方法大大優(yōu)于最速下降法,尤其對(duì)于困難的問(wèn)題。另外,因?yàn)閿M牛頓法不需要二階導(dǎo)數(shù)的信息,所以有時(shí)比牛頓法(Newton's Method)更為有效。

代碼片段和文件信息
function?[xkvalk]=bfgs(x0)
maxk=500;
rho=0.55;
sigma=0.4;epsilon=1.0e-5;
k=0;n=length(x0);x=x0;
Bk=eye(n);%Bk=feval(‘hessen‘x0);
while(k ????gk=gfun(x0);
????if(norm(gk) ????????break;
????end?
???dk=-Bk\gk;
????m=0;mk=0;
????while?(m<20)
????????newf=fun(x0+rho^m*dk);
????????oldf=fun(x0);
????????if(newf ????????????mk=m;break;
????????end
????????m=m+1;
????end
????%BFGS校正
????xk=x0+rho^mk*dk;
????sk=xk-x0;
????yk=gfun(xk)-gk;
????if(yk‘*sk>0)
????????Bk=Bk-(Bk*sk*sk‘*Bk)/(sk‘*Bk*sk)+(yk*yk‘)/(yk‘*sk);
????end?
????k=k+1;
????x0=xk;
end?
val=fun(x0);??
end
????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????648??2015-06-17?20:08??擬牛頓法\bfgs.m
?????文件?????????57??2015-06-17?20:00??擬牛頓法\fun.m
?????文件?????????83??2015-06-17?20:00??擬牛頓法\gfun.m
?????文件?????????82??2015-06-17?19:37??擬牛頓法\hessen.m
?????文件?????????31??2015-06-17?20:10??擬牛頓法\solve.m
?????目錄??????????0??2015-08-13?11:32??擬牛頓法
-----------?---------??----------?-----??----
??????????????????901????????????????????6
評(píng)論
共有 條評(píng)論