淺談邏輯迴歸

  邏輯迴歸是我們經常使用的一種模型,網上介紹的文章很多,所以邏輯迴歸的詳細內容這裏就不介紹了。我的問題是:我們爲什麼要使用邏輯迴歸?跟其它分類、迴歸模型相比,邏輯迴歸有什麼特點?

邏輯迴歸的特點

  邏輯迴歸使用邏輯斯諦函數定義輸出值,做爲樣本分類的概率,然後對樣本進行極大似然估計,來求得最優參數θ。
邏輯斯諦函數(又稱sigmoid函數)的表達式爲:
σ(x)=11+ex (1)
其函數圖像如下:
邏輯斯諦函數圖像
        圖1.
我們要最大化的目標即極大似然概率爲:
L(θ)=P(y|x;θ) (2)
即爲每個樣本概率的乘積。
  由圖1我們可以看出,邏輯斯諦函數在x=0附近變化較快,而在離開x=0時變化速度迅速減小,直至接近於0。
  如果Q: θx = 0爲邏輯迴歸的迴歸平面,平面上的點對應於圖1中x=0處,可以看到,在離迴歸平面較近時(即x=0附近),函數值的變化較快。因爲極大似然估計爲每個樣本概率的乘積,所以導致L(θ)的變化較快,即離迴歸平面近的點對迴歸平面的影響較大。而那些遠離迴歸平面的點,它們的概率接近1,變化速度接近於0,迴歸平面發生變化時它們的概率變化極小,所以它們對迴歸平面的變化影響很小。
  結果就是離迴歸平面近的樣本對迴歸平面產生較大影響,離迴歸平面遠的樣本對迴歸平面產生較小的影響,並且隨着距離的增大,對迴歸平面的影響迅速減小,甚至可以忽略。
  這就是邏輯迴歸的特點,也是邏輯斯諦函數的特點。
  事實上人們發現現實生活中很多問題都表現出邏輯斯諦函數S形曲線的特點,所以邏輯斯諦函數被廣泛採用在很多問題的建模上,如人口增長、信息傳播等。這可能也是邏輯迴歸被我們大量使用的原因。

LMSE迴歸

相比之下,我們再來看一下LMSE(最小均方誤差)迴歸。
LMSE迴歸使用均方誤差來做爲迴歸的損失函數,表達式爲:
E=(θxt)2   (3)
我們的目標是使E最小。
x2 是一個二次函數,它的函數曲線如下:
二次函數圖像
      圖2.
由圖可以看出,函數在遠離x=0時函數變化逐漸加快。
  在圖像上就是那些離平面θx - t = 0較遠的點對迴歸平面的影響較大,而離平面θx - t = 0較近的點對迴歸平面的影響較小。
  由於目標值t有兩個取值1和-1,所以上述平面θx - t = 0相當於有兩個:θx - 1 = 0和θx + 1 = 0,最終的迴歸平面θx = 0在這兩個平面的中間。所以結果是,離迴歸平面較近和較遠的樣本都對迴歸平面產生較大影響,而只有那些離迴歸平面距離「適中」,即接近於θx=t的點對迴歸平面的影響較小。

支持向量機

  支持向量機是使離分離平面最近的點到分離平面的距離最大。
  那些離分離平面最近的點稱爲支持向量,支持向量機的分離平面完全由支持向量決定,跟其它的樣本無關。

邏輯迴歸, LMSE迴歸與支持向量機相比較

  下面是用上述三種模型做分類時的一個簡單示例,圖中樣本的分佈不對稱,綠色樣本有兩個點離其它樣本的位置較遠:
比較圖
            圖3.     
上圖中三種模型的分離平面與我們上面的論述相一致:
邏輯迴歸的迴歸平面受離迴歸平面近的點的影響較大,受離迴歸平面遠的點的影響較小。
LMSE迴歸的迴歸平面受左上角兩個綠色樣本的影響而向上傾斜。
支持向量機的分離平面只由兩個支持向量決定。

  另外我們看到,在本例中邏輯迴歸和支持向量機得到的分離平面很接近,但是支持向量機的推導和訓練過程要比邏輯迴歸複雜很多。所以加州理工學院的Yaser教授說,支持向量機像一輛豪華轎車,它很好,但是我們要爲之付出更多的代價,邏輯迴歸像一輛家用轎車,它比較廉價,但是可以拉我們去我們想去的地方。