爲什麼機器學習(一)——Hessian矩陣的正定性爲什麼可以決定函數是否有極值
在學習機器學習的過程中,我們不可繞開的是訓練模型的時候怎麼找到損失函數的極值。
可能大家都曾記住過這樣一個結論:若M點處函數的梯度爲0,則M爲駐點,那麼:
(1)Hessian矩陣正定=>函數在M點有極小值
(2)Hessian矩陣負定=>函數在M點有極大值
(3)Hessian矩陣不定=>M點不是極值點
最初我看到這個結論的時候把他當公式背下來了,但是時間久了容易忘而且理解不深刻,最近試着證明理解了一下,希望大家批評指正。
1.引理:多元函數的Taylor展開
多元函數的在x0處的Taylor展開爲:
f(x1,x2,......,xn)=f(x0(1),x0(2),......,x0(n))+∑i=1nfx0(i)′(x0(1),x0(2),......,x0(n))(xi−x0(i))+2!1∑i,j=0n(xi−x0(i))(xj−x0(j))fx0(i)x0(j)′′(x0(1),x0(2),......,x0(n))+on
寫成矩陣形式:
f(x)=f(x0)+[∇f(x0)]T(x−x0)+2!1[x−x0]TH(x0)[x−x0]+on
其中H是Hessian矩陣
2.從極值原理出發看爲什麼有極值
假設x0是駐點,我們想判斷這個點是否是極值點,那麼要看f(x0+Δx)和f(x0)的關係:
由Taylor展開的矩陣形式:
f(x+Δx)−f(x)=[∇f(x0)]T(Δx)+2!1[Δx]TH(x0)[Δx]+on(1)
由於x0是駐點,所以[∇f(x0)]T爲0,忽略on,則(1)式的正負僅與[Δx]TH(x0)[Δx]有關,故:
(1)Hessian矩陣正定=>(1)式大於0恆成立,函數在M點有極小值
(2)Hessian矩陣負定=>(1)式小於0恆成立函數在M點有極大值
(3)Hessian矩陣不定=>(1)式正負性難料,M點不是極值點