應(yīng)用背景
信賴域算法TR可以用來求解非線性規(guī)劃問題(NLP, NonLinear Programing),比如含二次項(xiàng)問題的優(yōu)化求解。
方法原理
函數(shù)在
處的泰勒展開式為:
其中,向量為迭代向量。在TR算法中,將函數(shù)
隨著
在置信域
中的行為使用二次型表示:
式中為Jacobian矩陣,
為Hessian矩陣??梢允褂糜邢薏罘只驍M牛頓法來對(duì)Hessian矩陣進(jìn)行近似。這樣,我們的優(yōu)化目標(biāo)為在置信域
中尋找迭代向量
使得
取得極小值:
式中是第
次迭代的信賴域上界(或稱為信賴域半徑)。
接下來我們需要確定置信域邊界,我們可以分別計(jì)算出此步迭代下的實(shí)際優(yōu)化量和使用近似計(jì)算出的優(yōu)化量:
定義實(shí)際優(yōu)化量和預(yù)測(cè)優(yōu)化量的比值:
可以用于衡量二次模型與目標(biāo)函數(shù)的近似程度,顯然
值越接近1越好;
* 當(dāng)?,說明步子邁得太大了,應(yīng)縮小信賴域半徑,
;
* 當(dāng)且
,說明這一步已經(jīng)邁到了信賴域半徑的邊緣,并且步子有點(diǎn)小,可以嘗試擴(kuò)大信賴域半徑,
;
* 當(dāng),說明這一步邁出去之后,處于“可信賴”和“不可信賴”之間,可以維持當(dāng)前的信賴域半徑,
;
* 當(dāng),說明函數(shù)值是向著上升而非下降的趨勢(shì)變化了(與最優(yōu)化的目標(biāo)相反),這說明這一步邁得錯(cuò)得“離譜”了,這時(shí)不應(yīng)該走到下一點(diǎn),而應(yīng)“原地踏步”,即
,并且和上述
的情況一樣,縮小信賴域。反之,在
的情況下,都可以走到下一點(diǎn),即
;