吳恩達機器學習筆記 —— 7 Logistic迴歸

xingoo發表於2018-07-18

本章主要講解了邏輯迴歸相關的問題,比如什麼是分類?邏輯迴歸如何定義損失函式?邏輯迴歸如何求最優解?如何理解決策邊界?如何解決多分類的問題?

更多內容參考 機器學習&深度學習

有的時候我們遇到的問題並不是線性的問題,而是分類的問題。比如判斷郵件是否是垃圾郵件,信用卡交易是否正常,腫瘤是良性還是惡性的。他們有一個共同點就是Y只有兩個值{0,1},0代表正類,比如腫瘤是良性的;1代表負類,比如腫瘤是惡性的。當然你想用1代表良性也可以,而且輸出的值不僅僅侷限為0和1兩類,有可能還有多類,比如手寫體識別是從0到9。

吳恩達機器學習筆記 —— 7 Logistic迴歸

如果使用線性的方法來判斷分類問題,就會出現圖上的問題。我們需要人工的判斷中間的分界點,這個很不容易判斷;如果在很遠的地方有樣本點,那麼中心點就會發生漂移,影響準確性。

吳恩達機器學習筆記 —— 7 Logistic迴歸

如果我們想要結果總是在0到1之間,那麼就可以使用sigmoid函式,它能保證資料在0-1之間。並且越趨近於無窮大,資料越趨近於1。

回到我們假設的問題上來,如果腫瘤是依賴於大小來判斷良性惡性,如果超過0.7*平均值,就判斷是惡性的,那麼平均來算30%的是惡性的,70%是良性的,他們相加總會是100%。再來看看上面的sigmoid的影象,每個點都表示它屬於1的概率是x,屬於0的概率是1-x。這樣一個分類的問題,就變成了曲線值得問題了。

如果想讓y=1,即g(z)的值要大於0.5,那麼z的值就需要大於0;相反,y=0,就是z的值小於0。因此整個分類問題,就變成了尋找決策邊界的問題了。

那麼如何確定邏輯迴歸的損失函式呢?如果使用均方誤差,由於最終的值都是0和1,就會產生震盪,此時是無法進行求導的。

吳恩達機器學習筆記 —— 7 Logistic迴歸

因此需要尋找一個方法,使得代價函式變成凸函式,從而易於求解。

吳恩達機器學習筆記 —— 7 Logistic迴歸

吳恩達機器學習筆記 —— 7 Logistic迴歸

如果把損失函式定義為上面的形式,當真實的值是1時,我們預測的值越靠近1,cost的值越小,誤差越小。如果真實值是0,那麼預測的值越靠近1,cost的值越大。完美的表達了損失的概念。而且,由於0和1的概念,可以把上面的公式合併成下面統一的寫法。直接基於這個統一的寫法,做梯度下降求解即可。

吳恩達機器學習筆記 —— 7 Logistic迴歸

在求解最優化的問題時,不僅僅只有一種梯度下降Gradient descenet,還可以使用Conjugate gradient,BFGS,L-BFSGS。

多分類問題,可以理解為採用多個logistic分類器,進行分類。針對每個樣本點進行一個預測,給出概率值,選擇概率值最高的那個進行分類的標識。

吳恩達機器學習筆記 —— 7 Logistic迴歸

相關文章