在明白前面的理論之后,logistic regression就很容易理解了。
Logistic regression由兩個(gè)部分組成:
一個(gè)線性部分和一個(gè)鏈接公式
整體Hypothesis可以寫成:
第一部分,也就是線性部分和之前的linear regression一樣,是一個(gè)關(guān)于theta和x的線性的公式:
第二部分,也就是鏈接function,g(x),是一個(gè)logistic function。 所以稱為logistic regression。
畫(huà)出來(lái)圖像是這樣的:
很容易看出,這個(gè)function的輸出永遠(yuǎn)是在0和1之間的。這就可以用來(lái)測(cè)試某一個(gè)樣品屬于每一個(gè)類別的概率。(這里只討論有2個(gè)類的情況)
假設(shè):
樣品屬于類1和類0的概率分別為:
以上兩種情況可以綜合起來(lái)寫成:
我們的任務(wù)就變成了尋找一條直線(theta是這條直線的coeff),來(lái)最大化訓(xùn)練數(shù)據(jù)被成功分類的概率。
用最大似然估算法Maximum Likelihood Estimation可以測(cè)出最好的theta值:
為了計(jì)算簡(jiǎn)便,可以兩邊取log
最大值發(fā)生的時(shí)候,微分應(yīng)該等于0。
具體計(jì)算步驟就不寫了。
最后結(jié)果是:
Theta可以用Gradient Ascent方法算出。
Matlab測(cè)試:
Matlab中,線的系數(shù)可以用glmfit()算出。
取hypothesis=0.5,就可以畫(huà)出下面綠色的分界線。
這是我造的兩團(tuán)高斯分布的圖,綠色線就是logistic regression(Classification)的結(jié)果。
聯(lián)系客服