本文是結(jié)合書來作出自己的理解和總結(jié)的恶复,主要的參考書目是《統(tǒng)計學(xué)習(xí)方法》饵隙,后期的修改中剔宪,我會加入相關(guān)的其他書籍進(jìn)來宿饱。歡迎批評和指正~~
本文的思路是根據(jù)《統(tǒng)計學(xué)習(xí)方法》第一章所提到的:統(tǒng)計學(xué)習(xí)方法 = 模型+策略+算法的思路來講的胀瞪,所以针余,如果對于這個思路有疑問,自行看第一章凄诞。本文主要介紹的是邏輯斯蒂模型的模型圆雁、策略和算法,至于最大熵模型帆谍,這里不予介紹伪朽。首先會介紹邏輯斯蒂模型的基本模型,然后會介紹極大似然估計的基本原理和邏輯回歸的策略并求出邏輯回歸的目標(biāo)函數(shù)汛蝙,最后介紹梯度上升算法和邏輯回歸目標(biāo)函數(shù)的最優(yōu)化烈涮。
1、邏輯斯蒂模型
1.1窖剑、邏輯斯蒂分布
為什么先講邏輯斯蒂分布呢坚洽?因?yàn)槲覀兊倪壿嬎沟倌P途褪歉鶕?jù)邏輯斯蒂分布得到的,所以說邏輯斯蒂方法是屬于判別方法西土,即知道了P(Y|X)的形式(當(dāng)然讶舰,我們是不知道P(X,Y)的,要不然機(jī)器學(xué)習(xí)也就沒有意義了需了。)跳昼,通過參數(shù)估計方法直接估計出參數(shù),從而得到P(Y|X)肋乍。下面給出《統(tǒng)計學(xué)習(xí)方法》上邏輯斯蒂分布的定義:
1.2庐舟、二項(xiàng)邏輯斯蒂回歸模型
知道分布的定義之后,就是給出我們的邏輯斯蒂模型了:
這里需要注意的有兩點(diǎn):(1)最終的結(jié)果是通過比較P(Y=1|X)和P(Y=0|X)的大小來確定類別的住拭;(2)b在這里其實(shí)可以看做是w0x0挪略,其中x0 = 1历帚;(3)其實(shí)本質(zhì)上這個就是一個二項(xiàng)分布,所以遵循二項(xiàng)分布的分布律杠娱。
1.3挽牢、事件的對數(shù)幾率(log odds)
廢話不說,還是看看統(tǒng)計學(xué)習(xí)方法上面的定義:
1.4摊求、第一個結(jié)論
根據(jù)之前禽拔,我們就得到了兩個定義:(1)邏輯回歸模型;(2)事件的對數(shù)幾率室叉。那么從這兩個定義睹栖,我們可以得到什么推論呢?
也就是說茧痕,如果我的模型是邏輯回歸模型野来,那么事件{Y=1|X}發(fā)生的對數(shù)幾率就是輸入X的線性函數(shù)(模型)。所以只要知道了這個推論踪旷,我們是可以反推出邏輯斯蒂模型的形式的:
1.5曼氛、比較邏輯斯蒂模型和感知機(jī)
首先,很顯然令野,這里的邏輯斯蒂模型可以看成是f(wx)舀患,也就是wx的函數(shù):sigmoid函數(shù),感知機(jī)則是sign函數(shù)气破。
2聊浅、邏輯斯蒂回歸的策略
2.1、極大似然估計的基本思想
這部分請參考百度百科现使, 我覺得百度百科上面已經(jīng)講的很好了狗超。
2.2、通過極大似然估計推導(dǎo)邏輯回歸的目標(biāo)函數(shù)
這里我給出手寫的推導(dǎo):這里需要說明的一點(diǎn)就是朴下,每一次伯努利獨(dú)立重復(fù)試驗(yàn)都可以看作是很多的服從(0努咐,1)分布的小試驗(yàn)之和。所以伯努利試驗(yàn)的一個結(jié)果{X1 = x1,X2 = x2,....,Xn = xn}中的每個Xi都是可以看成是服從(0殴胧,1)分布的渗稍,所以其分布律服從(0,1)分布的分布律团滥。
3竿屹、目標(biāo)函數(shù)的最優(yōu)化算法:梯度上升
這部分的內(nèi)容我會結(jié)合相關(guān)的代碼來實(shí)現(xiàn)。
3.1灸姊、梯度的推導(dǎo)
還是給出手寫的推導(dǎo)
3.2拱燃、邏輯回歸代碼的實(shí)現(xiàn)
代碼的解析,主要是在gradascent里面的部分:
4力惯、測試算法
4.1碗誉、主函數(shù)
這里需要提出的是我這里設(shè)置了P的值召嘶,之前,按照《統(tǒng)計學(xué)習(xí)方法》上面的說法哮缺,就是P>(1-P)就判為正例弄跌,但是在實(shí)際情況之中不能說這個出現(xiàn)的概率比另一個出現(xiàn)的概率高你就判別為正例,這個P值其實(shí)是人為的根據(jù)實(shí)際的經(jīng)驗(yàn)來進(jìn)行判定的尝苇,你也可以設(shè)置說P>0.8才可以判為正例铛只,就是這個判定為正例或者是為負(fù)例是有一個“成本”在里面。
4.2糠溜、測試數(shù)據(jù)(樣例)
為了便于計算淳玩,我這里選取的測試數(shù)據(jù)只有兩個特征,這個也是為了便于圖形的繪制非竿,在使用算法的時候可以按照自己的實(shí)際需求來選擇自己的測試數(shù)據(jù)蜕着,這個時候只是需要小小修改代碼便可。
4.3汽馋、執(zhí)行結(jié)果
4.4、繪制ROC曲線
這里ROC曲線的理論圈盔,大家可以自行看周志華老師的西瓜書豹芯,或者百度,應(yīng)該會有很多的講解驱敲,這里就不寫具體的講解铁蹈,只是給出自己的代碼: