邏輯迴歸
-
邏輯迴歸的梯度下降法推導
-
邏輯迴歸目標函數爲凸函數
訓練數據D={(x1,y1),⋯,(xn,yn)},其中(xi,yi)表示 一條樣本,xi∈RD爲D維樣本特徵(feature),yi∈{0,1}表示樣本標籤(label)。
邏輯迴歸模型的參數爲(w,b)。爲推導方便,通常將b整合到w中,此時,w和xi分別改寫爲
w=[w0,w1,⋯,wD], xi=[1,x1,⋯,xD]
1 邏輯迴歸的目標函數
目標函數(objective function),也稱爲損失函數(loss function),記爲L(w)。
二分類問題模型
p(y∣x;w)=p(y=1∣x;w)y[1−p(y=1∣x;w)]1−y(1)
最大似然估計(MLE)
w∗=argwmaxp(y∣x;w)=argwmaxi=1∏np(yi∣xi;w)=argwmaxlog[i=1∏np(yi∣xi;w)]=argwmaxi=1∑nlog[p(yi∣xi;w)]=argwmaxi=1∑nlog[p(yi=1∣xi;w)yi[1−p(yi=1∣xi;w)]1−yi]=argwmaxi=1∑n[yilogp(yi=1∣xi;w)+(1−yi)log[1−p(yi=1∣xi;w)]](2)
方程(2)是對p(y∣x;w)的最大似然估計。通常,目標函數對w取極小:
w∗=argwminL(w)
則目標函數(交叉熵損失)表示爲:
L(w)=−i=1∑n[yilogp(yi=1∣xi;w)+(1−yi)log[1−p(yi=1∣xi;w)]](3)
邏輯函數(logistic sigmoid function)
σ(x)=1+e−x1, σ′(x)=σ(x)(1−σ(x))
考慮二分類問題:給定x,事件發生(y=1)的條件概率爲p(y=1∣x;w),則該事件發生的條件機率比(odds)爲:
odd=1−p(y=1∣x;w)p(y=1∣x;w)=exp(wTx)
可知:
p(y=1∣x;w)=σ(wTx)=1+e−wTx1(4)
將方程(4)代入方程(3)中,可得邏輯迴歸的目標函數:
L(w)=−i=1∑n[yilogσ(wTxi)+(1−yi)log[1−σ(wTxi)]](5)
2 L(w)對w的梯度
向量求導
∂x∂aTx=∂x∂xTa=a
L(w)對w的梯度
∂w∂L(w)=−∂w∂∑i=1n[yilogσ(wTxi)+(1−yi)log[1−σ(wTxi)]]=−i=1∑n[yi∂w∂logσ(wTxi)+(1−yi)∂w∂log[1−σ(wTxi)]]=−i=1∑n[yi(1−σ(wTxi))xi−(1−yi)σ(wTxi)xi]=i=1∑n[σ(wTxi)−yi]xi(6)
梯度下降
w=w−η∂w∂L(w)=w−ηi=1∑n[σ(wTxi)−yi]xi
3 L(w)對w的二階導數
Hessian方程(Hessian formulation)
∂y∂y=[∂x∂y1⋯∂x∂yn]
L(w)對w的二階導數
∂2w∂2L(w)=∂w∂∑i=1n[σ(wTxi)−yi]xi=i=1∑n∂w∂σ(wTxi)xiT=i=1∑nσ(wTxi)(1−σ(wTxi))xixiT(7)
4 邏輯迴歸函數是凸函數
假設一個函數是凸函數,則其局部最優解即爲全局最優解。所以如果通過隨機梯度下降法等手段找到最優解時就可以確認這個解就是全局最優解。
證明凸函數的方法之一是證明二次導數大於等於0。例如函數f(x)=x2−3x+3,其二次導數f′′(x)=2>0,因此f(x)是凸函數。該理論也適用於多元變量函數。對於多元函數,只要證明其二階導數矩陣是半正定的(posititive semidefinite)即可。爲證明矩陣H爲半正定矩陣,需要證明對於任意非零向量v,滿足vTHv≥0。
∂2w∂2L(w)半正定性證明
vT∂2w∂2L(w)v=i=1∑nσ(wTxi)(1−σ(wTxi))vTxixiTv(8)
由於0<σ(wTxi)<1,故只需證明vTxixiTv≥0
vTxixiTv=(vTxi)2≥0⇒∂2w∂2L(w)≥0
因此,∂2w∂2L(w)爲半正定矩陣,邏輯迴歸函數是凸函數得證。