7. 機器學習基石-How can Machine Learn? - Linear Regression

How can Machine Learn? - Linear Regression


1. What is Regression

機器學習算法一般是這樣一個步驟:

  1. 對於一個問題,用數學語言來描述它,然後建立模型,e.g., 迴歸模型或者分類模型;

  2. 建立代價函數: Cost Function, 用最大似然、最大後驗概率或者最小化分類誤差等等數,也就是一個最優化問題。找到最優化問題的解,也就是能擬合我們的數據的最好的模型參數;

  3. 求解這個代價函數,找到最優解。求解也就分很多種情況了:

    1). 如果這個優化函數存在解析解。例如我們求最值一般是對代價函數求導,找到導數爲0的點,也就是最大值或者最小值的地方了。如果代價函數能簡單求導,並且求導後爲0的式子存在解析解,那麼我們就可以直接得到最優的參數了: Gradient Descent。

    2). 如果式子很難求導,例如函數裏面存在隱含的變量或者變量相互間存在耦合,也就互相依賴的情況。或者求導後式子得不到解釋解,例如未知參數的個數大於已知方程組的個數等。這時候我們就需要藉助迭代算法來一步一步找到最有解了。

    3). 另外需要考慮的情況是,如果代價函數是凸函數,那麼就存在全局最優解。

迴歸(Regression)問題與分類(Classification)問題類似,關鍵的區別在於,Regression的輸出是實數,是一個範圍,所以不能提前確定所有輸出值;而Classification的輸出是確定的值。換個角度說,假如輸出足夠多的數據的時候:如果輸出的值是連續的,這個問題叫做Regression,而如果輸出的值是離散的,那麼這個問題叫做Classification

用數學符號表示如果公式(1)所示。

Regression:Classification:f(x)=[value1,value2]f(x)={value1,value2,...,valuen}(1)

2. Linear Regression

1) Introduction of Linear Regression

線性迴歸問題同樣的表示各個屬性(Attribution)對最終結果的貢獻:也就是說每個屬性乘以對應的權值,最後再加上一定的偏移,如公式(2)所示

y=w0+w1x1+w2x2+...+wnxn(2)

如果給第一項的偏移 w0 加上屬性值 x0 ,並把單獨的輸出點y 用向量進行表示,那麼公式(2)就變成了公式(3)(這一步純粹是爲了表示方便)。

Hypothesis h(x):

h(x)=w0x0+w1x1+w2x2+...+wnxn(x0=1)=wTxi=WTX(3)

從公式(3)的可以看出,與二元分類假設函數的表示只差了一個取正負號的函數 sign()

2) Error Measurement of Linear Regression

線性迴歸問題的錯誤如圖一所示。
Error Measurement

圖一 Error Measurement [1]

上一章中,提到了迴歸問題我們用平方誤差來表示(其實還有RMSE, R2等方法,老師上課只講了平方誤差,爲了說明方便,我們只寫這個)
根據圖一的信息,很明顯得到公式(4)(5)。

Ein(w))=1Nn=1N(wTxnyn)2(4)

Eout(w))=ϵn=1N(wTxnyn)2(5)

VC Bound可以約束各種情況的學習模型,當然迴歸類型的模型也被也受此約束,只需要尋找足夠小 Ein(w) 便可以滿足 Eout(w) 小的需求。

3) Linear Regression Algorithm

剛剛上面的Error Meansurement中,我們提到了VC Bound中,在訓練樣本足夠的情況下,我們要用特定的算法,來找到最小的 Ein(w) ,所以把上面公式(4)的pointwise error measurement 通過矩陣做調整得到公式(6)。

Ein(w))=1Nn=1N(wTxnyn)2=1Nn=1N(xTnwyn)2()=1NxT1xT1...xT1wy1y2...yn2()=1NXTN×(d+1)w(d+1)×1yN×12=1NxT1wy1xT2wy2...xTNwyN2()(6)

根據公式(6),那麼 Ein(w) 的最小值如公式(7)所示。

minwEin(w)=minw1NXTwy2(7)

Ein(w) 的變化圖如圖二所示,可以看出這是一個連續(continuous)、可微(differentiable)的凸(convex)函數。最小值就是山谷的點(即轉折點),並且對這個點求導的值爲0。
Ein Curve

圖二 Ein Curve [1]

所以接下來,我們需要對Ein(w) 求導並且找到一個值 WLIN ,使得 Ein(w) 的值爲0。
1. 首先我們需要考慮兩種情況:①只有一個w; ②w爲向量
2. 首先我們把公式(6)平方去掉
3. 只有一個w的時候,就按照正常的求導方式求導即可,得到公式(7)
4. 當w爲向量的時候,我們需要對其中一個進行轉置,然後再求導,得到公式(8)
5. 根據公式(7)(8)可以看出,兩種情況的求導的結果非常相似,可以用公式(9)表示
6. 最後我們令公式(9)的值爲0,得到我們需要的 WLIN 如公式(10)所示,其中 X 叫做矩陣X的僞逆矩陣(pseudo-inverse)

onew:Ein(w)Ein(w)=1N((XT)Xw22XTyw+y2)=1N(2(XT)Xw2XTy)(7)

vectorw:Ein(w)Ein(w)=1N((XT)XwTw2XTywT+y2)=1N(2(XT)Xw2XTy)(8)

Ein(w)=2N((XT)XwXTy)(9)

WLIN=(XTX)1XTXy=X(d+1)×N)yN×1(10)

4) Generalization Issue

上一節中,我們得到了最佳的 w 的解,但是,哪個是最小的 Ein , 實際上我們最需要的是使得 Eout 最小,而我們這一節就是要討論之前關於VC Bound保證了 EinEout 是否依然適用於線性迴歸問題。(中間解釋過程較複雜,後續補充。)

結論就是得到了 EinEout 關於 noise level的方程,如公式(11)(12),曲線圖如圖三所示。

Ein(w)=noiselevel(1d+1N)(11)

Eout(w)=noiselevel(1+d+1N)(12)

Ein Eout Curve

圖三 Ein Eout Curve[2]

可以看出在N趨於無窮大時,與兩者都會趨近於noise level的值,即 σ2 泛化錯誤之間的差距:2(d+1)N

至此可以表明在線性迴歸中可以尋找到很好的 Eout ,因此線性迴歸可以學習。

5) Linear Regression for Binary Classification

這一節,我們主要討論能否通過求解線性迴歸的方式求二元分類問題

首先對比Linear Classification 和 Linear Regression, 如圖四

Linear Classification and Linear Regression

圖四 Linear Classification and Linear Regression[3]

從求解問題的難度考慮,二元分類的求解是一個NP難問題,只能近似求解,而線性迴歸求解方便,程序編寫也簡單。

直覺告訴我們:因爲二元分類的輸出空間{-1,+1}屬於線性迴歸的輸出空間,即 {1,+1}R 。其中數據集的標記大於零的表示+1,小於零的表示-1,通過線性迴歸求得的解析解 WLIN ,直接得出最優假設 g(x)=sign(WLINx)

下面給出證明:

入手點:誤差大小

首先對比兩種方法的曲線圖,如圖五所示。
Relations of Two Errors

圖五 Relations of Two Errors[3]

可以發現,無論期望的y爲-1還是+1, errsqr 始終大於 err0/1 ,即公式(13),加上我們之前有的 EoutEin ,那麼我們可以得到公式(14)。

err0/1errsqr(13)

ClassificationEout(w)ClassificationEin(w)+8Nln(4(2N)dvcδ)RegressionEin(w)+8Nln(4(2N)dvcδ)(14)

所以我們可以通過使用 Linear Regression 的方法來求解Linear Classification的問題,雖然通過這種方法,得到的誤差可能更大,但卻是一種更有效率的求解方式。在實際運用中,一般都將通過線性迴歸求得的解析解作爲PLA或者pocket的初始值,達到快速求解的目的 。

Summary

  1. 首先介紹了Regression。
  2. 然後通過例子引入Linear Regression,分別介紹Linear Regression的誤差方程,算法流程。
  3. 接着我們引入VC Bound 解釋了Linear Regression爲什麼可以實現學習。
  4. 最後我們應用Linear Regression的算法到Classification的問題中:雖然會損失一定的準確度,但是效率提升很大。

Reference

[1] 機器學習基石(臺灣大學-林軒田)\9\9 - 1 - Linear Regression Problem (10-08)

[2] 機器學習基石(臺灣大學-林軒田)\9\9 - 3 - Generalization Issue (20-34)

[3] 機器學習基石(臺灣大學-林軒田)\9\9 - 4 - Linear Regression for Binary Classification (11-23)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章