Logistic Regression(邏輯迴歸)
阿新 • • 發佈:2018-12-13
介紹
邏輯迴歸雖然稱為迴歸,但它卻是一個分類演算法,一個用來解決二分類問題的演算法,它通過將線性迴歸預測出的值對映到 {0,1} 上來實現分類的(0叫做負類,1叫做正類)。這是一個很簡單的二分類演算法,它的思想也很容易理解。
邏輯迴歸與線性迴歸的流程很相似:
- 構造預測函式。根據訓練的樣本資料,構造模型來預測輸入變數 x 的輸出值(或類別)。
- 構造損失函式或似然函式。要使模型的引數最大程度符合實際模型,就要使損失函式值最小
- 求損失函式的最小值或似然函式的最大值。損失函式的最小值(或似然函式的最大值)所對應的引數即為模型的最優引數。根據所求引數值,即可對輸入變數 x 進行預測。
Sigmoid函式
通常,我們在預測值的時候,線性迴歸是最常用的方法。但由於線性迴歸輸出的值是連續的,因此並不適合解決分類問題。然而,我們可以通過將連續值對映到離散值,來使得我們可以利用線性迴歸的方法來解決分類問題。這時我們就需要一個對映函式,最常使用的就是 Sigmoid 函式(也可以稱為 Logistic 函式):
該函式就可以實現將連續值對映到 (-1,1) 區間,下圖是它的影象:
之所以使用該函式,是因為它具有其他很好的性質,這裡只利用它的對映性質就足夠了。
它的導數形式為:
似然函式
邏輯迴歸的預測函式為:
這個預測值,也可以理解為變數 x 屬於哪一個分類的概率值,即:
根據伯努利公式,可以將這兩個寫成一個式子:
假設有 m 個訓練樣本,則似然函式可以寫為:
梯度下降法求解
準確地說,求解似然函式最大值的方法是利用 “梯度上升” 的方法,與梯度下降法相似,梯度上升法也是不斷地找到該位置的最優方向前進,只不過梯度上升是每次找到該位置可以到達最高的方向。
由於需要求偏導,為了使求導簡單,這裡取似然函式的對數形式:
對 進行求導:
根據梯度上升法: 有:
總結
Logistic迴歸最大的優點就是實現簡單,計算量小;但也有一個最大的缺陷,就是隻能解決二分類問題,若要解決多分類問題,可以進行擴充套件,典型的演算法就是 softmax 方法,這裡就不詳細介紹了,以後再寫。
最近剛開始學習機器學習,想通過部落格的方式寫一些自己的理解,如果有錯誤的地方,希望大家給予糾正,謝謝。