最優化演算法4 0 信賴域方法

2022-03-15 07:27:40 字數 1509 閱讀 2576

思路:線搜尋最優化演算法,一般是先確定迭代方向(下降方向),然後確定迭代步長;

信賴域方法直接求得迭代位移;

第\(k\)次迭代,確定迭代位移的問題為(信賴域子問題):

\[min q_k(d)=g_k^td+\fracd^tb_kd_k

\]\[s.t.\quad ||d||\leq \delta_k

\]其中\(\delta_k\)為信賴域半徑

對於求得的迭代位移,實際下降量:

\[\delta f_k=f(x_k)-f(x_k+d_k)

\]估計下降量:

\[\delta q_k=q_k(0)-q_k(d_k)

\]定義:

\[r_k=\frac

\]一般情況,\(\delta q_k>0\),因此,當\(r_k\)小於0時,表示求得的\(x_\)不是下降方向;需要縮小信賴域重新求解;當\(r_k\)趨近於1時,表明對於函式的二次近似具有較高的精度,可以擴大信賴域;

\(輸入:0<\eta_1<\eta_2<1,0<\tau_1<1<\tau_2,初始點x,初始hesse陣近似陣:b_0,容許誤差:\epsilon;信賴域半徑上限:\tilde,初始信賴域半徑:\delta_0\in(0,\tilde]\)

maxite=100; 最大迭代次數

g=gfun(x);

k=0;

while k < maxite and g > \(\epsilon\)

\(\qquad\) solve the child question of optizimation,get \(x_\);

\(\qquad\)get \(r_k\);

\(\qquad\)if \(r_k <\eta_1\)

\(\qquad\)

\(\qquad\)

\(\delta_\)=\(\tau_1\delta_k\);

\(\qquad\) elif \(\eta_1

\(\qquad\)

\(\qquad\)

\(\delta_=\delta_;\)

\(\qquad\) else

\(\qquad\)

\(\qquad\)

\(\delta_=\tau_2\delta_k;\)

\(\qquad\) endif

\(\qquad\) if \(r_k<\eta_1\)

\(\qquad\)

\(\qquad\)

\(x_=x;\)

\(\qquad\)

\(\qquad\)

\(b_=b_k;\)

\(\qquad\) else

\(\qquad\)

\(\qquad\)

\(refresh b_k, get b_;\)

\(\qquad\) endif

\(\qquad\)

\(k=k+1;\)

\(\qquad\)

\(g=gfun(x_);\)

endwhile

\(輸出:最優解x\)

信賴域 Trust Region 演算法

如果你關心最優化 optimization 你一定聽說過一類叫作 信賴域 trust region 的演算法。在本文中,我將講述一下信賴域演算法與一維搜尋的區別 聯絡,以及信賴域演算法的數學思想,實現過程。為了說明這兩種途徑所實現的演算法的區別和聯絡,請允許我做乙個可能不太恰當,但是比較形象的比喻 ...

最優化方法

1無約束約束方法 梯度下降 求解線性回歸,有明確的目標函式。利用目標函式的梯度來更新引數,使用最小二乘時,用loss的梯度更新。範數為2的最速下降。牛頓法 目標函式已知,用泰勒展開的近似作為近似解,把近似值帶入目標函式求出近似的引數作為更新值。由於捨棄了泰勒公式的高階項,新的引數值會更接近真實解。在...

最優化 牛頓優化演算法

本人總結的常用優化演算法pdf版本,主要講解原理 主要包括梯度下降,共軛梯度法 牛頓法,擬牛頓法 信賴域方法,罰函式法。coding utf 8 author uniquez file 牛頓法,基於dfp的擬牛頓法 date 2017 06 24 remark 原方程為 x1 2 2 x2 2 im...