Logistic Regression邏輯迴歸原理及推導

邏輯迴歸算法,雖說名字有迴歸,實則是一個分類模型,而且是二分類。
Logistic本質上是一個基於條件概率的判別模型(Discriminative Model)
g(z) = 11+ez
這裏寫圖片描述

通過這個圖像sigma函數,通常以0.5爲分界,大於0.5爲正樣本,反之爲負樣本,是一個二分類的方法。
那麼將這個函數擴展到多維空間,就是說不只是二分類,而是多分類問題,那麼原始的函數
g(z) = 11+ez (二分類)

就要變成

hθ(x)=g(θTx)=11+eθTx (多分類)
現在需要解決的一個問題是求θ ,如何得到合適的參數向量θ
根據sigma函數的特性,我們可以這樣假設一下:
P(y=1|x;θ)=hθ(x) (根據當前的參數,提供樣本x,該樣本屬於y=1的概率)
P(y=0|x;θ)=1hθ(x)
上兩式爲已知樣本X和參數θ 的前提下,樣本X屬於正樣本(y = 1) 負樣本 (y = 0)的條件概率

然後將以上兩個公式進行合併

P(y|x;θ)=(hθ(x))y(1hθ(x))1y
這個公式也就是對二分類綜合的公式,能分別求出屬於正樣本、負樣本的概率

此時會用到最大似然估計的知識。最大似然估計的目的是:利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的參數值。

既然概率出來了,那麼最大似然估計也該使用了。假定樣本與樣本之間相互獨立,那麼整個樣本集生成的概率即爲所有樣本生成概率的乘積:

L(θ)=p(y|X;θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)

爲了簡化問題,我們對整個表達式求對數(將指數問題對數化是處理數學問題常見的方法):

l(θ)=log L(θ)=i=1mlog h(x(i))+(1y(i))log(1h(x(i)))

滿足似然函數(θ) 的最大的θ 值即是我們需要求解的模型。

梯度上升算法
Xi+1=Xi+αf(Xi)Xi

其中,α 爲步長。
回到Logistic Regression問題,我們同樣對函數求偏導。
θjl(θ)=(y1g(θTx)(1y)11g(θTx))θjg(θTx)=(y1g(θTx)(1y)11g(θTx))g(θTx)(1g(θTx))θjθTx=(y(1g(θTx))(1y)g(θTx))xj=(yhθ(x))xj

對以上公式的詳細過程:

θjl(θ)=l(θ)g(θTx)g(θTx)θTxθTxθj

其中:

l(θ)=ylog g(θTx)+(1y)log(1g(θTx))
l(θ)g(θTx)=y1g(θTx)+(1y)11g(θTx)(1)

z=θTx

g(z)=ddz11+ez=1(1+ez)2(ez)=1(1+ez)(11(1+ez))=g(z)(1g(z))

可得:

g(θTx)θTx=g(θTx)(1g(θTx))

接下來就剩下第三部分:
θTxθj=(θ1x1+θ2x2+...+θmxm)θj=xj

(這個公式應該很容易理解,簡單的偏導公式,只有第j項進行計算)

再有就是:

hθ(x)=g(θTx)=11+eθTx

綜合第三部分即得到:
θjl(θ)=(yhθ(x))xj

因此,梯度迭代公式爲:
θj:=θj+α(y(i)hθ(x(i)))xj(i)

本篇文章參考了http://www.cnblogs.com/bonelee/p/7253508.html,並對齊進行了整理,思路更清晰直觀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章