西瓜書第三章-線性模型【Logistic迴歸】(對數概率迴歸)

本文的主要知識點:第一部分講對Logistics的概念理解。第二部分講公式推導,主要從兩個角度去思考,其1、從廣義線性模型的角度出發推導公式,另外一點從伯努利分佈推導。學習

第一部分 對Logistics的概念理解

線性迴歸的非線性映射

早就據說過Logistics迴歸作的是分類的活,而非字面意思上的迴歸,那它和迴歸有什麼關係呢?spa

在上一篇的線性迴歸模型中已經講過一個觀點,爲何線性迴歸是屬性特徵的線性組合呢?code

  • 其一是\(\omega\)可以直觀的顯示出各個屬性的權重大小,
  • 其二就是模型足夠簡單,能夠在線性迴歸模型的基礎上增長高維映射變爲非線性模型。

如:
\[ y = w^Tx+b \]
若預測值非線性變換,而是指數變換,換句話說就是預測值的對數是線性變換,以下:
\[ lny = w^Tx+b \]blog

下圖能夠看做線性預測值 \(y'\) 進行非線性 \(y\) 的映射:深度學習

\[ y_i=e^{y_i'}=ln^{-1}(y_i') \]it

上述映射是「廣義線性模型」的特殊形式:
\[ y = g^{-1}(w^Tx+b) \]
\(g(\cdot)\)是聯繫函數,要求連續且充分光滑,上例是\(g(\cdot)=ln(\cdot)\)的特例。io

Logistics的核心是分類,但爲啥叫回歸?

如果要作二分類:最簡單的方式是階躍函數
\[ y=\left\{\begin{array}{cc}{0,} & {w^Tx+b<0} \\ {0.5,} & {w^Tx+b=0} \\ {1,} & {w^Tx+b>0}\end{array}\right. \]
可是階躍函數有個致命的缺點:不可導。尤爲在深度學習中,反向傳播過程當中須要對函數進行反向求導。因此提出了一個替代函數對數概率(odd)函數(logistic function):
\[ y = \frac{1}{1+e^{-z}}=\frac{1}{1+e^{-(w^Tx+b)}} \]
上述函數也稱爲\(sigmoid\)函數:function

\(sigmoid\)函數進行某種轉換,結合第一節內容對比:
\[ \ln \frac{y}{1-y}=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b \]
這個公式解釋了爲啥叫回歸,僅是與線性迴歸公式很像,實際上作的是迴歸後的預測值分類問題class

注:sklearn中調用LogisticsRegression這個函數,返回值coef_就是這裏的\(\omega\)

第二部分 Logistics迴歸公式推導【核心方法:MLE】

上面介紹了Logistics迴歸的本質就是:線性模型+sigmoid函數(非線性映射),只是說了這樣能夠擬合出指數級別y的變化。而爲什麼Logistics迴歸是這種組合,以及如何利用這種組合去訓練二分類模型卻沒有說明。

  • 須要推導的公式:

\[ \varPhi = \frac{1}{1+e^{-w^Tx}}\\ \]

  • 須要獲得的模型:w
    \[ \mathop{\arg\min}_{w} \sum_{i=1}^N[y_ilogp(y=1|x)+(1-y_i)logP(y=0|x)] \]
    從這個式子能夠看出,Logistics迴歸就是找到上式負交叉熵最大(即交叉熵最小)的w參數。

複雜版:廣義線性模型

Logistics迴歸公式能夠從兩個角度導出,先從比較複雜的廣義線性模型的說明。

要了解廣義線性模型必須先要知道兩個概念。指數族分佈以及須要知足的三條假設

知識點一:指數族分佈律

需知足如下分佈律才能夠稱爲指數族:
\[ p(y;\eta) = b(y)exp({\eta^TT(y)-a(\eta)}) \]
其中\(a(\eta)\)是配分函數,使得分佈律最大爲1, \(\eta\)是該分佈的天然參數,\(T(y)\)是充分統計量。


說明1:伯努利分佈是指數族分佈

伯努利分佈(Bernoulli distribution)又名兩點分佈0-1分佈,介紹伯努利分佈前首先須要引入伯努利試驗(Bernoulli trial)

  • 伯努利試驗是隻有兩種可能結果的單次隨機試驗,即對於一個隨機變量X而言:
    \[ \begin{aligned} P_r[X=1]={} &p\\ P_r[X=0]={} &1-p \end{aligned} \]

伯努利試驗均可以表達爲「是或否」的問題。例如,拋一次硬幣是正面向上嗎?剛出生的小孩是個女孩嗎?等等

  • 若是試驗E是一個伯努利試驗,將E獨立重複地進行n次,則稱這一串重複的獨立試驗爲n重伯努利試驗

  • 進行一次伯努利試驗,成功(X=1)機率爲p(0<=p<=1),失敗(X=0)機率爲1-p,則稱隨機變量X服從伯努利分佈。伯努利分佈是離散型機率分佈,其機率質量函數爲:
    \[ f\left( x \right) =p^x\left( 1-p \right) ^{1-x}=\left\{ \begin{array}{l} p\\ 1-p\\ 0\\ \end{array}\begin{array}{c} x=1\\ x=0\\ \text{其餘}\\ \end{array} \right. \]


故根據上述伯努利分佈的定義則有:
\[ \begin{aligned} p(y)={} & \varPhi^y(1-\varPhi )^{1-y}\\ ={} & exp(ln(\varPhi^y(1-\varPhi )^{1-y}))\\ ={} & exp(y\cdot ln(\frac{\varPhi}{1-\varPhi})+ln(1-\varPhi)) \end{aligned} \]
與指數族的定義比對:\(p(y;\eta) = b(y)exp({\eta^TT(y)-a(\eta)})\)

得伯努利確實是指數分佈:
\[ \begin{aligned} b(y) ={} & 1\\ T(y) ={} & y\\ \eta ={} & ln(\frac{\varPhi}{1-\varPhi})\\ a(\eta) ={} & -ln(1-\varPhi) = ln(1+e^\eta) \end{aligned} \]

知識點二:廣義線性模型須要的三條假設

  1. 給定x,y需服從於指數族分佈(以知足)
  2. 給定x,訓練後的模型等於充分統計量的指望:\(h(x)=E[T(y|x)]\)
  3. 天然參數\(\eta\) ,需和觀測變量x呈線性關係:\(\eta=w^Tx\)

根據第一條,伯努利分佈是成功(X=1)機率爲p,失敗(X=0)機率爲1-p。對於本例中二分類問題的標籤分別爲0/1,若設置1的機率爲p,0的機率爲1-p,很明顯看得出標籤爲0,1分佈的二分類問題就是典型的伯努利分佈。

根據第二條:
\[ \begin{aligned} h(x)={} & E[T(y|x)]\\ ={} &E[y|x]=1\times p(y=1)+0\times p(y=0)=p(y=1)=\varPhi \end{aligned} \]
又:

\[ \eta = ln(\frac{\varPhi}{1-\varPhi}) \Rightarrow \varPhi=\frac{1}{1+e^{-\eta}} \]

根據第三條:\(\eta=w^Tx\) 代入上式

綜上:
\[ \varPhi = \frac{1}{1+e^{-w^Tx}} \]

下一個目標如何獲得模型`w` ?

y的分佈律爲:

一開始很不理解:\(y(y=1|x)=\sigma(w^Tx)=\frac{1}{1+e^{-w^Tx}}\) 以及\(y(y=0|x)=\sigma(w^Tx)=\frac{e^{-w^Tx}}{1+e^{-w^Tx}}\) 這兩個公式,其實很好理解\(\sigma(z)\)的輸出假設爲0.1,...,0.6,0.9。輸出的值越大,離1越近,則被分爲1的機率越大。因此天然而然地將\((y=1)\)的機率視爲\(\sigma(w^Tx)\)

周志華版:
\[ P(y|x;\beta)=y\cdot P(y=1|x;\beta)+(1-y)\cdot P(y=0|x;\beta) \]
吳恩達版:
\[ P(y|x;\beta)=[P(y=1|x;\beta)]^y+[P(y=0|x;\beta)]^{1-y} \]

能夠發現上述兩個式子,很好的整合了\(y=1\)\(y=0\)兩種狀況

根據以上兩個分佈律假設,再利用極大似然機率估計【MLE】可推導出:
\[ \begin{aligned} \mathop{\arg\max}_{w}log p(y|x)={} &\mathop{\arg\max}_{w}\sum_{i=1}^{N}log p(y_i|x_i) \\ ={} &\mathop{\arg\max}_{w} \sum_{i=1}^N[y_ilogp(y=1|x)+(1-y_i)logP(y=0|x)] \end{aligned} \]

注:周志華版西瓜書中的公式推導太複雜,吳恩達版公式很是好推,也是常常見到的推導過程。

額外知識點:sigmoid函數的求導

易證:其中單引號表示對x求導
\[ \sigma(z)’=\sigma(z)(1-\sigma(z)) \]

相關文章
相關標籤/搜索