本章承接前文,介紹Logistic回歸理論部分。

本文主要講解點:

  1. Logistic回歸模型簡介
  2. 似然函數推導
  3. 梯度上升or梯度下降
  4. 分類模型評價準則AUC(Area Under Curve)

1. Logistic回歸模型簡介

1.1 sigmoid函數

談到邏輯回歸,則必然要引出sigmoid函數g(z)=frac{1}{1+e^{-z}} ,該函數圖像如下所示:

至於為什麼模型基於sigmoid函數,推薦大家閱讀logistic回歸詳解一:為什麼要使用logistic函數 - bitcarmanlee的博客 - CSDN博客,在此不過多贅述。

總結其兩個優點:①輸入範圍無限制;②函數單調遞增,具有良好的連續性。

1.2 構造預測函數

對於線性邊界的情況,邊界形式為: 	heta_{0}x_{0}+	heta_{1}x_{1}+···+	heta_{n}x_{n}=sum_{i=1}^{n}{	heta_{i}x_{i}}=	heta^{T}x

這個式子我們在介紹線性回歸理論部分的時候推導過,其實並不難,只是加了一列「全1項」 x_{0} 僅此而已。

因此結合sigmoid函數,我們構造線性決策邊界的預測函數:

h_{	heta}(x)=g(	heta^{T}x)=frac{1}{1+e^{-	heta^{T}x}}

2. 似然函數推導

在線性回歸中,我們的目標函數其實是通過極大似然估計(MLE)和高斯分布(Gauss)推導得出的;而在邏輯回歸中,我們是通過極大似然估計(MLE)以及二項分布推導出目標函數並進行優化的。

========

首先我們假定數據服從二項分布,且

P(y=1|x;	heta)=(h_{	heta}(x))^{y}

P(y=0|x;	heta)=(1-h_{	heta}(x))^{1-y}

則聯合概率為: P(y|x;	heta)=(h_{	heta}(x))^{y}(1-h_{	heta}(x))^{1-y}

似然函數L(	heta)=prod_{i=1}^{m}(h_{	heta}(x^{(i)}))^{y^{(i)}}(1-h_{	heta}(x^{(i)}))^{1-y^{(i)}}

按照道理下面我們應該引出對數似然,但在這之前,我們需要補充一個知識點

幾率(odds):事件發生的概率與不發生的概率的比值

對數幾率logit函數

logit(p)=logfrac{p}{1-p}=logfrac{h_{	heta}(x)}{1-h_{	heta}(x)}=log(frac{frac{1}{1+e^{-	heta^{T}x}}}{frac{e^{-	heta^{T}x}}{1+e^{-	heta^{T}x}}})=	heta^{T}x

上面的式子最後推導出邏輯回歸的對數幾率是線性的,也可以說它廣義上是線性的(GLM),所以在西瓜書上,也把邏輯回歸叫成對數幾率回歸

另外,上述結果在化簡對數似然函數時會用到。下面引入對數似然:

l(	heta)=logL(	heta)=sum_{i=1}^{m}y^{(i)}log h_{	heta}(x^{(i)})+(1-y^{(i)})log(1-h_{	heta}(x^{(i)}))

= sum_{i=1}^{m}y^{(i)}log h_{	heta}(x^{(i)})+log(1-h_{	heta}(x^{(i)}))-y^{(i)}log(1-h_{	heta}(x^{(i)}))

=sum_{i=1}^{m}y^{(i)}logfrac{h_{	heta}(x^{(i)})}{1-h_{	heta}(x^{(i)})}+log(1-h_{	heta}(x^{(i)}))

=sum_{i=1}^{m}y^{(i)}	heta^{T}x+log(1-h_{	heta}(x^{(i)}))

和線性回歸一樣,我們對 l(	heta) 求偏導,找出梯度方向:

frac{partial}{partial	heta_{j}}l(	heta)=yx_{j}+frac{partial}{partial	heta_{j}}log(frac{1}{1+e^{	heta^{T}x}})

=yx_{j}-frac{partial}{partial	heta_{j}}log({1+e^{	heta^{T}x}})

=yx^{j}-frac{e^{	heta^{T}x}}{1+e^{	heta^{T}x}}cdot x_{j}

=(y-h_{	heta}(x))x_{j}

3. 梯度上升or梯度下降

3.1 梯度上升

至此,我們其實已經通過極大似然估計求出了梯度方向: (y-h_{	heta}(x))x_{j}

因此我們的參數學習規則也可以得出: 	heta_{j}:=	heta_{j}+alpha(y^{(i)}-h_{	heta}(x^{(i)}))x_{j}^{(i)} ,這個規則翻譯過來就是參數是沿著MLE上升的,也即整個過程是梯度上升的

可以看到邏輯回歸的參數迭代和我們的線性回歸的參數迭代的式子幾乎一樣,主要區別就在於 h_{	heta}(x^{(i)})

3.2 梯度下降

在一些書籍或課程中,也會取損失函數為:

J(	heta)=-frac{1}{m}l(	heta)=-frac{1}{m}sum_{i=1}^{m}y^{(i)}log h_{	heta}(x^{(i)})+(1-y^{(i)})log(1-h_{	heta}(x^{(i)}))

也把 J(	heta) 叫做負對數似然函數,NLL(Negative Likelyhood Logarithm)。

此時參數的學習規則是: 	heta_{j}:=	heta_{j}-alphafrac{1}{m}sum_{i=1}^{m}(h_{	heta}(x^{(i)})-y^{(i)})x_{j}^{(i)} ,這個規則翻譯過來就是參數是沿著NLL下降的,也即整個過程是梯度下降的

=========

可以看到,我們的目標是 maximizel(	heta)minimizeJ(	heta)

不管是梯度上升還是梯度下降,其實二者的本質是一樣的,只是梯度下降應用更加廣泛,於是就構造一個損失函數使它可以通過下降參數來獲得最優解。

4. 分類模型評價準則AUC(Area Under Curve)

既然Logistic模型是我們首先提到的分類器,那麼我覺得有必要在這裡簡單的介紹一下分類模型的評價準則問題。

首先,我們在評價分類器的好壞時,第一個想到的一定是通過模型分類的準確率來判斷。

但是,在有些情況下,比如數據集分布不均勻或遇到不平衡數據時,準確率不見得是一個科學的評判好壞的方法。

因此,我們介紹另一種評價分類模型好壞的準則,AUC。

首先引出如下所示的混淆矩陣:

其次我們定義:

TPR=frac{TP}{TP+FP} ,TRP表示True Positive Rate,也被叫做精確率

FPR=frac{FP}{FP+TN} ,FRP表示False Positive Rate。

然後我們可以畫出TRP和FRP的曲線,該曲線也稱作ROC曲線,如下圖所示:

ROC曲線

ROC曲線下方面積的大小我們就叫做AUC(Area Under Curve)。較大的AUC代表了較好的性能。當AUC = 1時,是完美分類器。當然,現實場景中是幾乎不存在完美分類器的。

推薦一篇關於分類器度量指標的科普:【機器學習】分類性能度量指標 : ROC曲線、AUC值、正確率、召回率、敏感度、特異度

結語

本篇文章主要講解了Logistic回歸模型定義、參數優化的推導過程以及分類器度量指標的簡要介紹。

可以看到,Logistic回歸本身並不難,但是它在工業界卻有著極為廣泛的應用。

希望廣大讀者能自己手推一遍Logistic回歸的參數優化過程,以加深記憶。

下一篇文章會依然照著主體思想,介紹Logistic回歸的實踐部分,並儘可能地詳細這一部分,畢竟理論需要經過實踐的檢驗,才能牢記於心。

推薦閱讀:

相关文章