天天看點

邏輯回歸算法簡介

邏輯回歸算法:雖然名字中帶有回歸兩個字,但它卻不是回歸算法,它是一個經典的二分類算法。

回歸與分類的差別:

回歸:可以得到一個準确值或一個區間值,比如房屋價格預測,NBA比賽得分等。

分類:預測結果是一個分類值,yes or no,0或1,好或壞,輸或赢等等,比如預測猛龍隊能否獲得2019NBA總冠軍,預測小明同學今年能否考上大學等等,結果都隻有兩個。

邏輯回歸算法是所有機器學習算法中最簡單的算法,但簡單不一定代表效果不好。我們在處理機器學習問題時,優先采用簡單算法,并對其參數進行優化。如果不能達到你的目的,我們再選擇更加複雜的算法,比如支援向量機,神經網絡等等。

邏輯回歸是用來處理分類問題的,其分類邊界不一定都是線性的,也可以是非線性的。如下圖,一條非線性的決策邊界将已有的資料點分成了兩類。

邏輯回歸算法簡介

前面我們剛讨論了線性回歸,知道線性回歸得出的是個準确值或區間值,那麼我們如何将這個準确值轉換為分類值呢?

舉個例子,聯考馬上要來臨了,我們可以根據你以往的考試成績對你的聯考成績做一個預測,我們預測的值會是[0,750]中的一個值,但是我想預測下我能否考上大學,那麼我就需要将這個回歸問題轉換為二分類問題。

在這裡我們引用一個非常重要的數學函數,sigmod函數。sigmod函數的表達式如下:

S ( x ) = 1 1 + e − x S(x) = \frac{1}{1 + e^{-x}} S(x)=1+e−x1​

接下來,我們直接看sigmod函數的圖像。該函數的取值範圍為(-∞,+∞),值域為(0,1)。

對于任意一個自然數,都可通過sigmod函數将其映射到(0,1)之間的一個值,(0,1)就相當于我們數學中的機率值。我們的二分類問題就是利用機率去判斷的,比如判斷中國隊能否赢下這場比賽,如果預測的機率大于某一個臨界值,比如0.6,那我們就可以預測中國隊赢。

我們再舉聯考的例子,線性回歸模型預測我得了500分,但不能給出能否考上的結果。這時再使用邏輯回歸算法,将分數轉換為機率值。假如機率值>0.5,我們就認為能考上,機率值<0.5,我們就認為沒有考上。這就是通過邏輯回歸算法将回歸問題轉化為了分類問題。

邏輯回歸算法簡介

下面是邏輯回歸算法的數學原理推導,其證明過程與線性回歸接近,唯一不同的就是多了一步應用sigmoid函數将線性回歸的預測結果轉化為了機率值。

邏輯回歸算法簡介