邏輯回歸(Logistic Regression)

分類問(wèn)題(Classification)

在前面的學(xué)習(xí)中,我們已經(jīng)詳細(xì)了解了線性回歸問(wèn)題。本篇文章將詳細(xì)介紹監(jiān)督學(xué)習(xí)中常見(jiàn)的另一類問(wèn)題:分類問(wèn)題,典型的分類問(wèn)題有腫瘤良性或者惡性的預(yù)測(cè),垃圾郵件的分類等。分類問(wèn)題的輸出,常用y表示,如下所示:
y∈\{0,1\}:
0: “負(fù)例(Negative Class )”
1: “正例(Positive Class)”

分類問(wèn)題的假設(shè)函數(shù)

在之前的線性回歸問(wèn)題中,我們使用線性函數(shù)h_\theta(x)用來(lái)擬合數(shù)據(jù)。然而,對(duì)于分類問(wèn)題而言,我們要求其輸出y的范圍應(yīng)該在(0,1)之間,而線性回歸問(wèn)題的假設(shè)函數(shù)h_\theta(x)輸出值可能大于1或者小于0,顯然,線性回歸的假設(shè)函數(shù)已然不適用于分類問(wèn)題,我們需要重新找一個(gè)新的假設(shè)函數(shù)用來(lái)擬合分類問(wèn)題的期望輸出。

  • Sigmod函數(shù)
    線性回歸問(wèn)題中的假設(shè)函數(shù)h_\theta(x) = \theta^T x,而想要其輸出值滿足 0\leq h_\theta(x) \leq1,引進(jìn)Sigmod函數(shù),如下所示:
    g(z) = \frac{1}{1+e^{-z}}
    z = \theta^T x
    g(z)的函數(shù)圖像如下所示,由函數(shù)圖像可知,sigmod函數(shù)能夠滿足邏輯回歸的基本要求,并且當(dāng)g(z)>0.5時(shí)可將其近似認(rèn)為g(z)=1,而當(dāng)g(z)\leq0.5時(shí),認(rèn)為g(z)=0,g(z)的輸出,在某種程度上表示一個(gè)分類問(wèn)題在給定x的條件下等于0或者1的概率。
  • 決策邊界(Decision Boundary)
    假設(shè)存在一假設(shè)函數(shù)h_\theta(x)=\theta^Tx,如下圖所示,假設(shè)函數(shù)的曲線將平面劃分為兩半,則曲線上方表示y=1,曲線下方表示y=0,則由h_\theta(x)函數(shù)構(gòu)成的曲線稱之為決策邊界(Decision Boundary)。

代價(jià)函數(shù)(Cost Function)

  • 代價(jià)函數(shù)的表示
    與線性回歸問(wèn)題一樣,尋找合適的\theta參數(shù)對(duì)于假設(shè)函數(shù)與訓(xùn)練集的擬合是非常重要的,而尋找代價(jià)函數(shù)的最小值無(wú)疑是至關(guān)重要的,顯然,梯度下降算法對(duì)于尋找代價(jià)函數(shù)的最小值仍然是一種行之有效的方法。與線性回歸問(wèn)題類似,代價(jià)函數(shù)的表達(dá)式可以如下表示:
    J(\theta) = \frac{1}{m}\sum_{i=1}^{m}Cost(h_\theta(x_i),y_i)
    與線性回歸問(wèn)題不同的是,因?yàn)榧僭O(shè)函數(shù)的表達(dá)式含有e^{-z}這一分量,為了更好地表達(dá)邏輯回歸的相關(guān)問(wèn)題,需要對(duì)邏輯回歸的的代價(jià)函數(shù)作如下處理:
    Cost(h_\theta(x),y) =\begin{cases} -log(h_\theta(x)) \ \ \ \ \ \ \ \ \ if\ \ \ \ y=1 \ \\-log(1-h_\theta(x)) \ \ if \ \ \ y=0 \end{cases}
    根據(jù)y=1y=0兩種不同的情況,其代價(jià)函數(shù)的圖像如下所示:


    根據(jù)代價(jià)函數(shù)兩種不同情況下的圖像,可以清楚得表達(dá)出h_\theta(x)與其代價(jià)函數(shù)大小之間的關(guān)系。
  • 代價(jià)函數(shù)的優(yōu)化
    以上,我們已經(jīng)正確地表達(dá)出了代價(jià)函數(shù)的表達(dá)式,但是,為了更加方便的求解代價(jià)函數(shù),我們需要將代價(jià)函數(shù)的兩個(gè)表達(dá)式合并成一個(gè)表達(dá)式,根據(jù)y=0y=1兩種不同的情況,很容易推導(dǎo)出其合并后的表達(dá)式如下所示:
    Cost(h_\theta(x),y) = -ylog(-h_\theta(x))-(1-y)log(1-h_\theta(x))
  • 代價(jià)函數(shù)的最小化
    與線性回歸一樣,得到代價(jià)函數(shù)之后,需要對(duì)代價(jià)函數(shù)求取最小值,仍然使用梯度下降算法,如下所示,需要注意的是必須同時(shí)更新代價(jià)函數(shù)的所有\theta參數(shù)
    Repeat \ \ \{
    \theta_j := \theta_j- \alpha\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}
    \}
    從以上表達(dá)式中,可以看出雖然\theta的更新算法的表達(dá)式與線性回歸的中\theta的更新算法的表達(dá)式基本一致,但是,需要注意其表達(dá)式中的h_\theta(x)與線性回歸算法中h_\theta(x)的表達(dá)式形式有著根本性的差異。

注意:線性回歸算法中的特征縮放也適用于邏輯回歸算法

一對(duì)多的分類問(wèn)題

以上,我們已經(jīng)了解的邏輯回歸問(wèn)題以及相關(guān)算法,并且能夠運(yùn)用合適的算法將其應(yīng)用于解決實(shí)際問(wèn)題,然而,現(xiàn)實(shí)中的問(wèn)題并不僅僅是簡(jiǎn)單的二元分類,可能面臨著更加復(fù)雜的問(wèn)題,例如天氣情況的分類,郵件類型的分類等等。為此,一對(duì)多的分類問(wèn)題可以用下圖簡(jiǎn)單表示:



先將其中一個(gè)類別劃分為負(fù)例,另外兩個(gè)類別劃分為正例,尋找其決策邊界,如上圖所示,通過(guò)多次劃分,最終找到3條決策邊界線,實(shí)現(xiàn)一對(duì)多問(wèn)題的分類。

附:代價(jià)函數(shù)的推導(dǎo)

以上,我們已經(jīng)了解了邏輯回歸的假設(shè)函數(shù),則根據(jù)假設(shè)函數(shù)的定義,可以認(rèn)為根據(jù)y的取值(0或者1)概率用如下公式表示:
P(y|x,\theta) = h_\theta(x)^y(1-h_\theta(x))^{1-y}

有了概率分布的函數(shù)表達(dá)式,就可以利用最大似然估計(jì)法估計(jì)合適的\theta值,根據(jù)以上概率分布函數(shù)以及最大似然估計(jì)法,可以寫(xiě)出如下的最大似然函數(shù)

L(\theta) = \prod_{i=1}^{m}h_\theta(x^i)^{y(i)}(1-h_\theta(x^{i}))^{1-y(i)}

其中m表示樣本個(gè)數(shù)。
如下所示,對(duì)似然函數(shù)進(jìn)行取對(duì)數(shù):
J(\theta) = -\frac{1}{m}lnL(\theta) =\frac{1}{m}\sum_{i=1}^{m} -y^{(i)}log(h_\theta(x^{(i)}))-(1-y^{(i)})log(1-h_\theta(x^{(i)}))

根據(jù)最大似然估計(jì)法,對(duì)J(\theta)關(guān)于\theta求導(dǎo),根據(jù)鏈?zhǔn)角髮?dǎo)法則,求導(dǎo)詳細(xì)過(guò)程如下所示:

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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