邏輯迴歸(logistic regression):
Logistic regression is a method for classifying data into discrete outcomes.(將數據分類爲離散的結果輸出,例如將分類郵件爲垃圾郵件或非垃圾郵件)
首先,瞭解一下分類:
例如,給出一堆郵件,將其分爲垃圾郵件和非垃圾郵件;又比如將腫瘤分類爲良性和惡性兩大類等
分類又有二元分類和多元分類(顧名思義,分成兩類的則爲二元分類,分爲多類的則爲多元分類)
二元分類:
對於二元分類問題,我們希望0<=<=1,(y=0爲一類,y=1爲一類)
邏輯迴歸的計算結果範圍爲:0<=<=1
邏輯迴歸之假設函數表達式(Hypothesis Representation):
by the way:
解釋輸出(Interpretation of Hypothesis Output):
決策邊界(decision bounary):
如何判定y=1還是y=0:
可以假設
- 當>=0.5時,y=1
- 當<=0.5時,y=0
如圖1所示,當z>=0時,g(z)>=0.5(y=1),也就是=>=0.5有>=0;同理,當z<=0時,g(z)<=0.5(y=0),也就是=<=0.5有<=0
例如:
by the way,決策邊界是一種假設屬性,只要給定一組theta值就能得到相應的決策邊界;而訓練集數據則是用於確定theta的最優值。
代價函數(cost function):
代價函數用於求解theta值的最優解,由於二元分類問題,y總是要麼是0要麼是1(0,1爲類別標籤,當然也可以是1,2~~)
因此,cost function如下:
綜上,得到cost function:
梯度下降算法(gradient descent):求解參數theta值
其實不難發現以上外表看起來和線性迴歸的一樣,但要注意此時
注意:和之前學習線性迴歸一樣,也可以對cost function值和迭代步數作圖,以確定是否收斂以及alpha值的選擇,此外使用特徵縮放以加快迭代收斂。
多元分類問題:
利用一對多的思想,使用一對多分類算法(one-vs-all):
假設將郵件分類爲:
work(y=1)
friends(y=2)
others(y=3)
因爲有y=(1,2,3)利用二元分類,分別取[(y=1),(y=2,3)]、[(y=2),(y=1,3)] 、[(y=3),(y=1,2)] 各爲一種分類
繼而得到三個對應的分類器:
正規化邏輯迴歸(regularized logistic regression):