Logistic 迴歸是機器學習中經典的分類方法,常見的二項 Logistic 迴歸模型是一種二項分類模型,由條件概率分佈P(Y|X) 表示,形式爲參數化的Logistic 分佈。爲了更好地理解 Logistic 迴歸,我們先從線性迴歸開始說起。
假設有m 個樣本點,記爲{(x(i),y(i)),i=1,2,3...,m },其中x 爲輸入變量,y 爲輸出變量。每個樣本點輸入變量x(i) 都有n 個特徵,分別是x(i)1,x(i)2,x(i)3,...,x(i)n 。對於所有樣本點我們用線性迴歸模型去擬合這些樣本點,對於二維來說模型是一條直線,對於多維是一個超平面。
設線性迴歸模型爲hθ(x)=θ0+θ1x1+θ2x2+…+θnxn ,記θ⃗ =(θ0,θ1,θ2,...,θn)T,x⃗ =(1,x1,x2,...,xn)T ,那麼模型可以寫成hθ(x)=θ⃗ Tx⃗ 。
當然我們知道模型的估計值θTx(i) 與實際值y(i) 之間是有誤差的,我們即爲ε(i) ,因此可得y(i)=θTx(i)+ε(i) ,根據中心極限定理,誤差ε(i)(1≤i≤m) 是獨立同分布的,服從均值爲0,方差爲某定值σ2 的高斯分佈(高斯分佈即正態分佈),因而ε(i) 的概率分佈爲:
p(ε(i))=12π−−√σexp(−(ε(i))22σ2)
將ε(i) 替換成y(i)−θTx(i) 可得:
p(y(i)|x(i);θ)=12π−−√σexp(−(y(i)−θTx(i))22σ2)
根據極大似然估計,該分佈的似然函數爲:L(θ)=∏i=1m12π−−√σexp(−(y(i)−θTx(i))22σ2)
取對數爲:
logL(θ)=log∏i=1m12π−−√σexp(−(y(i)−θTx(i))22σ2)=mlog12π−−√σ−1σ2⋅12∑i=1m(y(i)−θTx(i))2
我們令:
J(θ)=12∑i=1m(y(i)−θTx(i))2
因此要求L(θ) 的極大值,即可求J(θ) 的極小值,事實上J(θ)=12∑mi=1(y(i)−θTx(i))2 即爲最小二乘。
Logistic 函數(或叫 Sigmoid 函數)爲g(x)=11+e−x ,它的函數圖像如下:
它的值域爲[0, 1],這是一個很好的性質,我們可以認爲他是一個概率分佈,這是 Logistic 迴歸的關鍵。還有,對g(x) 求導結果如下(大家可以自己證明):
g′(x)=g(x)(1−g(x))
在上面所述的線性迴歸中,hθ(x)=θTx ,而對於 Logistic 迴歸將其改成:hθ(x)=g(θTx)=11+e−θTx
二項 Logistic 迴歸模型是如下的條件概率分佈:
p(y=1|x;θ)=hθ(x)
p(y=0|x;θ)=1−hθ(x)
即爲:p(y|x;θ)=(hθ(x))y(1−hθ(x))1−y
根據極大似然估計,似然函數爲:L(θ)=∏i=1m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)
對數似然函數爲:logL(θ)=∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
對其求極大值,得到θ 的估計值。求解可以採用梯度下降法或擬牛頓法。
如果θ 的極大似然估計值是θ^ ,那麼學習到的 Logistic 迴歸模型即爲:p(y=1|x)=11+e−θ^Tx
p(y=0|x)=e−θ^Tx1+e−θ^Tx