邏輯迴歸Logistic Regression 模型簡介
邏輯迴歸(Logistic Regression)是機器學習中的一種分類模型,由於演算法的簡單和高效,在實際中應用非常廣泛。本文作為美團機器學習InAction系列中的一篇,主要關注邏輯迴歸演算法的數學模型和引數求解方法,最後也會簡單討論下邏輯迴歸和貝葉斯分類的關係,以及在多分類問題上的推廣。
邏輯迴歸
問題
實際工作中,我們可能會遇到如下問題:
- 預測一個使用者是否點選特定的商品
- 判斷使用者的性別
- 預測使用者是否會購買給定的品類
- 判斷一條評論是正面的還是負面的
這些都可以看做是分類問題,更準確地,都可以看做是二分類問題。同時,這些問題本身對美團也有很重要的價值,能夠幫助我們更好的瞭解我們的使用者,服務我們的使用者。要解決這些問題,通常會用到一些已有的分類演算法,比如邏輯迴歸,或者支援向量機。它們都屬於有監督的學習,因此在使用這些演算法之前,必須要先收集一批標註好的資料作為訓練集。有些標註可以從log中拿到(使用者的點選,購買),有些可以從使用者填寫的資訊中獲得(性別),也有一些可能需要人工標註(評論情感極性)。另一方面,知道了一個使用者或者一條評論的標籤後,我們還需要知道用什麼樣的特徵去描述我們的資料,對使用者來說,可以從使用者的瀏覽記錄和購買記錄中獲取相應的統計特徵,而對於評論來說,最直接的則是文字特徵。這樣拿到資料的特徵和標籤後,就得到一組訓練資料:
其中
我們的問題可以簡化為,如何找到這樣一個決策函式
值得一提的是,模型效果往往和所用特徵密切相關。特徵工程在任何一個實用的機器學習系統中都是必不可少的,機器學習InAction系列已有一篇文章中對此做了詳細的介紹,本文不再詳細展開。
模型
sigmoid 函式
在介紹邏輯迴歸模型之前,我們先引入sigmoid函式,其數學形式是:
對應的函式曲線如下圖所示:
從上圖可以看到sigmoid函式是一個s形的曲線,它的取值在[0, 1]之間,在遠離0的地方函式的值會很快接近0/1。這個性質使我們能夠以概率的方式來解釋(後邊延伸部分會簡單討論為什麼用該函式做概率建模是合理的)。
決策函式
一個機器學習的模型,實際上是把決策函式限定在某一組條件下,這組限定條件就決定了模型的假設空間。當然,我們還希望這組限定條件簡單而合理。而邏輯迴歸模型所做的假設是:
這裡的
選擇0.5作為閾值是一個一般的做法,實際應用時特定的情況可以選擇不同閾值,如果對正例的判別準確性要求高,可以選擇閾值大一些,對正例的召回要求高,則可以選擇閾值小一些。
引數求解
模型的數學形式確定後,剩下就是如何去求解模型中的引數。統計學中常用的一種方法是最大似然估計,即找到一組引數,使得在這組引數下,我們的資料的似然度(概率)越大。在邏輯迴歸模型中,似然度可表示為: