邏輯回歸(Logistic Regression)


轉載請注明出自BYRans博客:http://www.cnblogs.com/BYRans/

 

 

    本文主要講解分類問題中的邏輯回歸。邏輯回歸是一個二分類問題

 

二分類問題

    二分類問題是指預測的y值只有兩個取值(0或1),二分類問題可以擴展到多分類問題。例如:我們要做一個垃圾郵件過濾系統,是郵件的特征,預測的y值就是郵件的類別,是垃圾郵件還是正常郵件。對於類別我們通常稱為正類(positive class)和負類(negative class),垃圾郵件的例子中,正類就是正常郵件,負類就是垃圾郵件。

 

邏輯回歸

Logistic函數

    如果我們忽略二分類問題中y的取值是一個離散的取值(0或1),我們繼續使用線性回歸來預測y的取值。這樣做會導致y的取值並不為0或1。邏輯回歸使用一個函數來歸一化y值,使y的取值在區間(0,1)內,這個函數稱為Logistic函數(logistic function),也稱為Sigmoid函數(sigmoid function)。函數公式如下:

   

    Logistic函數當z趨近於無窮大時,g(z)趨近於1;當z趨近於無窮小時,g(z)趨近於0。Logistic函數的圖形如下:

   

    Logistic函數求導時有一個特性,這個特性將在下面的推導中用到,這個特性為:

   

 

 

邏輯回歸表達式

    邏輯回歸本質上是線性回歸,只是在特征到結果的映射中加入了一層函數映射,即先把特征線性求和,然后使用函數g(z)將最為假設函數來預測。g(z)可以將連續值映射到0到1之間。線性回歸模型的表達式帶入g(z),就得到邏輯回歸的表達式:

   

    依照慣例,讓,表達式就轉換為:

   

 

 

邏輯回歸的軟分類

    現在我們將y的取值通過Logistic函數歸一化到(0,1)間,y的取值有特殊的含義,它表示結果取1的概率,因此對於輸入x分類結果為類別1和類別0的概率分別為:

   

    對上面的表達式合並一下就是:

   

 

 

梯度上升

    得到了邏輯回歸的表達式,下一步跟線性回歸類似,構建似然函數,然后最大似然估計,最終推導出θ的迭代更新表達式。這個思路不清楚的請參考文章《線性回歸、梯度下降》,只不過這里用的不是梯度下降,而是梯度上升,因為這里是最大化似然函數不是最小化似然函數。

    我們假設訓練樣本相互獨立,那么似然函數表達式為:

   

    同樣對似然函數取log,轉換為:

   

    轉換后的似然函數對θ求偏導,在這里我們以只有一個訓練樣本的情況為例:

   

    這個求偏導過程第一步是對θ偏導的轉化,依據偏導公式:y=lnx y'=1/x

    第二步是根據g(z)求導的特性g'(z) = g(z)(1 - g(z)) 。

    第三步就是普通的變換。

    這樣我們就得到了梯度上升每次迭代的更新方向,那么θ的迭代表達式為:

   

 

    這個表達式與LMS算法的表達式相比,看上去完全相同,但是梯度上升與LMS是兩個不同的算法,因為表示的是關於的一個非線性函數。

    兩個不同的算法,用同一個表達式表達,這並不僅僅是巧合,兩者存在深層的聯系。這個問題,我們將在廣義線性模型GLM中解答。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM