1、所謂邏輯斯蒂迴歸
(1.1);
邏輯斯蒂迴歸就是想辦法將線性迴歸模型用於分類(《機器學習》中稱為對數機率迴歸)。線性迴歸模型產生的預測值可能是所有實值,不利於分類;為了用於二分類任務,希望將預測值z轉換為0/1值;階躍函式:
(1.2);
可以將z轉換為0/1值,但是階躍函式在x=0處不連續,所以用邏輯斯諦函式(logisitic function,即Sigmoid函式)
(1.3);
近似代替階躍函式,將線性模型的預測值轉換為接近0或1的值(Sigmoid函式的輸出值在z=0處變化很陡,可以認為大部分值都是接近0或1)。
2、公式
對公式(1.3)取對數,有
(2.1);
將y視為樣本x作為正例的可能性,1-y為反例。將y視為後驗概率估計,則二項邏輯斯蒂迴歸模型如下:
;
令:
;
由伯努利分佈的概率公式:
(2.6);
得似然函式和對數似然函式:
(2.7);
(2.8);
3、梯度上升法的程式碼與公式
其實只有這一節是我想寫的
《機器學習實戰》第五章程式清單5-1下面程式碼的由來:
weights = weights + alpha * dataMatrix.transpose()* error
書中使用的是梯度上升法
(3.1)
,僅對該行程式碼做推導,對式(2.8)求關於w的偏導數,得:
(3.2)
所以,
是程式碼中列向量error的元素,xi屬於程式碼中矩陣dataMatrix。
4、參考資料
《機器學習》周志華
《統計學習方法》李航
《機器學習實戰》