這一節主要介紹線性迴歸算法。
Linear Regression Problem
對於輸出空間 Y=R 的一類問題,一個比較簡單的想法就是:將 Linear Classification 的決策函數中的 sign 函數去掉,使用各種特徵的加權結果來表示 y
y≈∑i=0dwixi=wTx
這就是線性迴歸算法,它的假設空間爲
h(x)=wTx
線性迴歸的目標是尋找一條直線 (
R2 ) 或者一個平面 (
R3 )或者超平面(
Rn ),使得誤差最小,常用的誤差函數是平方誤差
Ein(w)=1N∑n=1N(h(xn)−yn)2
Eout(w)=ϵ(x,y)∼P(wTx−y)
Linear Regression Algorithm
將 Ein 寫成矩陣形式
Ein(w)=1N∑n=1N(h(xn)−yn)2=1N∥∥∥xT1w−y1xT2w−y2⋅⋅⋅xTNw−yN∥∥∥2=1N∥Xw−y∥2
其中
X=[xT1,1xT2,1⋅⋅⋅xTN,1]∈RN×(d+1)
w∈R(d+1)×1
y∈RN×1
我們的目標是找到一個
w ,使得
Ein(w) 儘可能小。因此,將
Ein(w) 對
w 求導,得到:
∇Ein(w)=2NXT(Xw−y)
令
∇Ein(w)=0 ,得到
w 的最優解
wLIN=(XTX)−1XTy=X†y
其中
X†=(XTX)−1XT
稱爲矩陣
X 的僞逆,於是
h(x)=wTLINx
將上面做一個小結,得到 Linear Regression 算法的流程如下:
Generalization Issue
下面我們來分析一下 Linear Regression 的 Ein
Ein(wLIN)=1N||y−y^||2=1N||y−XX†y||2=1N||(I−H)y||2
其中
H=XX† 是投影矩陣,把
y 投影到
X 的
d+1 個向量構成的平面上,
H 有如下的性質:
- 對稱性 H=HT
- 冪等性 H2=H
- 半正定性 λi≥0
- trace(I−H)=N−(d+1)
假設 y=f(X)+noise,f(x)∈span ,那麼如上圖所示,有
Ein(wLIN)=1N||(I−H)y||2=1N||(I−H)noise||2=1Ntrace(I−H)||noise||2=1N(N−(d+1))||noise||2
得到:
Ein(wLIN)=||noise||2⋅(1−d+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=(wTx−y)2
所以可以將 Linear Regression 用於分類問題上:
- run Linear Regression on binary classification data D
- return g(x)=sign(wTLINx)
以上便是 Linear Regression 的內容。