回歸(二):Logistic回歸

回歸(二)

Logistic 回歸

雖然本小節(jié)的方法叫做Logistic回歸,但是Logistic回歸通常用于解決離散狀態(tài)的分類問題。

Logistic/sigmoid函數(shù)

首先直接給出sigmoid函數(shù)的定義:

g(z) = \frac{1}{1+ e^{-z}}?

我們在線性回歸中使用的使用的預(yù)測函數(shù):h_{\theta}(x) = \theta^Tx?,將其直接代入到sigmoid函數(shù)中,并將這個新的函數(shù)作為我們的預(yù)測函數(shù):

h_{\theta}(x) = g(\theta^Tx) = \frac{1}{1+ e^{-\theta^Tx}}

sigmoid函數(shù)有一個很好的性質(zhì)就是,它的就到時非常簡單的:

g^{'}(x) =( \frac{1}{1+ e^{-x}})^{'} = \frac{e^{-x}}{(1+e^{-x})^2}\\ = \frac{1}{1+e^{-x}}\centerdot\frac{e^{-x}}{1+e^{-x}} = \frac{1}{1+e^{-x}}\centerdot(1- \frac{1}{1+e^{-x}})\\ =g(x)(1-g(x))

Logistic回歸的優(yōu)化算法

在最簡單的二分類問題中,我們可以將問題簡化為y只能取兩個值:0和1。并且將h_{\theta}(x)作為y取1的概率,因此我們可以假設(shè):

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ù);

L(\theta) = p(\vec y|X; \theta)\\ = \prod_{i=1}^mp(y^{(i)}|x^{(i)};\theta)\\ =\prod_{i=1}^m(h_{\theta}(x^{(i)}))^{y^{(i)}} (1-h_{\theta}(x^{(i)}))^{1-y^{(i)}}?

取對數(shù)似然函數(shù):

l(\theta) = logL(\theta) = \sum_{i=1}^my^{(i)}logh(x^{(i)}) + (1-y^{(i)})log(1-h(x^{(i)}))?

對數(shù)似然函數(shù)對參數(shù)\theta求偏導(dǎo):

\frac{\partial l(\theta)}{\partial \theta^j} = \sum_{i=1}^m(\frac{y^{(i)}}{h_{\theta}(x^{(i)})} - \frac{1- y^{(i)}}{1-h_{\theta}(x^{(i)})})\centerdot\frac{\partial h_{\theta}(x^{(i)})}{\partial \theta_j}\\ =\sum_{i=1}^m(\frac{y^{(i)}}{g(\theta^Tx^{(i)})} - \frac{1- y^{(i)}}{1-g(\theta^Tx^{(i)})})\centerdot\frac{\partial g(\theta^Tx^{(i)})}{\partial \theta_j}\\ =\sum_{i=1}^m(\frac{y^{(i)}}{g(\theta^Tx^{(i)})} - \frac{1- y^{(i)}}{1-g(\theta^Tx^{(i)})})\centerdot g(\theta^Tx^{(i)})(1-g(\theta^Tx^{(i)}))\centerdot\frac{\partial \theta^Tx^{(i)}}{\partial \theta_j}\\ =\sum_{i=1}^m(y^{(i)}(1-g(\theta^Tx^{(i)})) - (1-y^{(i)})g(\theta^Tx^{(i)}))\centerdot x^{(i)}_j\\ =\sum_{i=1}^m(y^{(i)}-g(\theta^Tx))\centerdot x^{(i)}_j

因此,根據(jù)極大似然估計,很容易就可以得到學(xué)習(xí)的算法:

\theta_j := \theta_j + \alpha(y^{(i)} - h_{\theta}(x^{(i)}))x^{(i)}_j

其實logistic回歸的學(xué)習(xí)和線性回歸具有相同的形式。在預(yù)測的過程中,我們使用模型來計算y=1的概率,如果超過0.5就預(yù)測y=1,否則就預(yù)測y=1。

Logistic回歸的解釋

一個事件發(fā)生的幾率odds,是該事件發(fā)生的概率和該事件不發(fā)生的概率的比值。

我們之前直接把h_{\theta}(x)作為y取1的概率,我們來計算一下y取1的對數(shù)幾率:

ln\ odds(p) = ln\frac{p}{1-p} = ln\frac{h_{\theta}(x)}{1-h_{\theta}(x)} = ln\frac{\frac{1}{1+e^{-\theta^Tx}}}{\frac{e^{-\theta^Tx}}{1+e^{-\theta^Tx}}} = \theta^Tx

因此logistic回歸就可以看成是一個廣義的線性回歸,\theta^Tx可以解釋為事件y=1的幾率。反過來我們可以推導(dǎo)出sigmoid函數(shù),如果我們想要構(gòu)造一個模型,是的y=1的對數(shù)幾率滿足一個線性模型,即:

ln\frac{p}{1-p} = \theta^Tx \Rightarrow \frac{p}{1-p} = e^{\theta^Tx}\\ \Rightarrow (1+e^{\theta^T x})\centerdot p = e^{\theta^Tx}\\ \Rightarrow p = \frac{e^{\theta^Tx}}{1+ e^{\theta^Tx}}\\ \Rightarrow p = \frac{1}{1+e^{-\theta^Tx}}

就得到了sigmoid函數(shù)的形式。以上推導(dǎo),讀者可以自行理解。

Logistic回歸的損失函數(shù)

這里我們對y的取值做一些修改,即:y_i\in\{-1, 1\},因此我們可以改寫一下似然函數(shù):

L(\theta) = \prod _{i=1}^{m} p_i^{(y_i+1)/2}(1-p_i)^{-(y_i-1)/2}\\ \Rightarrow l(\theta) = \sum ln\left[ p_i^{(y_i+1)/2}(1-p_i)^{-(y_i-1)/2} \right]

我們令p_i = \frac{1}{1+e^{-f_i}},那么:

l(\theta) = \sum_{i=1}^m ln \left[ \left(\frac{1}{1+e^{-f_i}}\right)^{(y_i+1)/2}\left( \frac{1}{1+e^{f_i}} \right)^{-(y_i-1)/2}\right]

\therefore loss(y_i, \hat{y_i}) = -l(\theta)\\ = \sum_{i=1}^m \left[ \frac{1}{2} (y_i + 1) ln(1+e^{-f_i}) - \frac{1}{2}(y_i - 1)ln(1+e^{f_i}) \right]\\ = \begin{cases}\sum_{i=1}^m\left[ ln(1+e^{-f_i})\right] \qquad y_i = 1\\ \sum_{i=1}^m\left[ ln(1+e^{f_i})\right] \qquad y_i = -1 \end{cases} \Rightarrow loss(y_i, \hat{y_i}) = \sum_{i=1}^{m}\left[ ln(1+e^{-y_if_i}) \right]

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

相關(guān)閱讀更多精彩內(nèi)容

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