機器學習演算法:Logistic迴歸學習筆記
一、Logistic Regression的理解
角度一:輸入變數X服從logistic分佈的模型
LOGISTIC分佈
設X是連續隨機變數,X服從邏輯斯蒂分佈是指X具有下列的分佈函式和密度函式:
率的大小,將例項劃分到較大的一類.
有時為了方便,將偏置擴充到權值向量中,此時模型表示如下
可以看到μ影響的是中心對稱點的位置, 越小中心點附近增長的速度越快。而常常在深度學習中用到的非線性變換sigmoid函式是邏輯斯蒂分佈的γ=1,μ=0的特殊形式。
二項logistic迴歸模型
邏輯迴歸是為了解決分類問題,根據一些已知的訓練集訓練好模型,再對新的資料進行預測屬於哪個類。
由條件概率分佈P(Y|X) 表示,形式就是引數化的邏輯斯蒂分佈。這裡的自變數X取值為實數,而因變數Y為0或者1。二項LR的條件概率如下:
·對於給定的輸入例項x,按照上式可求得對應的條件概率,比較兩個條件概率的大小,將例項劃分到較大的一類.
有時為了方便,將偏置擴充到權值向量中,此時模型表示如下
角度二:LR模型將線性分類函式轉換為(條件)概率
一個事件的機率(odds):指該事件發生與不發生的概率比值,若事件發生概率為p,那麼事件發生的機率就是
那麼該事件的對數機率(log odds或者logit function)就是:
從而可以得到一種對邏輯迴歸的定義,輸出Y=1的對數機率是由輸入x的線性函式表示的模型,即邏輯斯蒂迴歸模型(李航.《統計機器學習》)所以說Logistic Regression屬於對數線性模型)。
因此,針對對輸入$x$進行分類的線性函式,通過LR模型可以將其轉換為(條件)概率:
也就是說,輸出Y=1的對數機率是由輸入x的線性函式表示的模型,這就是 邏輯迴歸模型。當 w⋅x的值越接近正無窮,P(Y=1|x) 概率值也就越接近1.這樣的模型是邏輯斯蒂迴歸模型(李航.《統計機器學習》
邏輯迴歸的思路是,先擬合決策邊界(這裡的決策邊界不侷限於線性,還可以是多項式),再建立這個邊界與分類的概率聯絡,從而得到了二分類情況下的概率。
角度三:廣義線性模型在分類問題上的推廣
根據廣義線性模型的思想,可以通過尋找一個聯絡函式來將分類任務的真實標記與線性迴歸模型的預測值聯絡起來,最直接的想法是單位階躍函式,即
但是單位階躍函式不連續,所以我們希望找到一個替代函式來在一定程度上近似單位階躍函式,並希望該函式單調可微,於是就引入了對數機率函式(sigmoid函式)
它是一個可導函式,定義域為(−∞,+∞)(−∞,+∞),值域為[0, 1],其導數為:g′(z)=g(z)(1−g(z))
說明一下,表示式(1)等價於使用線性迴歸模型的預測結果直接去逼近真實標記的對數機率,因此將其稱作“對數機率迴歸(logit regression)”。使用這種方法有以下幾大優點:
直接對樣本進行建模,無需對樣本進行先驗假設;
其結果不僅可以預測出“label”,還可以得到近似的概率預測值;
sigmoid函式的數學性質良好,它是任意階可導的凸函式,因此許多的優化方法都可使用
將對數機率函式帶入廣義線性模型則有
二、logistic迴歸的損失函式
基本思想:應用極大似然估計法估計模型引數,從而將問題轉化為以對數似然函式為目標函式的最優化問題,然後採用梯度下降法或者擬牛頓法進行求解
最優化演算法並不限於梯度下降,還有:
Newton Method(牛頓法)
Conjugate gradient method(共軛梯度法)
Quasi-Newton Method(擬牛頓法)
BFGS Method
L-BFGS(Limited-memory BFGS)
上述優化演算法中,BFGS與L-BFGS均由擬牛頓法引申出來,與梯度下降演算法相比,其優點是:第一、不需要手動的選擇步長;第二、比梯度下降演算法快。但缺點是這些演算法更加複雜,實用性不如梯度下降。
三、sigmoid函式的由來
一種解釋是通過廣義線性模型,如將輸入y的對數機率表示為輸入x的線性組合,即
四、多項LR模型-多分類
五、正則化
結構風險函式包括了經驗風險項和正則項,加入正則項相當於對引數加入了一個先驗分佈,常用的有L1和L2正則,L1,L2正則化項對模型的引數向量進行“懲罰”,從而避免單純最小二乘問題的過擬合問題。正則化項本質上是一種先驗資訊,整個最優化問題從貝葉斯觀點來看是一種貝葉斯最大後驗估計,其中正則化項對應後驗估計中的先驗資訊,損失函式對應後驗估計中的似然函式,兩者的乘積即對應貝葉斯最大後驗估計的形式,如果將這個貝葉斯最大後驗估計的形式取對數,即進行極大似然估計,你就會發現問題立馬變成了損失函式+正則化項的最優化問題形式。
在邏輯迴歸求解中,如果對樣本加上一個先驗的服從高斯分佈的假設,那麼就取log後,式子經過化簡後就變成在經驗風險項後面加上一個正則項,此時損失函式變為。
六、常見考點
1.LR中損失函式的意義是什麼?
在LR中,最大似然函式與最小化對數損失函式等價
證明如下:
2. LR與線性迴歸的聯絡和區別
邏輯迴歸和線性迴歸首先都可看做廣義的線性迴歸,其次經典線性模型的優化目標函式是最小二乘,而邏輯迴歸則是似然函式,另外線性迴歸在整個實數域範圍內進行預測,敏感度一致,而分類範圍,需要在[0,1]。邏輯迴歸就是一種減小預測範圍,將預測值限定為[0,1]間的一種迴歸模型,因而對於這類問題來說,邏輯迴歸的魯棒性比線性迴歸的要好。
3.LR與最大熵模型
邏輯迴歸跟最大熵模型沒有本質區別。邏輯迴歸是最大熵對應類別為二類時的特殊情況,也就是當邏輯迴歸類別擴充套件到多類別時,就是最大熵模型。
指數簇分佈的最大熵等價於其指數形式的最大似然。
二項式分佈的最大熵解等價於二項式指數形式(sigmoid)的最大似然;
多項式分佈的最大熵等價於多項式分佈指數形式(softmax)的最大似然。
4.LR與svm
相同點:
都是分類演算法
都是監督學習演算法
都是判別模型
都能通過核函式方法針對非線性情況分類
目標都是找一個分類超平面
都能減少離群點的影響
不同點:
損失函式不同,邏輯迴歸是cross entropy loss,svm是hinge loss
邏輯迴歸在優化引數時所有樣本點都參與了貢獻,svm則只取離分離超平面最近的支援向量樣本。這也是為什麼邏輯迴歸不用核函式,它需要計算的樣本太多。並且由於邏輯迴歸受所有樣本的影響,當樣本不均衡時需要平衡一下每一類的樣本個數。
邏輯迴歸對概率建模,svm對分類超平面建模
邏輯迴歸是處理經驗風險最小化,svm是結構風險最小化。這點體現在svm自帶L2正則化項,邏輯迴歸並沒有
邏輯迴歸通過非線性變換減弱分離平面較遠的點的影響,svm則只取支援向量從而消去較遠點的影響
邏輯迴歸是統計方法,svm是幾何方法
5 LR與樸素貝葉斯
相同點是,它們都能解決分類問題和都是監督學習演算法。此外,有意思的是,當假設樸素貝葉斯的條件概率P(X|Y=ck)P(X|Y=ck)服從高斯分佈時Gaussian Naive Bayes,它計算出來的P(Y=1|X)P(Y=1|X)形式跟邏輯迴歸是一樣的。
不同的地方在於,邏輯迴歸為判別模型求的是p(y|x)p(y|x),樸素貝葉斯為生成模型求的是p(x,y)p(x,y)。前者需要迭代優化,後者不需要。在資料量少的情況下後者比前者好,資料量足夠的情況下前者比後者好。由於樸素貝葉斯假設了條件概率P(X|Y=ck)P(X|Y=ck)是條件獨立的,也就是每個特徵權重是獨立的,如果資料不符合這個情況,樸素貝葉斯的分類表現就沒有邏輯迴歸好。
6 LR與感知機
相同點
都是線性分類模型,原始模型都只能處理二分類問題
模型的形式相似(都是線上性模型外通過聯絡函式對映到另外的空間,只不過感知機是符號函式,LR是sigmoid(或者說Logistic)函式)
訓練方法都是使用梯度下降法
不同點
LR輸出為僅是概率的值,而感知機輸出為1/-1
7. 多分類-softmax
如果y不是在[0,1]中取值,而是在K個類別中取值,這時問題就變為一個多分類問題。有兩種方式可以出處理該類問題:一種是我們對每個類別訓練一個二元分類器(One-vs-all),當K個類別不是互斥的時候,比如使用者會購買哪種品類,這種方法是合適的。如果K個類別是互斥的,即y=i的時候意味著y不能取其他的值,比如使用者的年齡段,這種情況下 Softmax 迴歸更合適一些。Softmax 迴歸是直接對邏輯迴歸在多分類的推廣,相應的模型也可以叫做多元邏輯迴歸(Multinomial Logistic Regression)。模型通過 softmax函式來對概率建模,具體形式如下:
七、LR優缺點
優點
實現簡單
分類時計算量非常小,速度快,儲存資源低
缺點
容易欠擬合,一般準確度不太高
原始的LR僅能處理二分類問題,且必須線性可分(衍生出的softmax可以用於多分類)
八、LR模型在工業界的應用
常見應用場景
預估問題場景(如推薦、廣告系統中的點選率預估,轉化率預估等)
分類場景(如使用者畫像中的標籤預測,判斷內容是否具有商業價值,判斷點選作弊等)
LR適用上述場景的原因
LR模型自身的特點具備了應用廣泛性
模型易用:LR模型建模思路清晰,容易理解與掌握;
概率結果:輸出結果可以用概率解釋(二項分佈),天然的可用於結果預估問題上;
強解釋性:特徵(向量)和標籤之間通過線性累加與Sigmoid函式建立關聯,引數的取值直接反應特徵的強弱,具有強解釋性;
簡單易用:有大量的機器學習開源工具包含LR模型,如sklearn、spark-mllib等,使用起來比較方便,能快速的搭建起一個learning task pipeline;
面臨的問題
學習的過擬合問題;
學習的資料稀疏性問題;
模型自身的學習效率(收斂速度,穩定性);
訓練模型時資料、特徵的擴充套件性問題,即學習演算法可否在分散式環境下工作;
如何結合實際應用場景(比如多資源位/多廣告位的點選預估問題),給出相應的解決方案.
《機器學習集訓營 第五期》開始報名,BAT級工業專案實戰輔導 + 一對一面試求職輔導,並提供一年GPU雲實驗平臺免費使用;北京、上海、深圳、廣州、杭州、瀋陽、濟南、鄭州、成都、武漢、西安十一城同步開營,點選“閱讀原文”試聽
相關文章
- 機器學習筆記(2): Logistic 迴歸機器學習筆記
- 吳恩達機器學習筆記 —— 7 Logistic迴歸吳恩達機器學習筆記
- 機器學習之Logistic迴歸機器學習
- 機器學習實戰之Logistic迴歸機器學習
- [機器學習實戰-Logistic迴歸]使用Logistic迴歸預測各種例項機器學習
- P2 鄒博機器學習logistic迴歸機器學習
- 【機器學習】Logistic迴歸ex2data2機器學習
- 吳恩達機器學習課程05——Logistic迴歸吳恩達機器學習
- 機器學習筆記-多類邏輯迴歸機器學習筆記邏輯迴歸
- 【《白話機器學習的數學》筆記1】迴歸機器學習筆記
- 【機器學習筆記】:大話線性迴歸(二)機器學習筆記
- 【機器學習筆記】:大話線性迴歸(一)機器學習筆記
- 機器學習演算法學習筆記機器學習演算法筆記
- 機器學習-樹迴歸機器學習
- 學習筆記——機器學習演算法(一): 基於邏輯迴歸的分類預測筆記機器學習演算法邏輯迴歸
- 林軒田機器學習基石課程學習筆記10 — Logistic Regression機器學習筆記
- 機器學習入門學習筆記:(2.1)線性迴歸理論推導機器學習筆記
- 手擼機器學習演算法 - 嶺迴歸機器學習演算法
- 林軒田機器學習技法課程學習筆記5 — Kernel Logistic Regression機器學習筆記
- 機器學習:迴歸問題機器學習
- 機器學習:線性迴歸機器學習
- 機器學習:邏輯迴歸機器學習邏輯迴歸
- Andrew NG 深度學習課程筆記:二元分類與 Logistic 迴歸深度學習筆記
- Python機器學習筆記:使用Keras進行迴歸預測Python機器學習筆記Keras
- 機器學習學習筆記機器學習筆記
- 手擼機器學習演算法 - 邏輯迴歸機器學習演算法邏輯迴歸
- 手擼機器學習演算法 - 線性迴歸機器學習演算法
- 吳恩達機器學習筆記 —— 3 線性迴歸回顧吳恩達機器學習筆記
- 機器學習(課堂筆記)Day04:線性迴歸法機器學習筆記
- 機器學習程式碼筆記-2-簡單線性迴歸機器學習筆記
- 機器學習之邏輯迴歸機器學習邏輯迴歸
- 機器學習之迴歸指標機器學習指標
- 機器學習之線性迴歸機器學習
- 機器學習:線性迴歸(下)機器學習
- 機器學習整理(邏輯迴歸)機器學習邏輯迴歸
- 機器學習整理(線性迴歸)機器學習
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 機器學習筆記(KNN演算法)機器學習筆記KNN演算法