Andrew Ng機器學習公開課筆記 -- Logistic Regression


網易公開課,第3,4課
notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf

前面討論了線性回歸問題,
image符合高斯分布,使用最小二乘來作為損失函數

下面繼續討論分類問題,分類問題和回歸問題不同在於Y的取值是離散的
我們先討論最簡單的binary classification,即Y的取值只有0和1
分類問題一般不會使用回歸模型,因為回歸模型是輸出是連續的,而分類問題需要的輸出是離散的

但是一定要用也不是不可以,比如這里繼續使用線性回歸模型,但是不是非常適合
原因如下,
首先線性模型的Y取值是連續,且沒有限制的,而二元分類的取值為[0,1],對於線性回歸模型,參考下圖,可以以0.5為分界線,大於則取1,小於則取0,也可以轉化為離散的結果
再者,其實只有在分界線周圍的樣本點對分類模型會有比較大的影響,而比較遠的樣本點其實對模型沒啥影響
但對於線性模型而言,增加任何樣本點都會對模型產生相同的影響

image
所以提出logistic回歸模型,這種回歸模型可以比較好的解決二元分類問題
從本質上你仍然可以把他理解為線性模型,
你可以看下面給出的H函數,只是在線性回歸外面加上logistic函數進行轉換,可以理解成把上圖的直線轉化為那條sigmoid曲線,使其更加符合二元分類的需求
但是本質上可以看成仍然是用那條直線進行划分
參考,對線性回歸,logistic回歸和一般回歸的認識

 

Logistic function(Sigmoid function)
下面給出H函數
imageimage
由這個函數生成的曲線稱為Sigmoid曲線,這個曲線很有說道,參考http://t.cn/8st3jG1
image
先不從數學上說為什么這個模型中二元分類上比線性模型好,單純從圖形上看就可以得到直觀的結論
首先Y值域在[0,1],其次圖形中中間陡峭而兩邊平緩,符合二元分類的樣本點特性

確定了模型,下面要做的是fit最優的θ,仍然是采用最大似然法,即找出對訓練數據可能性最大的那個θ

前面對於線性回歸問題,image符合高斯分布(連續回歸問題往往符合高斯分布),最終我們由最大似然推導出最小二乘回歸
但是對於二元分類,符合伯努利分布(the Bernoulli distribution, 又稱兩點分布,0-1分布),因為二元分類的輸出一定是0或1,典型的伯努利實驗
by the way,二項分布是n次獨立的伯努利實驗形成的概率分布,當n=1時,就是伯努利分布
同樣,如果離散輸出是多個值,就是符合多項分布

看看由最大似然可以推導出什么
首先給出伯努利分布
image
是否好理解,給定x;θ,y=1的概率等於h的值,看看圖中,當然是h的值越大越可能為1,越小越可能為0
那么這個式子可以合並寫成,比較tricky的寫法,Y為0或1,總有一項為1
image
那么θ的似然函數定義為,θ的可能性取決於模型對訓練集擬合的好壞
 image
同樣為了數學計算方便,定義log likelihood,
image

很顯然,對於伯努利分布,這里無法推導出最小二乘呵呵
下面要做的是找到θ使得ℓ(θ)最大,由於這里是找最大值而非最小值,所以使用梯度上升(gradient ascent),道理是一樣的
首先計算梯度,計算過程參考原文
image
所以最終隨機梯度上升rule寫成,
image
這個梯度公式,奇跡般的和線性回歸中的梯度公式表面上看是一樣的,可以仔細比較一樣的
之所以說表面上,是因為其中的image 是不同的,這里是logitics函數

 

Perceptron Learning Algorithm(感知機算法)
這里談感知機,好像有些離題,但是你看下感知機的函數
image  image
單純從直觀圖形的角度,似乎是邏輯函數的簡化形式
邏輯函數是連續的在[0,1]區間上,而感知機直接非0則1,參考下圖紅線
image 
同樣使用梯度下降的感知機算法也是和上面相同的形式
image
同樣不同的僅僅是h(x)
1960s,感知機被看作是大腦工作中獨立神經元的粗糙的模型,由於簡單,會用作后面介紹的學習算法的起點
雖然直觀看上去感知機和之前看到的logistic回歸或最小二乘回歸很像,但是其實是非常不一樣的算法
因為,對於感知機,很難賦予一種有意義的概率解釋(probabilistic interpretations),或使用最大似然估計算法來推導感知機算法
而對於最小二乘或logistic都可以給出像高斯分布或伯努利分布的概率解釋,並可以使用最大似然進行推導

 

牛頓算法(Newton’s method)
前面我們說道使用梯度上升法來求解maximizing ℓ(θ)
現在介紹另外一種收斂速度更快的算法來求解,稱為牛頓法
也很簡單,看下面的圖

image

對於梯度下降,每次只是在梯度方向(導數,切線)下降一小步(取決於學習速度參數)
而牛頓法是一直下降到導數(切線)和θ軸交界的那個θ,直觀上可以看出這個下降速度確實很快
而其中θ下降了圖中紅線部分,通過三角計算很容易算出
故牛頓法的rule為,最終找到f(θ) = 0的點
image

好,現在看我們的問題,解邏輯回歸就是要找到max(ℓ ),即ℓ′(θ)=0的點
image
代入牛頓法,即f(θ) = ℓ′(θ)
所以邏輯回歸的牛頓法的rule公式,寫為
image

但這里我們只是考慮一個θ的情況,實際情況下參數會有多個,即θ其實是一個向量
那么對於θ向量,牛頓法的公式會變成怎樣?
image
其中∇ℓ(θ)也是個向量,是ℓ(θ)對於每個θi的偏導的結果
其中H是個n-by-n matrix,其實一般是n + 1-by-n + 1,因為如果有n個參數θi,還會有個截距項
H矩陣稱為Hessian,矩陣中每一項定義為
image 

和梯度下降比,牛頓法會帶來更快的收斂速度和更少的迭代次數
但相應的每次迭代會需要更大的計算量,因為需要計算image
所以當θ的參數個數不是很多的時候,牛頓法會比較適合


免責聲明!

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



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