最佳化演算法-共軛梯度法

來源:互聯網
上載者:User
最佳化演算法-共軛梯度法 (2012-04-20 08:57:05) 轉載▼
標籤: 雜談  

最速下降法


1.最速下降方向

函數f(x)在點x處沿方向d的變動率可用方嚮導數來表示。對於可微函數,方嚮導數等於梯度與方向的內積,即:

Df(x;d) = ▽f(x)Td,

因此,求函數f(x)在點x處的下降最快的方向,可歸結為求解下列非線性規劃:

min ▽f(x)Td

s.t.  ||d|| ≤ 1

當                            d = -▽f(x) / ||▽f(x)||   

時等號成立。因此,在點x處沿上式所定義的方向變動率最小,即負梯度方向為最速下降方向。


2.最速下降演算法

最速下降法的迭代公式是

x(k+1) = x(k) + λkd(k) ,

其中d(k)是從x(k)出發的搜尋方向,這裡取在x(k)處的最速下降方向,即

d = -▽f(x(k)).

λk是從x(k)出發沿方向d(k)進行一維搜尋的步長,即λk滿足

f(x(k) + λkd(k)) = min f(x(k)+λd(k))   (λ≥0).

計算步驟如下:

(1)給定初點x(1) ∈ Rn,允許誤差ε> 0, 置k = 1。

(2)計算搜尋方向d = -▽f(x(k))。

(3)若||d(k)|| ≤ ε,則停止計算;否則,從x(k)出發,沿d(k)進行一維搜尋,求λk,使

f(x(k) + λkd(k)) = min f(x(k)+λd(k))   (λ≥0).

(4)令x(k+1) = x(k) + λkd(k) ,置k = k + 1,轉步驟(2)。


  

 

共軛梯度法


1.共軛方向

無約束問題最佳化方法的核心問題是選擇搜尋方向。

以正定二次函數為例,來觀察兩個方向關於矩陣A共軛的幾何意義。

設有二次函數:

f(x) = 1/2 (x - x*)TA(x - x*) ,

其中A是n×n對稱正定矩陣,x*是一個定點,函數f(x)的等值面

1/2 (x - x*)TA(x - x*) = c

是以x*為中心的橢球面,由於

▽f(x*) = A(x - x*) = 0,

A正定,因此x*是f(x)的極小點。

設x(1)是在某個等值面上的一點,該等值面在點x(1)處的法向量

▽f(x(1)) = A(x(1) - x*)。

又設d(1)是這個等值面在d(1)處的一個切向量。記作

d(2) = x* - x(1)。

自然,d(1)與▽f(x(1))正交,即d(1)T▽f(x(1)) = 0,因此有

d(1)TAd(2) = 0,

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.