梯度之上:海森矩陣

一、定義

海森矩陣最直觀的定義是具有多維輸入的函數f(x

1,x2.....xn)的二階偏導數組成的方陣,形式如下:

梯度之上:海森矩陣

當然,我們也可以認為函數的輸入是一個多維向量,這和深度學習的場景就很相似了。由於微分算子在任何二階偏導連續的點可交換

梯度之上:海森矩陣

我們仔細觀察海森矩陣會發現它有很強的對稱性,實際上在深度學習的背景下,我們遇到的大多數函數的海森矩陣幾乎處處對稱。

二、作用

1、判斷多元函數的極值

我們都知道對於一元二階可導函數,一階導數為零,二階導數大於零是極小值點;一階導數為零,二階導數小於零是極大值點;一階導數和二階導數都為零是駐點。海森矩陣幫助我們把這個理論推廣到了多維函數。將海森矩陣進行特徵值分解可得如下定理:

矩陣正定(所有特徵值為正),該臨界點為局部極小值點。

矩陣負定(所有特徵值為負),該臨界點為局部極大值點。

特徵值中至少一個為正或者至少一個為負,該臨界點為鞍點。

所有非零特徵值同號且至少有一個特徵值為零,該點無法確定。

2、優化目標函數

我們可以將目標函數在某點的鄰域展開成泰勒多項式來逼近原函數。最典型的應用就是牛頓法。牛頓法基於一個二階泰勒公式展開來近似x

0附近的f(x)。

梯度之上:海森矩陣

其中H代表海森矩陣,如果f是一個正定二次函數,牛頓法能直接跳到函數的最小點。如果f不是一個正定二次函數但是在局部能近似為正定二次,牛頓法也可以比梯度下降更快的到達臨界點。

梯度之上:海森矩陣

但是在遇到鞍點時卻很容易淪陷。只有當海森矩陣正定時牛頓法才適用。


分享到:


相關文章: