邏輯回歸(Logistic Regression)(一)
邏輯回歸的定義
簡單來說, 邏輯回歸(Logistic Regression)是一種用於解決二分類(0 or 1)問題的機器學習方法,用於估計某種事物的可能性。比如某用戶購買某商品的可能性,某病人患有某種疾病的可能性,以及某廣告被用戶點擊的可能性等。 注意,這裡用的是「可能性」,而非數學上的「概率」,logisitc回歸的結果並非數學定義中的概率值,不可以直接當做概率值來用。該結果往往用於和其他特徵值加權求和,而非直接相乘。
那麼邏輯回歸與線性回歸是什麼關係呢?
邏輯回歸(Logistic Regression)與線性回歸(Linear Regression)都是一種廣義線性模型(generalized linear model)。邏輯回歸假設因變數 y 服從伯努利分布,而線性回歸假設因變數 y 服從高斯分布。 因此與線性回歸有很多相同之處,去除Sigmoid映射函數的話,邏輯回歸演算法就是一個線性回歸。可以說,邏輯回歸是以線性回歸為理論支持的,但是邏輯回歸通過Sigmoid函數引入了非線性因素,因此可以輕鬆處理0/1分類問題。
假設函數(Hypothesis function)
首先我們要先介紹一下Sigmoid函數,也稱為邏輯函數(Logistic function):
其函數曲線如下:
從上圖可以看到sigmoid函數是一個s形的曲線,它的取值在[0, 1]之間,在遠離0的地方函數的值會很快接近0或者1。它的這個特性對於解決二分類問題十分重要
邏輯回歸的假設函數形式如下:
所以:
其中 是我們的輸入, 為我們要求取的參數。
一個機器學習的模型,實際上是把決策函數限定在某一組條件下,這組限定條件就決定了模型的假設空間。當然,我們還希望這組限定條件簡單而合理。而邏輯回歸模型所做的假設是:
這個函數的意思就是在給定 和 的條件下 的概率。
這裡 就是我們上面提到的sigmoid函數,與之相對應的決策函數為:
選擇0.5作為閾值是一個一般的做法,實際應用時特定的情況可以選擇不同閾值,如果對正例的判別準確性要求高,可以選擇閾值大一些,對正例的召回要求高,則可以選擇閾值小一些。
決策邊界(Decision Boundary)
決策邊界,也稱為決策面,是用於在N維空間,將不同類別樣本分開的平面或曲面。
注意:決策邊界是假設函數的屬性,由參數決定,而不是由數據集的特徵決定。
這裡我們引用Andrew Ng 課程上的兩張圖來解釋這個問題:
- 線性決策邊界
這裡決策邊界為:
- 非線性決策邊界:
這裡決策邊界為:
上面兩張圖很清晰的解釋了什麼是決策邊界,決策邊界其實就是一個方程,在邏輯回歸中,決策邊界由 定義。
這裡我們要注意理解一下假設函數和決策邊界函數的區別與聯繫。決策邊界是假設函數的屬性,由假設函數的參數( )決定。
在邏輯回歸中,假設函數 用於計算樣本屬於某類別的可能性;決策函數 用於計算(給出)樣本的類別;決策邊界 是一個方程,用於標識出分類函數(模型)的分類邊界。
代價函數(Cost Function)
什麼是代價函數?
假設有訓練樣本 ,模型為 , 參數為 。 ( 表示 的轉置)。
<1>. 概況來講,任何能夠衡量模型預測出來的值 與真實值 之間的差異的函數都可以叫做代價函數 ,如果有多個樣本,則可以將所有代價函數的取值求均值,記做 。因此很容易就可以得出以下關於代價函數的性質:
- 選擇代價函數時,最好挑選對參數 可微的函數(全微分存在,偏導數一定存在)
- 對於每種演算法來說,代價函數不是唯一的;
- 代價函數是參數 的函數;
- 總的代價函數 可以用來評價模型的好壞,代價函數越小說明模型和參數越符合訓練樣本 ;
- 是一個標量;
<2>. 當我們確定了模型 ,後面做的所有事情就是訓練模型的參數 。那麼什麼時候模型的訓練才能結束呢?這時候也涉及到代價函數,由於代價函數是用來衡量模型好壞的,我們的目標當然是得到最好的模型(也就是最符合訓練樣本的模型)。因此訓練參數的過程就是不斷改變 ,從而得到更小的 的過程。理想情況下,當我們取到代價函數J的最小值時,就得到了最優的參數 ,記為:
例如, ,表示我們的模型完美的擬合了觀察的數據,沒有任何誤差。
<3>. 在優化參數θ的過程中,最常用的方法是梯度下降,這裡的梯度就是代價函數 對 的偏導數。由於需要求偏導,我們可以得到另一個關於代價函數的性質:
- 選擇代價函數時,最好挑選對參數 可微的函數(全微分存在,偏導數一定存在)
代價函數的常見形式
經過上面的描述,一個好的代價函數需要滿足兩個最基本的要求:能夠評價模型的準確性,對參數 可微。
<1>. 在線性回歸中,最常用的是均方誤差(Mean squared error),即
- :訓練樣本的個數;
- :用參數 和 預測出來的y值;
- :原訓練樣本中的 值,也就是標準答案;
- 上角標 :第 個樣本。
<2>. 在邏輯回歸中,最常用的是代價函數是交叉熵(Cross Entropy),交叉熵是一個常見的代價函數,在神經網路中也會用到。下面是《神經網路與深度學習》一書對交叉熵的解釋:
交叉熵是對「出乎意料」(譯者註:原文使用suprise)的度量。神經元的目標是去計算函數x→y=y(x)。但是我們讓它取而代之計算函數x→a=a(x)。假設我們把a當作y等於1的概率,1?a是y等於0的概率。那麼,交叉熵衡量的是我們在知道y的真實值時的平均「出乎意料」程度。當輸出是我們期望的值,我們的「出乎意料」程度比較低;當輸出不是我們期望的,我們的「出乎意料」程度就比較高。
在1948年,克勞德·艾爾伍德·香農將熱力學的熵,引入到資訊理論,因此它又被稱為香農熵(Shannon Entropy),它是香農信息量(Shannon Information Content, SIC)的期望。香農信息量用來度量不確定性的大小:一個事件的香農信息量等於0,表示該事件的發生不會給我們提供任何新的信息,例如確定性的事件,發生的概率是1,發生了也不會引起任何驚訝;當不可能事件發生時,香農信息量為無窮大,這表示給我們提供了無窮多的新信息,並且使我們無限的驚訝。更多解釋可以看這裡。
- 符號說明同上
但是我們會疑問,為什麼這麼定義代價函數呢?下面我會簡單的解釋一下:
PS:由於文章里的公式太多,編輯的時候開始卡頓,這篇就先寫到這裡,接下來的內容見:
邏輯回歸(Logistic Regression)(二)
Reference:
[機器學習] Coursera ML筆記 - 邏輯回歸(Logistic Regression)
sigmoid函數詳解_mmmmmm_新浪博客
邏輯斯諦回歸之決策邊界 logistic regression -- decision boundary
【機器學習】代價函數(cost function)
推薦閱讀:
※1.路線圖
※深度學習玩轉農業補貼精細化管理
※天池智能製造預測大賽-解決思路筆記
※優化演算法—粒子群演算法(PSO)
TAG:深度學習DeepLearning | 機器學習 |