邏輯回歸初體驗

什麼是邏輯回歸

要理解什麼是邏輯回歸,第一步,是要分別理解什麼叫做回歸

這裡的回歸函數也叫做線性回歸

線性回歸是用於連續變數預測的,類似於一元一次方程,二元一次方程等等

一般公式都類似於下面這樣

f(x)= w_1*x_1 + w_2*x_2 + ... + w_n*x_n + bf(x)=w1?x1+w2?x2+...+wn?xn+b

回歸模型可以用於預測房價,工資等等的連續變數

邏輯回歸則是一個分類器,即輸入X後會輸出一個離散的值

比如在使用邏輯回歸做二分類器的時候,邏輯回歸模型輸出的就是 0 或 1

邏輯回歸的之所以有回歸兩個字,是因為邏輯回歸其實就是從線性回歸變過來的。唯一的變化是在線性回歸外麵包了一層函數,將線性回歸的值壓縮到( 0 , 1 )之間。當輸出的值大於等於0.5的時候則判斷為1, 當小於0.5的時候則判斷為0

上面是以二分類為例子,在多分類中可能就不是以0.5為臨界值了

邏輯回歸的原理

邏輯回歸憑什麼能夠將(-∞, +∞)的值都壓縮成(0, 1)呢

這個時候就要提到大名鼎鼎的sigmoid函數啦

sigmoid圖像

sigmoid函數的值域為(0, 1),無論輸入的x有多大或者多小,都會被映射到(0, 1)之間

但是,為什麼同樣的輸入X,經過線性回歸和邏輯回歸訓練出來的差異會那麼大呢?

其實關鍵在於訓練數據的輸出值上。線性回歸的輸出值是連續變數,而邏輯回歸的輸出值為離散值0/1

所以就會擬合出兩種截然不同的參數。

線性回歸為了盡量降低它擬合訓練數據的誤差,計算出來的直線(或者超平面)會盡量離所有的訓練數據近,所以就會形成類似下面的圖像

線性回歸

而邏輯回歸則為了能夠將正確的結果劃分出來,會出現一條直線(或者超平面)將數據劃分為兩類。最終的圖像會像下面這樣

邏輯回歸

二項式邏輯回歸模型

二項式邏輯回歸模型就是符合上面兩個公式的條件概率分布。

模型參數的估計

模型的訓練過程就是找到最合理的θ值讓邏輯回歸模型能夠最好的區分出給定的數據。

統計學中經常使用極大似然估值來計算參數。 即找到一組參數使得在這組參數下,我們的數據概率(似然度)最大。

似然度(Likelihood): 可以理解為在θ參數的條件下,輸入X得到y的可能性

邏輯回歸的似然度公式如下:

對數似然度公式如下:

對數似然度讓乘法變成了加法,從而避免了浮點數下溢,同時也簡化了求解過程

對數似然度也就是對數似然損失值。 而平均對數似然損失值即為:

而求最佳的θ只需要迭代計算最小化平均對數似然損失值就可以了啦~

當然損失函數不只有對數似然損失值,還有0-1損失,hinge損失等等

最小化損失函數

這個課題就不屬於這篇博客的內容了邏輯回歸

最常見的方案就是梯度下降,當然還有很多其他方案,在這裡就不一一提及了~


推薦閱讀:

python3機器學習經典實例-第三章預測模型11
推薦系統:經典方法
機器學習-決策樹 Decision Tree
AI 學習必知的十大深度學習方法!
機器學習技法筆記9:決策樹

TAG:邏輯回歸 | 機器學習 |