解釋Logistic迴歸背後的直覺

注意:這是一篇試圖向不徹底熟悉統計數據的讀者解釋Logistic迴歸背後的直覺的帖子。所以,你可能在這裏找不到任何嚴謹的數學工做。)算法

Logistic迴歸是一種涉及線性判別的分類算法。
那是什麼意思?

1.與實測迴歸法不一樣,邏輯迴歸不會嘗試在給定一組輸入的狀況下預測數值變量的值。相反,輸出是給定輸入點屬於某個類的機率。爲簡單起見,假設咱們只有兩個類(對於多類問題,您能夠查看多項Logistic迴歸),而且所討論的機率是P+ - >某個數據點屬於' +'類的機率。固然,P_ =1-P+。所以,Logistic迴歸的輸出老是在[0,1]中。wordpress

2. Logistic迴歸的核心前提是假設您的輸入空間能夠被分紅兩個不錯的「區域」,每一個類對應一個線性(讀取:直線)邊界。那麼「線性」邊界是什麼意思呢?對於兩個維度,它是一條直線 - 沒有彎曲。對於三維,它是一個平面。等等。這個邊界將由您的輸入數據和學習算法決定。可是爲了理所固然,很明顯數據點必須經過線性邊界分紅上述兩個區域。若是您的數據點確實知足此約束,則稱它們是線性可分的。看下面的圖片。函數

linearly_separable_4

這個劃分平面稱爲線性判別式,由於 1.它的功能是線性的,2。它有助於模型在屬於不一樣類別的點之間「區分」。(注意:若是您的點在原始概念空間中不能線性分離,您能夠考慮經過添加交互項的維度,更高維度項等來將特徵向量轉換爲更高維度的空間。這樣的線性算法更高維空間的使用爲您提供了非線性函數學習的一些好處,由於若是在原始輸入空間中繪製回邊界,則邊界將是非線性的。)學習

========== X ===========優化

但Logistic迴歸如何使用此線性邊界來量化屬於某一類的數據點的機率?

首先,讓咱們嘗試理解輸入空間「劃分」到兩個不一樣的區域的幾何意義。假設兩個輸入簡單變量(與上面顯示的三維圖不一樣) x1和x2,對應邊界的函數將相似於spa

\ beta_0 + \ beta_1 x_1 + \ beta_2 x_2

。(相當重要的是要注意x1和x2輸入變量是兩個,而且輸出變量不是概念空間的一部分 - 與線性迴歸等技術不一樣。)考慮一下(a,b)。輸入x1 和x2的值到邊界函數,咱們會獲得它的輸出3d

\ beta_0 + \ beta_1 a + \ beta_2 b

。如今依據(a,b)的位置,有三種可能性 :code

1. (a,b)位於由+類點定義的區域。結果cdn

\ beta_0 + \ beta_1 a + \ beta_2 b

將是正向的,位於(0,∞)的某個地方。在數學上,該值的幅度越大,點與邊界之間的距離越大。直觀地說,(a,b)屬於+類的機率越大。所以,P+將在(0.5,1)。blog

2. (a,b)位於由-類定義的區域。如今,

\ beta_0 + \ beta_1 a + \ beta_2 b

將是負向的,躺在( - ∞,0)。可是在正面狀況下,函數輸出的絕對值越高,(a,b)屬於-類的機率就越大。P+如今將位於[0,0.5]。

3. (a,b)位於線性邊界上。在這種狀況下,

\ beta_0 + \ beta_1 a + \ beta_2 b = 0

。這意味着該模型沒法真正說明是(a,b)屬於+類仍是-類。結果,P+將正好是0.5。

因此如今咱們有一個函數在給定輸入數據點的狀況下輸出( - ∞,∞)的值。可是咱們如何將其映射到P+,從[0,1] 開始的機率?答案就在

賠率
函數中。讓咱們P(X)表示事件X發生的機率。在這種狀況下,優點比(OR(X))定義爲

\壓裂{P(X)} {1-P(X)}

,基本上是事件發生機率與未發生機率之比。很明顯,機率和概率傳達徹底相同的信息。可是當$ P(X)$從0變爲1時,OR(X)從0變爲 ∞.

然而,咱們仍然尚未應用,由於咱們的邊界函數從給出的值- ∞到∞。因此咱們要作的,就是以

對數
的OR(X),被稱爲對數概率函數( log-odds function)。數學上,OR(X)從0到∞,log(OR(X)) 從- ∞到∞!

因此咱們終於有辦法解釋將輸入屬性帶入邊界函數的結果。邊界函數實際上定義了+類在咱們模型中的對數概率。所以基本上,在二維的例子中,給定一點
(a,b),Logistic迴歸會作的事情 以下:

第1步。計算邊界函數(或者,log-odds函數)值

\ beta_0 + \ beta_1 a + \ beta_2 b

。讓咱們簡單地稱這個值t。

第2步。經過這樣作來計算優點比

OR_ + = e ^ t

。(由於t是OR+的對數)。

第3步。知道了OR+,它會使用簡單的數學關係進行計算P+

P_ + = \ frac {OR _ +} {1 + OR_ +}

。事實上,一旦你知道從第1步得出的t,你能夠結合第2步和第3步給出

P_ + = \ frac {e ^ t} {1 + e ^ t}

上述等式的RHS稱爲邏輯函數。所以,也給這個學習模型的名稱:-)。

========== X ===========

咱們如今已經理解了Logistic迴歸背後的直覺,但問題仍然存在 - 它如何學習邊界函數

\ beta_0 + \ beta_1 x_1 + \ beta_2 x_2

?這背後的數學工做超出了這篇文章的範圍,但這是一個粗略的想法:考慮一個函數g(x),其中x是訓練數據集中的數據點。g(x)能夠簡單地定義爲:若是x是+類的一部分,g(x)=P+,(這裏P+是Logistic迴歸模型給出的輸出)。若是x是-類的一部分,g(x)=1-P+。直觀地,g(x)量化您的模型

正確
分類訓練點的機率。所以,若是您g(x)對整個訓練數據進行平均,您將得到系統正確分類隨機數據點的機率,而無論其所屬的類別。稍微簡化一下,Logistic迴歸學習試圖最大化「平均」的g(x) 。採用的方法稱爲 最大似然估計(出於顯而易見的緣由)。除非你是一名數學家,不然你能夠在不瞭解
如何
優化發生的狀況下,進行優化 ,只要你知道在優化什麼上有好的想法- 主要是由於大多數統計或ML庫都有內置的方法來完成它。

========== X ===========

目前爲止就這樣了!就像個人全部博客帖子同樣,我但願這個能夠幫助一些嘗試經過Google和本身學習一些東西的人,去理解Logistic迴歸技術的誤解。

點擊英文原文連接

更多文章歡迎訪問: http://www.apexyun.com

公衆號:銀河系1號

聯繫郵箱:public@space-explore.com

(未經贊成,請勿轉載)

相關文章
相關標籤/搜索