信賴域 Trust Region 演算法

2021-08-04 05:16:23 字數 2836 閱讀 8307

如果你關心最優化(optimization),你一定聽說過一類叫作「信賴域(trust region)」的演算法。在本文中,我將講述一下信賴域演算法與一維搜尋的區別、聯絡,以及信賴域演算法的數學思想,實現過程。

為了說明這兩種途徑所實現的演算法的區別和聯絡,請允許我做乙個可能不太恰當,但是比較形象的比喻:

上圖表述的是:如果把求最優解的過程比喻為「造乙個零件」的過程的話,那麼,使用一維搜尋的那些演算法和信賴域演算法就像是兩種不同的工藝,它們分別使用不同的技術(一維搜尋&信賴域方法)——即兩種不同的材料作為達成最終目標的基礎。

作為乙個了解最優化理論並不多的人,我從我看到過的書得到的感受就是:相比使用一維搜尋的那一類演算法,貌似信賴域演算法們的應用還不夠那麼多。當然這僅僅是個人感覺,勿扔磚…

信賴域演算法的基本思想

信賴域和line search同為最優化演算法的基礎演算法,但是,從「trust region」這個名字你就可以看出,它是沒有line search過程的,它是直接在乙個region中「search」。

在一維搜尋中,從 xk 點移動到下乙個點的過程,可以描述為: xk+αkdk

此處 αkdk 就是在 dk 方向上的位移,可以記為 sk

而信賴域演算法是根據一定的原則,直接確定位移 sk ,同時,與一維搜尋不同的是,它並沒有先確定搜尋方向 dk 。如果根據「某種原則」確定的位移能使目標函式值充分下降,則擴大信賴域;若不能使目標函式值充分下降,則縮小信賴域。如此迭代下去,直到收斂。

關於這種尋優的方法,我這裡又有乙個比喻,希望能幫助你理解:

要從上海火車站去人民廣場,有兩種方法:

①可以先定乙個方向,比如先向西走,走著走著發現方向有點不對(人民廣場應該是時尚地標啊,怎麼越走感覺越郊區了呢),就調整一下方向,變成向東南方向走,諸如此類。

②用信賴域演算法,就比如,我先劃乙個圈,然後在這個圈裡面找離人民廣場可能最接近的點,如果我的圈劃得太大了,一下子就劃到了莘莊(不熟悉上海的同學可以查一下地圖),我一步就走到了上海南站,那還得了,馬上給我回來,把圈縮小到兩個地鐵站的距離之內,然後再在裡面找離人民廣場最近的點。

信賴域演算法的數學模型

前面說了,根據一定的原則,可以直接確定位移,那麼,這個原則是什麼呢?

答:利用二次模型模擬目標函式 f(x) ,再用二次模型計算出位移 s 。根據位移 s 可以確定下一點 x+s ,從而可以計算出目標函式的下降量(下降是最優化的目標),再根據下降量來決定擴大信賴域或縮小信賴域。

那麼,我該如何判定要擴大還是縮小信賴域呢?為了說明這個問題,必須先描述信賴域演算法的數學模型: mi

nqk(

s)=f

(xk)

+gtk

s+12

stgk

ss.t

.||s

||≤h

k 第乙個式子就是我們用於模擬目標函式的二次模型,其自變數為 s ,也就是我們要求的位移。 gk 為梯度, gk 為hesse矩陣,袁亞湘的書上說,如果hesse矩陣不好計算,可以利用「有限差分」來近似 gk (不好意思我不懂),或者用擬牛頓方法來構造hesse矩陣的近似矩陣。

第二個式子中的 hk 是第 k 次迭代的信賴域上界(或稱為信賴域半徑),因此第二個式子表示的就是位移要在信賴域上界範圍內。此外,第二個式子中的範數是沒有指定是什麼範數的,例如,是2-範數還是∞-範數之類的(在實際中都有演算法用這些範數)。

現在又回到了上面的問題:我該如何判定要擴大還是縮小信賴域呢?通過衡量二次模型與目標函式的近似程度,可以作出判定:

第 k 次迭代的實際下降量為: δf

k=fk

−f(x

k+sk

) 第 k 次迭代的**下降量為: δm

k=fk

−m(s

k)定義比值: rk

=δfk

δmk

這個比值可以用於衡量二次模型與目標函式的近似程度,顯然 r 值越接近1越好。

由此,我們就可以給出乙個簡單的信賴域演算法了。

信賴域演算法的步驟

乙個考慮周全的信賴域演算法可能非常麻煩,為了說明其步驟,這裡只說明基本的迭代步驟:

從初始點 x0 ,初始信賴域半徑 h0=∥g0∥ 開始迭代

到第 k 步時,計算 gk 和 gk

解信賴域模型,求出位移 sk ,計算 rk

若 rk≤0.25 ,說明步子邁得太大了,應縮小信賴域半徑,令 hk+1=∥sk∥4

若 rk≥0.75 且 ∥sk∥=hk ,說明這一步已經邁到了信賴域半徑的邊緣,並且步子有點小,可以嘗試擴大信賴域半徑,令 hk+1=2hk

若0.25

<

0.75

,說明這一步邁出去之後,處於「可信賴」和「不可信賴」之間,可以維持當前的信賴域半徑,令 hk+1=hk,若 rk≤0 ,說明函式值是向著上公升而非下降的趨勢變化了(與最優化的目標相反),這說明這一步邁得錯得「離譜」了,這時不應該走到下一點,而應「原地踏步」,即 xk+1=xk ,並且和上面 rk≤0.25 的情況一樣縮小信賴域。反之,在 rk>0 的情況下,都可以走到下一點,即 xk+1=xk+sk

最重要的一種信賴域演算法:levenberg-marquardt演算法

當信賴域模型中的範數 ∥s∥≤hk 取2-範數時(即 ∥s∥2≤hk ),就得到了levenberg-marquardt演算法(簡稱lm演算法)的數學模型: mi

nqk(

s)=f

(xk)

+gtk

s+12

stgk

ss.t

.||s

||≤h

k 具體請看lm演算法。

信賴域演算法的收斂性

信賴域演算法具有整體收斂性。這個證明略。

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

思路 線搜尋最優化演算法,一般是先確定迭代方向 下降方向 然後確定迭代步長 信賴域方法直接求得迭代位移 第 k 次迭代,確定迭代位移的問題為 信賴域子問題 min q k d g k td fracd tb kd k s.t.quad d leq delta k 其中 delta k 為信賴域半徑 ...

天王表質量卓越 值得信賴!

天王表作為國內四大名錶之一,發展非常迅速,深受消費者喜愛。運作 商業邏輯等等,固然能夠幫天王表快速發展,但真正在背後支撐天王表走過這三十年的,是天王表質量的卓越。天王表質量卓越 值得信賴 一枚出眾的腕表,是表盤 錶帶甚至指標等細節交融統一的結晶,也是技術工藝與設計理念的完美結合。將不同的風格與文化元...

政考網咋樣,值得信賴嗎?

隨著社會的發展,人們對於生活質量的要求越來越高,隨之進入社會的門檻更高,我們要想跟著時代同發展,那麼會必須提公升自己的個人價值。作為剛畢業的應屆畢業生,該如何在這個社會穩步發展,並且長時間發展呢?聽朋友說國家公務員考下來,對自己的工作來說有很大的幫助。對於這份 我也決定去報考公 那麼政考網咋樣,報考...