用最大似然估計求邏輯迴歸引數
一.最大似然估計
選擇一個(一組)引數使得實驗結果具有最大概率。
A. 如果分佈是離散型的,其分佈律,是待估計的引數,這裡我們假設為已知量,則:設X1, X2, ... , Xn 是來自於X的樣本,X1,X2,...Xn的聯合分佈律為:
(1)
設x1,x2,...xn是X1,X2,..Xn的一個樣本值,則可知X1,..Xn取x1,..,x2的概率,即事件{X1 = x1,...,Xn=xn}發生的概率為:
(2)
這裡,因為樣本值是已知的,所以(2)是的函式,稱為樣本的似然函式。
最大似然估計:已知樣本值x1,...xn,選取一組引數
與x1,...,xn有關,記為並稱其為引數的極大似然估計值。
B.如果分佈X是連續型,其概率密度的形式已知,為待估計引數,則事件X1,...Xn的聯合密度為:
(3)
設x1,..xn為相應X1,...Xn的一個樣本值,則隨機點(X1,...,Xn)落在(x1,..xn)的領域內的概率近似為:
(4)
最大似然估計即為求值,使得(4)的概率最大。由於
不隨而變,故似然函式為:
(5)
C. 求最大似然估計引數的步驟:
(1) 寫出似然函式:
(6)
這裡,n為樣本數量,似然函式表示n個樣本(事件)同時發生的概率。
(2) 對似然函式取對數:
(3) 將對數似然函式對各引數求偏導數並令其為0,得到對數似然方程組。
(4) 從方程組中解出各個引數。
D. 舉例:
設;為未知引數,x1,...xn為來自X的一個樣本值。求的極大似然估計值。
解:X的概率密度為:
似然函式為:
令 即:
解得: 帶入解得
二.邏輯迴歸
邏輯迴歸不是迴歸,而是分類。是從線性迴歸中衍生出來的分類策略。當y值為只有兩個值時(比如0,1),線性迴歸不能很好的擬合時,用邏輯迴歸來對其進行二值分類。
這裡邏輯函式(S型函式)為:
(7)
於是,可得估計函式:
(8)
這裡,我們的目的是求出一組值,使得這組可以很好的模擬出訓練樣本的類值。
由於二值分類很像二項分佈,我們把單一樣本的類值假設為發生概率,則:
(9)
可以寫成概率一般式:
(10)
由最大似然估計原理,我們可以通過m個訓練樣本值,來估計出值,使得似然函式值最大:
(11)
這裡,為m個訓練樣本同時發生的概率。對求log,得:
(12)
我們用隨機梯度上升法,求使最大化時的值,迭代函式為:
(13)
這裡對每個分量進行求導,得:
(14)
於是,隨機梯度上升法迭代演算法為:
repeat until convergence{
for i = 1 to m{
(15)
}
}
思考:
我們求最大似然函式引數的立足點是步驟C,即求出每個引數方向上的偏導數,並讓偏導數為0,最後求解此方程組。由於中引數數量的不確定,考慮到可能引數數量很大,此時直接求解方程組的解變的很困難。於是,我們用隨機梯度上升法,求解方程組的值。
備註:
(a) 公式(14)的化簡基於g(z)導函式,如下:
(16)
(b) 下圖為邏輯函式g(z)的分佈圖: