本系列內容大部分來自Standford公開課machine learning中Andrew老師的講解,附加自己的一些理解,編程實現和學習筆記。
第一章 Logistic regression
1.邏輯回歸
邏輯回歸是一種監督學習的分類算法,相比較之前的線性回歸算法,差別在於它是一個分類算法,這也意味着y不再是一個連續的值,而是{0,1}的離散值(兩類問題的情況下)。
當然這依然是一個判別學習算法,所謂判別學習算法,就是我們直接去預測后驗 ,或者說直接預測判別函數的算法。當然相對應的生成學習算法,之后應該會寫一篇博客來解釋兩者之間的聯系與區別,優點與缺點。
回到正題,在之前linear regression的概率解釋中,我們假設了誤差是獨立同分布(IID)的高斯分布;
而在Logistic regression中我們需要假設的是事件符合伯努利分布
其中,這個函數被稱為logistic function或者sigmoid function,這也是一個最為常用的激活函數,它的圖像:
很顯然g(z)的值域在0~1,且z趨向於正無窮是g(z)=1,z趨向於負無窮是g(z)=0;
(這個性質在這里我就不推導了)
我們假設m個樣本獨立同分布(IID),那么似然函數為:
接下來的問題就相當熟悉了,我們可以使用梯度下降,最大似然函數。
我們不妨對於單個參數先進行推導:
由(1)得
最后我們發現我們得到的迭代公式與之前的線性回歸得到的迭代公式一模一樣
當然這肯定不可能是巧合,它存在着一定的更深層的原因,這也會在之后的廣義線性模型中來解釋。