邏輯回歸算法原理

一、從線性回歸到邏輯回歸

\quad首先從線性回歸模型出發(fā),線性回歸模型的輸出值y是連續(xù)型變量,值域?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=R" alt="R" mathimg="1">;邏輯回歸的輸出值y是離散型變量,值域?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5C%7B0%2C1%5C%7D" alt="\{0,1\}" mathimg="1">;
\quad邏輯回歸實(shí)屬?gòu)V義線性模型,線性回歸預(yù)測(cè)函數(shù)可簡(jiǎn)單表示為y=X\theta,而邏輯回歸預(yù)測(cè)函數(shù)需要做一個(gè)函數(shù)轉(zhuǎn)換y=g(z),其中z=X\theta,即通過(guò)g將線性回歸原本的值域R映射到[0,1]區(qū)間內(nèi),當(dāng)取值大于臨界值時(shí)為一類,小于臨界值時(shí)為另一類,從而達(dá)到0-1分類的目的。這里g一般使用sigmoid函數(shù),即
g(z)=\frac{1}{1+e^{-z}}
sigmoid有一個(gè)性質(zhì):當(dāng)z趨于+\infty時(shí),g(z)趨于1;當(dāng)z趨于-\infty時(shí),g(z)趨于0。
因此,線性回歸實(shí)際解決的是預(yù)測(cè)實(shí)數(shù)連續(xù)值的問(wèn)題;邏輯回歸解決的是分類問(wèn)題。

二、 邏輯回歸原理

邏輯回歸的假設(shè)函數(shù)為:
h_\theta(X)=g(X\theta)=\frac{1}{1+e^{-X\theta}}
其中X為樣本輸入,h_\theta(X)為模型輸出,\theta為要求解的模型參數(shù)。設(shè)0.5為臨界值,當(dāng)h_\theta(X)>0.5時(shí),即X\theta>0時(shí),y為1;當(dāng)h_\theta(X)<0.5時(shí),即X\theta<0時(shí),y為0。
模型輸出值h_\theta(X)[0,1]區(qū)間內(nèi)取值,因此可從概率角度進(jìn)行解釋:h_\theta(X)越接近于0,則分類為0的概率越高;h_\theta(X)越接近于1,則分類為1的概率越高;h_\theta(X)越接近于臨界值0.5,則無(wú)法判斷,分類準(zhǔn)確率會(huì)下降。

三、邏輯回歸損失函數(shù)及求解

1.邏輯回歸損失函數(shù)

邏輯回歸采用對(duì)數(shù)似然損失函數(shù):
J(Y,P(Y|X))=-log(P(Y|X))

假設(shè)樣本輸出y是0,1兩類,則

P(y=1|x;\theta)=h_\theta(x)

P(y=0|x;\theta)=1-h_\theta(x)

即:
P(y|x;\theta)=[h_\theta(x)]^y[1-h_\theta(x)]^{1-y}

則損失函數(shù)為:
J(\theta)=-\sum_{i=1}^n{log( [h_\theta(x^{(i)})]^{y^{(i)}}[1-h_\theta(x^{(i)})]^{1-y^{(i)}} )}
=-\sum_{i=1}^n [ y^{(i)}log([h_\theta(x^{(i)})])+(1-y^{(i)})log( [1-h_\theta(x^{(i)})] ) ]

寫成向量形式即:
J(\theta)=-Y^T log(h_\theta(X)) - (E-Y)^T log(E-h_\theta(X))
其中E為全1向量。

2.損失函數(shù)優(yōu)化求解

\quad邏輯回歸損失函數(shù)求解可用梯度下降法、牛頓法等,這里僅介紹梯度下降法求解的迭代公式推導(dǎo)。
迭代公式為:
\theta^t=\theta^{t-1}-\alpha \nabla J(\theta^{t-1})
下面推導(dǎo)損失函數(shù)的梯度\nabla J(\theta)

h_{\theta}(X)=\frac{1}{1+e^{-X\theta}}

log(h_\theta(X))=X\theta-log(1+e^{X\theta})

log(E-h_\theta(X))=-log(1+e^{X\theta})

將上式代入邏輯回歸損失函數(shù)得:

J(\theta)=-[Y^TX\theta-E^Tlog(1+e^{X\theta})]

根據(jù)矩陣求導(dǎo)術(shù)計(jì)算微分dJ(\theta)得:

dJ(\theta)=-[Y^TXd\theta-E^T \frac{1}{1+e^{-X\theta}}⊙Xd\theta ]

根據(jù)E^T(u⊙v)=u^Tv,則:

dJ(\theta)=- [Y^TX-h_\theta(X)^TX] d\theta

帶入跡技巧,由dJ=\frac{\partial J}{\partial \theta}^TdX,可得梯度為:

\nabla J(\theta)= X^T(h_\theta(X)-Y)

則梯度下降法求解參數(shù)\theta的迭代公式為:

\theta^t=\theta^{t-1}-\alpha X^T(h_{\theta^{t-1}}(X)-Y)

四、 邏輯回歸的正則化

\quad與線性回歸的正則化相似,邏輯回顧的正則化同樣是在損失函數(shù)上加上正則化項(xiàng),即L1范數(shù)或L2范數(shù),超參數(shù)\alpha作為懲罰系數(shù),調(diào)節(jié)懲罰的大小。
L1正則化損失函數(shù)為:
J(\theta)=-Y^T log(h_\theta(X)) - (E-Y)^T log(E-h_\theta(X)) + \alpha ||\theta||_1

L2正則化損失函數(shù)為:
J(\theta)=-Y^T log(h_\theta(X)) - (E-Y)^T log(E-h_\theta(X)) + \alpha ||\theta||_2 ^2

五、模型評(píng)估指標(biāo)

\quad分類問(wèn)題有通用的評(píng)估指標(biāo),常用的是準(zhǔn)確率(accuary)、召回率(recall)、精度(precision)、ROC曲線、AUC。

六、邏輯回歸的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

1.便于理解和實(shí)現(xiàn),可以觀測(cè)樣本的概率分?jǐn)?shù) \quad\quad
2.訓(xùn)練速度快 \quad\quad
3.由于經(jīng)過(guò)了sigmoid函數(shù)的映射,對(duì)數(shù)據(jù)中小噪聲的魯棒性較好
4.不受多重共線性的影響(可通過(guò)正則化進(jìn)行消除)

缺點(diǎn):

1.容易欠擬合 \quad\quad
2.特征空間很大時(shí)效果不好 \quad\quad
3.由于sigmoid函數(shù)的特性,接近0/1的兩側(cè)概率變化較平緩,中間概率敏感,波動(dòng)較大;導(dǎo)致很多區(qū)間特征變量的變化對(duì)目標(biāo)概率的影響沒(méi)有區(qū)分度,無(wú)法確定臨界值。

七、樣本不均衡問(wèn)題解決辦法

\quad樣本不均衡指的是數(shù)據(jù)集中正負(fù)例樣本比例失衡,不再是1:1。此類問(wèn)題的解決方法一般是基于數(shù)據(jù)集的重采樣或者基于模型的調(diào)整。對(duì)于邏輯回歸來(lái)說(shuō)可以調(diào)整預(yù)測(cè)函數(shù)的臨界值,使其適當(dāng)偏向少數(shù)類樣本,平衡召回率和精度。

八、 Logistic回歸sklearn參數(shù)

LR參數(shù).png

參考
https://www.cnblogs.com/pinard/p/6029432.html
https://zhuanlan.zhihu.com/p/24709748
https://blog.csdn.net/garfielder007/article/details/51646604
https://blog.csdn.net/Mr_HHH/article/details/79433094

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容