關于 Hessian 矩陣、凸性和優化


要點

  • Hessian 矩陣是一種處理二階導數的數學結構。 

  • Hessian 矩陣始終是方陣,其維度等于函數變量的數量。

  • 如果 Hessian 矩陣在集合 A 上的所有點都是半正定的,則該函數在集合 A 上是凸的。  

 關于 Hessian 矩陣、凸性和優化的圖1

Hessian 矩陣用于各種優化計算算法

有效解決工程問題需要優化,而工程中的大多數優化問題都是非凸的。為了解決非凸優化問題,使用 DC 函數。此類非凸問題的優化統稱為DC優化,此類問題的理論稱為DC規劃。 

DC 編程中使用的大多數算法都利用 Hessian 矩陣的優勢及其凸性確定功能來迭代到更好的解決方案。在本文中,我們將討論 Hessian 矩陣的基礎知識,這對于使用計算算法優化解決問題非常重要。 

海森矩陣

Hessian 矩陣廣泛應用于工程問題的解決。它們用于優化代表系統的功能。Hessian 矩陣是一類處理二階導數的數學結構。考慮一個由 n 個變量組成的函數 f。給出該函數的二階偏導數的矩陣形成給定函數的 Hessian 矩陣。函數f的Hessian矩陣可以用下面的方程表示:

關于 Hessian 矩陣、凸性和優化的圖2

Hessian 矩陣的階數

從上面給出的 Hessian 矩陣可以得出結論,它始終是一個方陣,其維度等于函數變量的數量。對于“n”變量函數,Hessian 矩陣的階數為 n*n。

Hessian 矩陣的對稱性

下面給出了 2 個變量的函數的 Hessian 矩陣。 

關于 Hessian 矩陣、凸性和優化的圖3

在上面的 Hessian 矩陣中,您可以看到元素 fxy 重復兩次,分別作為第一行第二個元素和第二行第一個元素。根據Schwarz定理或Clairaut定理,偏微分中微分的階數并不重要,因此即使函數關于x和y以不同的階數微分,元素也是相同的。 

條件 Hij=Hji 適用于任意階的所有 Hessian 矩陣,其中 i 和 j 分別表示行號和列號。每當方陣中的元素滿足條件 Hij=Hji 時,它就形成對稱矩陣。從目前的討論可以得出,Hessian矩陣是滿足對稱條件的方陣。因此所有 Hessian 矩陣都是對稱矩陣。

Hessian 矩陣與 Jacobian 矩陣

Hessian 矩陣由函數所依賴的所有變量對形成的二階偏導數組成。雅可比矩陣也是基于函數偏微分的矩陣,但是是一階偏導數。下面給出函數的雅可比矩陣。 

關于 Hessian 矩陣、凸性和優化的圖4

雅可比矩陣可用于確定函數的可逆性。當雅可比矩陣的行列式不為零時,可以對矩陣求逆。如果雅可比矩陣的行列式等于0,則函數可以求逆,也可以不求逆。

借助雅可比矩陣,可以計算多變量函數中的臨界點。然而,要將臨界點分類為最小值、最大值和鞍點,需要 Hessian 矩陣。讓我們看看 Hessian 矩陣如何幫助找到最大值和最小值。

最小值、最大值和鞍點

雅可比矩陣給出函數的梯度。當函數 f 在某個點 x 的梯度為零時,該函數在 x 處具有臨界點。為了確定臨界點是局部最小值、最大值還是鞍點,可以利用 Hessian 矩陣。

如果 Hessian 矩陣是正定的,則臨界點對應于函數的局部最小值。如果 Hessian 矩陣是負定的,則臨界點對應于函數的局部最大值。

如果 Hessian 矩陣不定,則臨界點對應于鞍點。類似地,Hessian 矩陣可用于識別函數的凸性和凹性。

使用 Hessian 矩陣確定函數的凸性

對于二階導數連續的函數f,可以利用Hessian矩陣來確定其凸凹性。如果 Hessian 矩陣在集合 A 上的所有點都是半正定的,則該函數在集合 A 上是凸的。如果 Hessian 矩陣在集合 A 上的所有點都是正定的,則該函數是嚴格凸的。

一階導數、Hessian 矩陣、凸性等知識對于采用基于梯度的算法獲得工程問題的優化解決方案至關重要。在大多數計算軟件中,采用基于梯度的算法來實現優化,例如順序二次規劃、有限內存 Broyden-Fletcher-Goldfarb-Shanno 方法、Levenberg-Marquardt 和 Gauss-Newton。

Cadence 的工具可以幫助您解決高度復雜的工程系統中的優化問題。訂閱我們的時事通訊以獲取最新的 CFD 更新或瀏覽 Cadence 的CFD 軟件套件(包括Fidelity和Fidelity Pointwise),以了解有關 Cadence 如何為您提供解決方案的更多信息。

文章來源:cadence博客

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1