Hessian 矩陣(黑塞矩陣)以及hessian矩陣奇異的用法

Hessian Matrix(黑塞矩陣、海森矩陣、海瑟矩陣、海塞矩陣 etc.),它是一個多元函數的二階偏導數構成的方陣,用以描述函數的局部曲率。黑塞矩陣最早於19世紀由德國數學家Ludwig Otto Hesse提出,並以其名字命名。黑塞矩陣常用於牛頓法解決優化問題。


對於一個實值多元函數  ,如果函數的二階偏導數都存在,則定義的黑塞矩陣爲:


其中表示對第 i 個變量的微分算子。那麼,f 的黑塞矩陣即:


性質:

1. 對稱性:

如果函數 f 在D區域內二階連續可導,那麼 f 黑塞函數H(f)在D內爲對稱方陣。

2. 多元函數極值的判定:

如果實值多元函數 f(x1,x2,...)二階連續可導,並且在臨界點M(xi)(i=1,2,...,n, 且xi已知)處梯度(一階導數)等於零,即,,M爲駐點。僅僅通過一階導數無法判斷在臨界點M處是極大值還是極小值。


點處的黑塞矩陣爲
。由於
點處連續,所以
是一個
的對稱矩陣。對於
,有如下結論:

  • 如果H(M)是正定矩陣,則臨界點M處是一個局部的極小值。
  • 如果H(M)是負定矩陣,則臨界點M處是一個局部的極大值。
  • 如果H(M)是不定矩陣,則臨界點M處不是極值。

提到hessian矩陣奇異,就需要首先介紹一下牛頓法,擬牛頓法,最速下降法。

牛頓法

1、求解方程。

並不是所有的方程都有求根公式,或者求根公式很複雜,導致求解困難。利用牛頓法,可以迭代求解。

原理是利用泰勒公式,在x0處展開,且展開到一階,即f(x) = f(x0)+(x-x0)f'(x0)

求解方程f(x)=0,即f(x0)+(x-x0)*f'(x0)=0,求解x = x1=x0-f(x0)/f'(x0),因爲這是利用泰勒公式的一階展開,f(x) = f(x0)+(x-x0)f'(x0)處並不是完全相等,而是近似相等,這裏求得的x1並不能讓f(x)=0,只能說f(x1)的值比f(x0)更接近f(x)=0,於是乎,迭代求解的想法就很自然了,可以進而推出x(n+1)=x(n)-f(x(n))/f'(x(n)),通過迭代,這個式子必然在f(x*)=0的時候收斂。整個過程如下圖:


2. 牛頓法用於最優化

在最優化的問題中,線性最優化至少可以使用單純行法求解,但對於非線性優化問題,牛頓法提供了一種求解的辦法。假設任務是優化一個目標函數f,求函數f的極大極小問題,可以轉化爲求解函數f的導數f'=0的問題,這樣求可以把優化問題看成方程求解問題(f'=0)。剩下的問題就和第一部分提到的牛頓法求解很相似了。

這次爲了求解f'=0的根,把f(x)的泰勒展開,展開到2階形式:

上面的表達式成立的條件是當且僅當 Δ無線趨近於0。此時上式等價與:

求解:

得出迭代公式:



一般認爲牛頓法可以利用到曲線本身的信息,比梯度下降法更容易收斂(迭代更少次數),如下圖是一個最小化一個目標方程的例子,紅色曲線是利用牛頓法迭代求解,綠色曲線是利用梯度下降法求解。


在上面討論的是2維情況,高維情況的牛頓迭代公式是:

其中H是hessian矩陣,定義爲如上文描述。

高維情況依然可以用牛頓迭代求解,但是問題是Hessian矩陣引入的複雜性,使得牛頓迭代求解的難度大大增加,但是已經有了解決這個問題的辦法就是Quasi-Newton methond,不再直接計算hessian矩陣,而是每一步的時候使用梯度向量更新hessian矩陣的近似。


擬牛頓法

擬牛頓法(Quasi-Newton Methods)是求解非線性優化問題最有效的方法之一,於20世紀50年代由美國Argonne國家實驗室的物理學家W. C. Davidon所提出來。Davidon設計的這種算法在當時看來是非線性優化領域最具創造性的發明之一。不久R. Fletcher和M. J. D. Powell證實了這種新的算法遠比其他方法快速和可靠,使得非線性優化這門學科在一夜之間突飛猛進。在之後的20年裏,擬牛頓方法得到了蓬勃發展,出現了大量的變形公式以及數以百計的相關論文。


擬牛頓法和最速下降法(Steepest Descent Methods)一樣只要求每一步迭代時知道目標函數的梯度。通過測量梯度的變化,構造一個目標函數的模型使之足以產生超線性收斂性。這類方法大大優於最速下降法,尤其對於困難的問題。另外,因爲擬牛頓法不需要二階導數的信息,所以有時比牛頓法(Newton's Method)更爲有效。如今,優化軟件中包含了大量的擬牛頓算法用來解決無約束,約束,和大規模的優化問題。




Hessian Matrix(黑塞矩陣、海森矩陣、海瑟矩陣、海塞矩陣 etc.),它是一個多元函數的二階偏導數構成的方陣,用以描述函數的局部曲率。黑塞矩陣最早於19世紀由德國數學家Ludwig Otto Hesse提出,並以其名字命名。黑塞矩陣常用於牛頓法解決優化問題。


對於一個實值多元函數  ,如果函數的二階偏導數都存在,則定義的黑塞矩陣爲:


其中表示對第 i 個變量的微分算子。那麼,f 的黑塞矩陣即:


性質:

1. 對稱性:

如果函數 f 在D區域內二階連續可導,那麼 f 黑塞函數H(f)在D內爲對稱方陣。

2. 多元函數極值的判定:

如果實值多元函數 f(x1,x2,...)二階連續可導,並且在臨界點M(xi)(i=1,2,...,n, 且xi已知)處梯度(一階導數)等於零,即,,M爲駐點。僅僅通過一階導數無法判斷在臨界點M處是極大值還是極小值。


點處的黑塞矩陣爲
。由於
點處連續,所以
是一個
的對稱矩陣。對於
,有如下結論:

  • 如果H(M)是正定矩陣,則臨界點M處是一個局部的極小值。
  • 如果H(M)是負定矩陣,則臨界點M處是一個局部的極大值。
  • 如果H(M)是不定矩陣,則臨界點M處不是極值。

提到hessian矩陣奇異,就需要首先介紹一下牛頓法,擬牛頓法,最速下降法。

牛頓法

1、求解方程。

並不是所有的方程都有求根公式,或者求根公式很複雜,導致求解困難。利用牛頓法,可以迭代求解。

原理是利用泰勒公式,在x0處展開,且展開到一階,即f(x) = f(x0)+(x-x0)f'(x0)

求解方程f(x)=0,即f(x0)+(x-x0)*f'(x0)=0,求解x = x1=x0-f(x0)/f'(x0),因爲這是利用泰勒公式的一階展開,f(x) = f(x0)+(x-x0)f'(x0)處並不是完全相等,而是近似相等,這裏求得的x1並不能讓f(x)=0,只能說f(x1)的值比f(x0)更接近f(x)=0,於是乎,迭代求解的想法就很自然了,可以進而推出x(n+1)=x(n)-f(x(n))/f'(x(n)),通過迭代,這個式子必然在f(x*)=0的時候收斂。整個過程如下圖:


2. 牛頓法用於最優化

在最優化的問題中,線性最優化至少可以使用單純行法求解,但對於非線性優化問題,牛頓法提供了一種求解的辦法。假設任務是優化一個目標函數f,求函數f的極大極小問題,可以轉化爲求解函數f的導數f'=0的問題,這樣求可以把優化問題看成方程求解問題(f'=0)。剩下的問題就和第一部分提到的牛頓法求解很相似了。

這次爲了求解f'=0的根,把f(x)的泰勒展開,展開到2階形式:

上面的表達式成立的條件是當且僅當 Δ無線趨近於0。此時上式等價與:

求解:

得出迭代公式:



一般認爲牛頓法可以利用到曲線本身的信息,比梯度下降法更容易收斂(迭代更少次數),如下圖是一個最小化一個目標方程的例子,紅色曲線是利用牛頓法迭代求解,綠色曲線是利用梯度下降法求解。


在上面討論的是2維情況,高維情況的牛頓迭代公式是:

其中H是hessian矩陣,定義爲如上文描述。

高維情況依然可以用牛頓迭代求解,但是問題是Hessian矩陣引入的複雜性,使得牛頓迭代求解的難度大大增加,但是已經有了解決這個問題的辦法就是Quasi-Newton methond,不再直接計算hessian矩陣,而是每一步的時候使用梯度向量更新hessian矩陣的近似。


擬牛頓法

擬牛頓法(Quasi-Newton Methods)是求解非線性優化問題最有效的方法之一,於20世紀50年代由美國Argonne國家實驗室的物理學家W. C. Davidon所提出來。Davidon設計的這種算法在當時看來是非線性優化領域最具創造性的發明之一。不久R. Fletcher和M. J. D. Powell證實了這種新的算法遠比其他方法快速和可靠,使得非線性優化這門學科在一夜之間突飛猛進。在之後的20年裏,擬牛頓方法得到了蓬勃發展,出現了大量的變形公式以及數以百計的相關論文。


擬牛頓法和最速下降法(Steepest Descent Methods)一樣只要求每一步迭代時知道目標函數的梯度。通過測量梯度的變化,構造一個目標函數的模型使之足以產生超線性收斂性。這類方法大大優於最速下降法,尤其對於困難的問題。另外,因爲擬牛頓法不需要二階導數的信息,所以有時比牛頓法(Newton's Method)更爲有效。如今,優化軟件中包含了大量的擬牛頓算法用來解決無約束,約束,和大規模的優化問題。


在講解擬牛頓法之前,先介紹幾個概念:

無約束優化問題:

線搜索方法:

這裏的dk代表搜索方向,ak代表搜索步長。(精確搜索:f(x+ad)達到最小;Wolfe搜索)


精確搜索:



Wolfe非精確搜索:






搜索方向:

最速下降法:

共軛梯度法:

牛頓法:

牛頓法是下列問題的解:

擬牛頓法:對稱,正定。


牛頓法的條件:

       擬牛頓法的條件:


擬牛頓法的基本思想如下。首先構造目標函數在當前迭代

的二次模型:


這裏
是一個對稱正定矩陣,於是我們取這個二次模型的最優解作爲搜索方向,並且得到新的迭代點
,其中我們要求步長
滿足Wolfe條件。這樣的迭代與牛頓法類似,區別就在於用近似的Hesse矩陣
代替真實的Hesse矩陣。所以擬牛頓法最關鍵的地方就是每一步迭代中矩陣
的更新。現在假設得到一個新的迭代
,並得到一個新的二次模型:

                                                                                              


我們儘可能地利用上一步的信息來選取。具體地,我們要求
,從而得到割線方程




擬牛頓法的基本思想如下。首先構造目標函數在當前迭代

的二次模型:


這裏
是一個對稱正定矩陣,於是我們取這個二次模型的最優解作爲搜索方向,並且得到新的迭代點
,其中我們要求步長
滿足Wolfe條件。這樣的迭代與牛頓法類似,區別就在於用近似的Hesse矩陣
代替真實的Hesse矩陣。所以擬牛頓法最關鍵的地方就是每一步迭代中矩陣
的更新。現在假設得到一個新的迭代
,並得到一個新的二次模型:

                                                                                              


我們儘可能地利用上一步的信息來選取。具體地,我們要求
,從而得到割線方程


常見的幾種方法用來求解B,DFP方法,BFGS方法,SR1方法,Broyden族方法。

DFP方法編輯

,DFP公式爲
該公式最初由Davidon於1959年提出,隨後被Fletcher和Powell研究和推廣。DFP方法是秩-2更新的一種,由它產生的矩陣
是正定的,而且滿足這樣的極小性:

3BFGS方法編輯

DFP更新公式非常有效,但很快就被BFGS公式取代。BFGS與DFP十分類似,是另一種秩-2更新,以其發明者Broyden, Fletcher, Goldfarb和Shanno的姓氏首字母命名。BFGS公式
由他產生的矩陣
同樣保持正定性,而且也滿足一個極小性:
BFGS和DFP公式在形式上是對稱的:
對稱,
對稱。但是BFGS比DFP更加有效。

4SR1方法編輯

有別於DFP和BFG方法,SR1是一種秩-1更新。它的公式是:B_{k+1}=(y_k-B_ks_k)(y_k-B_ks_k)^T/((y_k-B_ks_k)^Ts_k)。SR1公式不要求矩陣B_k保持正定性,從而更逼近真實的Hesse矩陣,所以適用於信賴域方法(Trust Region Methods)。

5Broyden族編輯

Boyden族是更廣泛的一類更新公式,其形式爲:B_{k+1}=(1-c_k)B_{k+1}^{BFGS}+c_k B_{k+1}^{DFP}。當c_k=0時,Broyden族公式就變成了BFGS公式;當c_k=1時,Broyden族公式就變成了DFP公式。因此BFGS和DFP均可看成Broyden族的特殊形式或者其中一員。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章