在 使用最大似然法來求解線性模型(3)-求解似然函數 文章中,我們讓 logL 對 w 求一階偏導數,讓偏導數等於0,解出 w,這個 w 就是使logL取最大值的w
那為什么令一階偏導數等於0,求得的w就能夠使 logL 取最大值呢?
在高等數學中,對於一元可導函數f(x)而言,一階導數f′(x)=0的點稱為拐點。而拐點不一定是極值點,一種判斷拐點是否是極值點的方式是:判斷拐點處的二階導數是否大於0
若拐點處的二階導數大於0,則f(x)在拐點處取極小值;若拐點處的二階導數小於0,則f(x)在拐點處取極大值;若拐點處的二階導數等於0,則拐點處不是極值。
上面的結論,可以用f(x)=x2 和 f(x)=x3 來驗證。當然,結論的前提是f(x)是二階可導的,如果二階導數都不存在,上面的方法自然就不能用來判斷極值點了。
而在機器學習中,我們考慮的樣本的特征有很多,不止一個,因此我們所處理的函數一般是多元的(多個自變量)。
比如 logL 是關於 w 的函數,而 w=[w1,w2] 是一個向量,logL 關於w求偏導數時,其實質就是對 w 個的每一個分量wi 求偏導數。

上面的
就是:logL 關於w的偏導數,又稱為梯度。從公式中可看出:logL是一個實數,它是一個標量--我們的目標也是尋找最大的logL,而梯度是一個向量。
是不是想到了梯度方法?沒錯,梯度下降方法就是用到了梯度的一個性質:
- 梯度性質:梯度方向
就是函數f 在w處 增加最快的方向,因此要搜索函數f 的最大值,往梯度方向搜索應該是一個很好的搜索方向。
這里不討論梯度的一些理論,而是在梯度的基礎上,再對wT求導,就得到了一個矩陣,如下所示:

這個矩陣就是黑塞矩陣,而 logL 在 w 點 是否取極值就由這個黑塞矩陣的性質來決定。
- 極小值定理:多元實值函數f(w)在定義域上二階連續可微,w*是定義域上的一個內點,如果w*滿足如下兩個條件:
- 則w*是函數f(w)的一個嚴格局部極小點。其中F(w)是黑塞矩陣。關於這個定理的證明可參考:《最優化導論 第四版》Edwin K.P.Chong著 孫志強譯
由前面的公式:
,再對wT求導,得出:
因此,對於函數logL而言,它的黑塞矩陣是:F(w)=(-1/σ2)XT*X
要想使得在w處logL取極大值,則黑塞矩陣:F(w)=(-1/σ2)XT*X < 0 。也即:XT*X > 0,也就是判斷矩陣XT*X是正定矩陣。
而在使用最大似然法來求解線性模型(3)-求解似然函數:中,矩陣X如下:


得到XT*X是一個對稱矩陣。判斷對稱矩陣是正定矩陣的定理有:
- 對稱陣A為正定的充分必要條件是:A的特征值全為正
- 對稱陣A為正定的充分必要條件是:A的各階順序主子式都為正
- 對於任意的一個非零向量z=[z1,z2]T,有 zT*A*z > 0。也即對稱矩陣A的 二次型 大於0
當一個矩陣是對稱矩陣時,根據上面的定理判斷它的正定性,是很方便的。這也是為什么將一般矩陣轉換成對稱矩陣來處理的原因。
這里采用第二種方式,來證明 XT*X 正定矩陣,由於它是2*2矩陣,故一共只有兩個順序主子序。
XT*X 的一階順序主子式為N,N>0 顯然成立。
XT*X 的二階順序主子式為:![]()
這里從概率論中隨機變量的方差角度出發來證明
將上式除以N的平方,得到:
再根據方差DX的定義,DX=E(X-EX)2是大於0的。故下面等式成立。

從而證明了二階主子式也大於0。故對稱矩陣XT*X是正定矩陣。
因此,對於一階偏導數等於0的點w*而言,它的黑塞矩陣總是正定的。因而滿足“極值定理”成立的條件。故w*是一個極大值點。
參考文獻:
- 《a first course of machine learning》
- 《最優化導論》第四版 Edwin K.P.Chong著
原文:http://www.cnblogs.com/hapjin/p/6633471.html
