機器學習算法篇--回歸--邏輯回歸(Logistic Regression)

介紹:

首先要理解二分類問題,二分類問題是指預測的y值只有兩個取值(0或1),二分類問題可以擴展到多分類問題。例如:我們要做一個垃圾郵件過濾系統,X(i)是郵件的特徵,預測的y值就是郵件的類別,是垃圾郵件還是正常郵件。對於類別我們通常稱為正類(positive class)和負類(negative class),垃圾郵件的例子中,正類就是正常郵件,負類就是垃圾郵件。

如果我們忽略二分類問題中y的取值是一個離散的取值(0或1),我們繼續使用線性迴歸來預測y的取值。這樣做會導致y的取值並不為0或1。邏輯迴歸使用一個函數來歸一化y值,使y的取值在區間(0,1)內,稱為Sigmoid函數。函數公式如下:

機器學習算法篇--迴歸--邏輯迴歸(Logistic Regression)

Sigmoid函數當z趨近於無窮大時,g(z)趨近於1;當z趨近於無窮小時,g(z)趨近於0。Sigmoid函數的圖形如下:

機器學習算法篇--迴歸--邏輯迴歸(Logistic Regression)

判定邊界:

我們現在再來看看,為什麼邏輯迴歸能夠解決分類問題。這裡引入一個概念,叫做判定邊界,可以理解為是用以對不同類別的數據分割的邊界,邊界的兩旁應該是不同類別的數據。

從二維直角座標系中,舉幾個例子,大概是如下這個樣子:

機器學習算法篇--迴歸--邏輯迴歸(Logistic Regression)

這就是我們的判定邊界,下面我們來看看,邏輯迴歸是如何根據樣本點獲得這些判定邊界的

回到sigmoid函數,我們發現:

當g(z)≥0.5時, z≥0;對於hθ(x)=g(θTX)≥0.5, 則θTX≥0, 此時意味著預估y=1;反之,當預測y = 0時,θTX<0;所以我們認為θTX =0是一個決策邊界,當它大於0或小於0時,邏輯迴歸模型分別預測不同的分類結果。

看一下例子hθ(x)=g(θ0+θ1X1+θ2X2),其中θ0 ,θ1 ,θ2分別取-3, 1, 1。則當−3+X1+X2≥0時, y = 1; 則X1+X2=3是一個決策邊界,圖形表示如下,剛好把圖上的兩類點區分開來:

機器學習算法篇--迴歸--邏輯迴歸(Logistic Regression)

優點:

  1. 邏輯迴歸的算法已經比較成熟,預測較為準確。

  2. 模型求出的係數易於理解,便於解釋,不屬於黑盒模型,尤其在銀行業,80%的預測是使用邏輯迴歸。

  3. 結果是概率值,可以做ranking model。

  4. 訓練快。

缺點:

  1. 分類較多的y都不是很適用。

  2. 對於自變量的多重共線性比較敏感,所以需要利用因子分析或聚類分析來選擇代表性的自變量。

  3. 另外預測結果呈現S型,兩端概率變化小,中間概率變化大比較敏感,導致很多區間的變量的變化對目標概率的影響沒有區分度,無法確定閾值。

總結:

二分類問題是指預測的y值只有兩個取值;Sigmoid函數從圖上可以看出,函數y=g(z)在z=0的時候取值為1/2,而隨著z逐漸變小,函數值趨於0,z逐漸變大的同時函數值逐漸趨於1,而這正是一個概率的範圍。


分享到:


相關文章: