天天看點

台大-林軒田老師-機器學習基石學習筆記10

這一堂課是主要講的是邏輯回歸(Logistic Regression)。但是這個回歸問題在問題的執行上更像是個分類問題,但是有和分類問題不一樣。按照老師的觀點:

logistic regression是這樣定義的

我們從要解決的問題是:

有一組病人的資料,我們需要根據下一位病人的病症來判斷其是否患病。

變成了:

有一組病人的資料,我們需要預測他們在一段時間後患上心髒病的“可能性”,就是我們要考慮的問題。

那麼問題來了:

通過二值分類,我們僅僅能夠預測病人是否會患上心髒病,不同于此的是,現在我們還關心患病的可能性,即 f(x) = P(+1|x),取值範圍是區間 [0,1]。

我們之前的計算bound也好計算回歸式也好,那一定是會有大于1或者小于0的數值出現的呀。這時候怎麼辦呢?

其實我們轉換一下思維:

我們能不能找一個映射關系,能夠合理将bound通過權重計算得到的數值,經過元算得到一個[0,1]區間的值呢?

邏輯斯蒂回歸選擇的這個麼個映射函數是S型的sigmoid 函數。

台大-林軒田老師-機器學習基石學習筆記10

s 取值範圍是整個實數域,

f(x) 單調遞增,0 <= f(x) <=1。

台大-林軒田老師-機器學習基石學習筆記10

于是整理一下,讓他變成一個合理的h(x):

台大-林軒田老師-機器學習基石學習筆記10

回歸方程出來就夠了嗎

答案是否定的我們還要知道Ein的表述,因為作為一個優秀的機器學習算法怎麼能讓Ein很大呢:

我們先看看我們的目标函數:

台大-林軒田老師-機器學習基石學習筆記10

我們知道:

當y = +1 時, P(y|x) = f(x);

當y = -1 時, P(y|x) = 1 - f(x).

在機器學習假設中,資料集D 是由f 産生的,我們可以按照這個思路,考慮f 和假設 h 生成訓練資料D的機率。

下面這句話比較拗口,但是好多部落客都這樣了解:

訓練資料的客觀存在的,顯然越有可能生成該資料集的假設h越大越好。是以此處用的是相乘(h的相乘)。

最後我們通過化簡(數學家略過):

台大-林軒田老師-機器學習基石學習筆記10

再将θ換成我邏輯回歸的回歸函數:

得到

台大-林軒田老師-機器學習基石學習筆記10

這裡補充:

來自GAN 的發展對于研究通用人工智能有什麼意義? 的一句話

回到根源,什麼是機器學習?一句話來概括就是,在訓練過程中給予回饋,使得結果接近我們的期望。對于分類問題(classification),我們希望 loss 在接近 bound 以後,就不要再有變化,是以我們選擇交叉熵(Cross Entropy)作為回饋;在回歸問題(regression)中,我們則希望 loss 隻有在兩者一摸一樣時才保持不變,是以選擇點之間的歐式距離(MSE)作為回饋。損失函數(回饋)的選擇,會明顯影響到訓練結果的品質,是設計模型的重中之重。這五年來,神經網絡的變種已有不下幾百種,但損失函數卻寥寥無幾。

邏輯回歸的誤差函數的梯度

梯度的概念是很正常的數學概念了,

台大-林軒田老師-機器學習基石學習筆記10

這個玩意的計算公式是:

台大-林軒田老師-機器學習基石學習筆記10

我們要讓他最小,自然是屬于極小值的時候最好是最小值的時候,我們有人已經證明了,這個Ein的圖像應該是一個抛物線,那麼這個抛物線的最小值自然是谷底,是以給出一個思路:

台大-林軒田老師-機器學習基石學習筆記10

這個方法我們又稱為:

台大-林軒田老師-機器學習基石學習筆記10

這是個循序漸進的方法。

最經典的優化算法——梯度下降法

要尋找目标函數曲線的波谷,采用貪心法:想象一個小人站在半山腰,他朝哪個方向跨一步,可以使他距離谷底更近(位置更低),就朝這個方向前進。這個方向可以通過微分得到。選擇足夠小的一段曲線,可以将這段看做直線段,為了友善計算,将上式近似可得。

台大-林軒田老師-機器學習基石學習筆記10

但是:

台大-林軒田老師-機器學習基石學習筆記10

下降比較多的或者太小可能不是特别好

【梯度下降的算法等部落客閑下來,稍微分享下】

是以我有這麼個想法:

距離谷底較遠時,步幅大些比較好;

接近谷底時,步幅小些比較好(以免跨過界)。

距離谷底的遠近可以通過梯度的數值大小間接反映,接近谷底時,坡度會減小。

是以,我們希望步幅與梯度數值大小正相關。

當到達疊代次數或者梯度足夠接近0(算法收斂)

原式子可以改寫為

台大-林軒田老師-機器學習基石學習筆記10

這個時候當我們找到了谷底,整一個梯度下降執行成功,我們的邏輯回歸也到此結束:

台大-林軒田老師-機器學習基石學習筆記10

我們做了實驗可以知道,邏輯回歸可以很舒服的實作分類問題,這個和PLA的結果一樣但是用的是全新的思路【畢竟是基于0\1問題】:

台大-林軒田老師-機器學習基石學習筆記10

之後也是【等部落客有時間,上傳邏輯回歸的實驗方式】

補充:

邏輯回歸和某個更高階的【深度學習】算法有神似之處呢!

最後總結一下:上圖,英文很簡單的啦:

台大-林軒田老師-機器學習基石學習筆記10

分别從邏輯回歸方程、代價函數、代價函數梯度、到梯度下降優化算法來講解了這一類的像分類問題的回歸問題。

繼續閱讀