放假這么久摊崭,天天摸魚讼油,已經(jīng)好久沒更新了,希望后面的更新速度能達到日更吧呢簸,這次給大家介紹的是Logistic 回歸矮台,雖然是名字帶有回歸,其實是一個分類算法阔墩。廢話不多說嘿架,我們先從例題來引入我們今天的算法瓶珊。
引論
我們這次不討論房價的問題了啸箫,這次我們來討論腫瘤大小判斷腫瘤是否是良性的腫瘤。這是一個兩項分布問題伞芹,輸出的結(jié)果只可能是兩個一個是是另一個是否忘苛。我們可以用0,1來表示輸出的結(jié)果。那么我們?nèi)绾蝸韰^(qū)分良性還是惡性腫瘤呢唱较,這就是一個典型的分類問題扎唾,我們也將通過本問題來學習Logistic 回歸算法(雖然這個算法的名字含有回歸,但是這不是一個回歸問題而是分類)
假設(shè)陳述
在Logistic 回歸中我們希望函數(shù)的輸出是在[0,1]這個范圍南缓。上一章我們提到我們的函數(shù)表達式表示成:
但是我們在這里要把這個函數(shù)稍加修改變成h(x) = g((θ^T )*x)胸遇,而這個g(z) = 1/1+e^-z,這個就是大名鼎鼎的sigmoid函數(shù),作用是使函數(shù)的輸出在[0,1]這個范圍汉形。(在以后我們講解神經(jīng)網(wǎng)絡(luò)部分中還會提到它)纸镊,sigmoid函數(shù)的圖像是這樣的:
這樣我們就可以讓函數(shù)的輸出大于0.5的,表示為1概疆,小于0.5的表示為0(反過來也可以)逗威,這樣我們就可以不斷的擬合參數(shù)θ,使函數(shù)的輸出能達到這種分類的效果岔冀。
決策界限
假設(shè)我們現(xiàn)在有個訓練集凯旭,就像上圖所示。我們的假設(shè)函數(shù)是h(x)=g(θ0 + θ1x1+θ2x2),假設(shè)我們已經(jīng)擬合好了參數(shù)罐呼,參數(shù)的最終結(jié)果是[-3,1,1]鞠柄。在sigmoid函數(shù)的圖像中我們可以看出,當x>0時y>0.5,當x<0時y<0.5弄贿。所以當(θ^T )x>=0時y=1,當(θ^T )x<0時y=0春锋。也就是-3+x1+x2>=0,化簡我們可以得到x1+x2>3差凹。
這在圖像上是什么意思呢:
我們可以看出我們擬合出來的函數(shù)已經(jīng)把訓練集劃分開來了期奔,x1+x2>3的區(qū)域就是函數(shù)的上半部分。到這里我們就明白了Logistic 回歸的工作原理危尿,就用擬合的函數(shù)來把不同標簽的訓練集分開來達到分類的效果呐萌。
對于不同的數(shù)據(jù)集分布,我們可以選擇相應(yīng)的函數(shù)圖像來進行分割谊娇,比如這樣的數(shù)據(jù)集分布肺孤,我們可以用圓形的函數(shù)來分割:
代價函數(shù)
既然我們已經(jīng)得到了算法的運作原理,那么我們又到了機器學習中最重要的環(huán)節(jié)济欢,我們?nèi)绾尾拍軘M合赠堵。這里這個函數(shù)的代價函數(shù)又是什么?也就是優(yōu)化的目標是什么法褥?
在我們以前在線性回歸中用到的代價函數(shù)是
我們可不可以用這個函數(shù)來進行梯度下降呢茫叭,答案當然是不行的。因為我們在函數(shù)中使用了sigmoid函數(shù)半等,這會使我們代價函數(shù)的圖像呈現(xiàn)這樣的狀態(tài):
這樣就會有很多個局部最小值揍愁,而達不到真正的代價的最小值。這里我們就引入了新的代價函數(shù)來對函數(shù)進行目標優(yōu)化
把代價函數(shù)分為兩種情況杀饵,一種是y=0一種是y=1的時候莽囤,這樣我們可以分開來計算。這兩個對數(shù)函數(shù)的圖像切距,會使輸出如果偏離1或者0的時候朽缎,代價值會爆增。
但代價函數(shù)這樣表示太麻煩了谜悟,于是我們可以把代價函數(shù)簡化到一個公式里:
這樣我們就不需要分情況來進行計算了
梯度下降
我們既然得到了代價函數(shù)话肖,我們的目標就是讓代價函數(shù)最小化,我們就需要用梯度下降來得到這個目標赌躺。這里就和回歸函數(shù)的梯度下降方法一樣了狼牺,這里我就不多做介紹,直接給出梯度下降的公式:
多元分類
上面我們提到的都是一分為二的情況礼患,只需要分兩種類別是钥,但是在現(xiàn)實情況中我們可能需要處理的是分更多的類別掠归,所以這個時候我們要怎么做呢。其實很簡單悄泥,我們只需要把一個類別單獨劃分出來虏冻,與剩下的類別劃分。這樣一個一類別的劃分弹囚,找到不用的函數(shù)厨相,用多個函數(shù)來把各種類別區(qū)分出來,就可以了鸥鹉。
后記
終于恢復更新了蛮穿,希望能達到日更吧,不能繼續(xù)摸魚了毁渗。践磅。。灸异。府适。