《機器學習基石》9-Linear Regression

這一節主要介紹線性迴歸算法。

Linear Regression Problem

對於輸出空間 Y=R 的一類問題,一個比較簡單的想法就是:將 Linear Classification 的決策函數中的 sign 函數去掉,使用各種特徵的加權結果來表示 y

yi=0dwixi=wTx
這就是線性迴歸算法,它的假設空間爲
h(x)=wTx
線性迴歸的目標是尋找一條直線 (R2 ) 或者一個平面 (R3 )或者超平面(Rn ),使得誤差最小,常用的誤差函數是平方誤差
Ein(w)=1Nn=1N(h(xn)yn)2
Eout(w)=ϵ(x,y)P(wTxy)

Linear Regression Algorithm

Ein 寫成矩陣形式

Ein(w)=1Nn=1N(h(xn)yn)2=1Nx1Twy1x2Twy2xNTwyN2=1NXwy2

其中
X=[x1T,1x2T,1xNT,1]RN×(d+1)
wR(d+1)×1
yRN×1

我們的目標是找到一個 w ,使得 Ein(w) 儘可能小。因此,將 Ein(w)w 求導,得到:
Ein(w)=2NXT(Xwy)
Ein(w)=0 ,得到 w 的最優解
wLIN=(XTX)1XTy=Xy
其中
X=(XTX)1XT
稱爲矩陣 X 的僞逆,於是
h(x)=wLINTx

將上面做一個小結,得到 Linear Regression 算法的流程如下:

Generalization Issue

下面我們來分析一下 Linear Regression 的 Ein

Ein(wLIN)=1N||yy^||2=1N||yXXy||2=1N||(IH)y||2
其中 H=XX 是投影矩陣,把 y 投影到 Xd+1 個向量構成的平面上,H 有如下的性質:
  • 對稱性 H=HT
  • 冪等性 H2=H
  • 半正定性 λi0
  • trace(IH)=N(d+1)


假設 y=f(X)+noise,f(x)span ,那麼如上圖所示,有

Ein(wLIN)=1N||(IH)y||2=1N||(IH)noise||2=1Ntrace(IH)||noise||2=1N(N(d+1))||noise||2
得到:
Ein(wLIN)=||noise||2(1d+1N)
Eout(wLIN)=||noise||2(1+d+1N)


兩者最終都向 σ2 (noise level)收斂,差距是 2(d+1)N ,因此說明算法是可行的。

Linear Regression for Binary Classification

對比一下 Linear Classification 與 Linear Regression:

  • Linear Regression
    • 用於分類問題
    • Y={+1,1}
    • h(x)=sign(wTx)
    • NP-hard,難於求解
  • Linear Regression
    • 用於迴歸問題
    • Y=R
    • h(x)=wTx
    • 易於求解

因爲

err0/1=[[sign(wTx)y]]errsqr=(wTxy)2
所以可以將 Linear Regression 用於分類問題上:
  1. run Linear Regression on binary classification data D
  2. return g(x)=sign(wLINTx)

以上便是 Linear Regression 的內容。

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