淺談邏輯迴歸
邏輯迴歸是我們經常使用的一種模型,網上介紹的文章很多,所以邏輯迴歸的詳細內容這裡就不介紹了。我的問題是:我們為什麼要使用邏輯迴歸?跟其它分類、迴歸模型相比,邏輯迴歸有什麼特點?
邏輯迴歸的特點
邏輯迴歸使用邏輯斯諦函式定義輸出值,做為樣本分類的概率,然後對樣本進行極大似然估計,來求得最優引數θ。
邏輯斯諦函式(又稱sigmoid函式)的表示式為:
σ(x) = \frac{1}{1 + e^{-x}}
(1) 其函式影象如下:
圖1.
我們要最大化的目標即極大似然概率為:
L(θ) = \prod{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 = \sum (θx - t)^2
(3) 我們的目標是使E最小。
x^2
是一個二次函式,它的函式曲線如下: 圖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教授說,支援向量機像一輛豪華轎車,它很好,但是我們要為之付出更多的代價,邏輯迴歸像一輛家用轎車,它比較廉價,但是可以拉我們去我們想去的地方。
相關文章
- 邏輯迴歸模型邏輯迴歸模型
- 機器學習:邏輯迴歸機器學習邏輯迴歸
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- Python邏輯迴歸Python邏輯迴歸
- 機器學習之邏輯迴歸機器學習邏輯迴歸
- 機器學習整理(邏輯迴歸)機器學習邏輯迴歸
- 邏輯迴歸演算法邏輯迴歸演算法
- 邏輯迴歸原理小結邏輯迴歸
- 2.3 邏輯迴歸演算法邏輯迴歸演算法
- 邏輯迴歸 損失函式邏輯迴歸函式
- 人工智慧-機器學習-邏輯迴歸人工智慧機器學習邏輯迴歸
- 機器學習之邏輯迴歸:模型訓練機器學習邏輯迴歸模型
- 機器學習之邏輯迴歸:計算概率機器學習邏輯迴歸
- 【機器學習】邏輯迴歸過程推導機器學習邏輯迴歸
- 機器學習筆記-多類邏輯迴歸機器學習筆記邏輯迴歸
- 2.3邏輯迴歸損失函式邏輯迴歸函式
- 【機器學習基礎】邏輯迴歸——LogisticRegression機器學習邏輯迴歸
- Tensorflow教程(前三)——邏輯迴歸邏輯迴歸
- Spark LogisticRegression 邏輯迴歸之建模Spark邏輯迴歸
- 機器學習_最小二乘法,線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 淺談微服務基建的邏輯微服務
- 機器學習之邏輯迴歸:計算機率機器學習邏輯迴歸計算機
- 機器學習之使用Python完成邏輯迴歸機器學習Python邏輯迴歸
- 【6%】100小時機器學習——邏輯迴歸機器學習邏輯迴歸
- 手擼機器學習演算法 - 邏輯迴歸機器學習演算法邏輯迴歸
- 機器學習入門 - 快速掌握邏輯迴歸模型機器學習邏輯迴歸模型
- 從零開始學習邏輯迴歸邏輯迴歸
- Spark LogisticRegression 邏輯迴歸之簡介Spark邏輯迴歸
- 邏輯迴歸損失函式(cost function)邏輯迴歸函式Function
- 利用TensorFlow實現多元邏輯迴歸邏輯迴歸
- 利用Tensorflow實現邏輯迴歸模型邏輯迴歸模型
- 機器學習筆記(3):多類邏輯迴歸機器學習筆記邏輯迴歸
- 機器學習中的邏輯迴歸模型簡介機器學習邏輯迴歸模型
- 從零開始學機器學習——邏輯迴歸機器學習邏輯迴歸
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- 淺談zip格式處理邏輯漏洞
- 邏輯迴歸(Logistic Regression)原理及推導邏輯迴歸
- chapter3——邏輯迴歸手動+sklean版本APT邏輯迴歸