[機器學習]羅吉斯迴歸,Logistic regression |分類,Classification
來源:互聯網
上載者:User
本文是 Andrew Ng 《機器學習》公開課的學習筆記
現實中的例子有 ,垃圾郵件/非垃圾郵件, 腫瘤是良性還是惡性等等。
怎麼分類。 我從高中數學積累了一個經驗。假設直線方程是 f(x) = 0, 那麼直線左邊的點帶入直線方程左邊,得到的結果 < 0;相反,直線 右邊的點帶入直線方程左邊的式子,得到的結果 > 0。
所以,如果我們能找到這樣一條直線,使它左邊的點 屬於 A類,右邊的點 屬於 B類,那麼再有一個新的點進來,我們就可以知道這個點 屬於哪一類了。
對,還是找直線(這裡為了方面解釋,說的是簡單的模型。也可以是 多個feature,高次等冪等。)
為什麼說是 Regression呢。因為我們用了 linear regression的 hypothesis。 為什麼說是 Logistic呢。因為這裡的結果只有 0 和1 (離散的)。linear regression的結果是連續的。
上面僅僅用 > 或者 < 表達的式子,沒本法找 costFunction,不能求最優解。於是,偉大的科學家想到了下面這個式子,對 hypothesis做了一個轉換
可以看到 轉換以後,h(x)的取值範圍是 0~1,Z >0 時,h(x) > 0.5。 Z < 0時,h(x) < 0.5。這樣我們通過h(x)的取值來判斷分類了。
求Theta,當然還是要靠 min CostFunction啦 因為h(x)變化了,costfunction如果採用linear regression的形式,其就不是 convex的了,就不能使用梯度下降法 convex 和non-convex的比較
於是,前輩想到了給 h(x) 加log的方式作為 costFunction,這樣的costFunction又變為convex
由上面兩個曲線可知,當y=1時,costFunction逐漸減小的辦法就是 使 h(x)趨近於1 當y=0時,要costFunction逐漸減小,就是使h(x)趨近於0,這整合我們的意思。
兩個式子總歸不好求,於是有了下面的合體,而且 求導以後的 式子也是那麼的和諧。美。
使用梯度下降法得到的 更新theta的式子,表達上可以跟 linear regression如此的相似,差別只在h(x)上。
其實,從h(x)的取值上來看,我們可以理解為,預測結果為1的機率是h(x) 即
multi-class classifiation one-vs-all classification。 一對多分類,就是說,把多類別轉換成 2類,A類和餘下的所有類。這樣就可以採用上述分兩類的 logistic regression方法。
通過one-vs-all的方法,對每一類都要訓練出一個 hypothesis。 最後通過對多個hypothesis的結果進行比較然後預測