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處是極大值還是極小值。
記
提到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的時候收斂。整個過程如下圖:
在最優化的問題中,線性最優化至少可以使用單純行法求解,但對於非線性優化問題,牛頓法提供了一種求解的辦法。假設任務是優化一個目標函數f,求函數f的極大極小問題,可以轉化爲求解函數f的導數f'=0的問題,這樣求可以把優化問題看成方程求解問題(f'=0)。剩下的問題就和第一部分提到的牛頓法求解很相似了。
這次爲了求解f'=0的根,把f(x)的泰勒展開,展開到2階形式:
求解:
得出迭代公式:
擬牛頓法
擬牛頓法(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處是極大值還是極小值。
記
提到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的時候收斂。整個過程如下圖:
在最優化的問題中,線性最優化至少可以使用單純行法求解,但對於非線性優化問題,牛頓法提供了一種求解的辦法。假設任務是優化一個目標函數f,求函數f的極大極小問題,可以轉化爲求解函數f的導數f'=0的問題,這樣求可以把優化問題看成方程求解問題(f'=0)。剩下的問題就和第一部分提到的牛頓法求解很相似了。
這次爲了求解f'=0的根,把f(x)的泰勒展開,展開到2階形式:
求解:
得出迭代公式:
擬牛頓法
擬牛頓法(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非精確搜索:
搜索方向:
最速下降法:
共軛梯度法:
牛頓法:
牛頓法是下列問題的解:
擬牛頓法:,對稱,正定。
牛頓法的條件:
擬牛頓法的條件:,,擬牛頓法的基本思想如下。首先構造目標函數在當前迭代
擬牛頓法的基本思想如下。首先構造目標函數在當前迭代
常見的幾種方法用來求解B,DFP方法,BFGS方法,SR1方法,Broyden族方法。