[ML] 機器學習基石:第九講 Linear Regression

ML:基礎學習
課程:機器學習基石
簡介:第九講 Linear Regression

x=(x0,x1,x2,,xd)yi=0dwixih(x)=wTx

Error Measure

Ein(hw)=1Nn=1N(h(xn)wnTxyn)2
Eout(w)=ε(x,y)P(wTxy)2
Ein(w)=1Nn=1N(wnTxyn)2=1Nn=1N(xnTwyn)2=1Nx1Twy1x2Twy2xNTwyN2=1N[x1Tx2TxNT]w[y1y2yN]2=1NXN×(d+1) w(d+1)×1yN×12

求最小值 Ein
Double exponent: use braces to clarify 2N(XTXwXTy)=0XTXw=XTy
XTX  invertible XTX singular
(XTX)1XTy X+y
程式建議直接使用別人寫好的 pseudo-inverse
wTAww=2Aw
使用微分乘法法則
f(w)=wTAw=i=1nj=1naijwiwjfw=(fw1,fw2,fw3,,fwn)T=(2k=1na1kwk,2k=1na2kwk,,2k=1nankwk)T=2A(w1,w2,,wn)T=2Aw

Linear Regression Algorithm

  1. D 建構出 Xy
  2. 算出 pseudo-inverse X+
  3.  wopt=X+y

good Eout

因有限的 dvc 如同 perceptrons,相當於二分法
Ein
Ein=εDPN{Ein(woptw.r.tD)}=noise level(1d+1N)
Ein(wopt)=1Nyy^prediction2=1NyXX+ywopt2=1N((IXX+)y)2=1N((IH)y)2call XX+ hat matrix H
H 即是投影轉換矩陣,故
y=f(x)+noisef(x) 為理想的目標函數
Double exponent: use braces to clarify trace(H)=trace(XX+)=trace(XX+)=trace(X(XTX)1XT)=trace((XTX)1XTX)=trace(I(d+1)x(d+1))=d+1
Eout=noise level(1+d+1N) 因訓練後,會往 X domain 靠近,故
Ein 會被修正 d+1 維的錯誤
Eout 則再糟也只是再加上 d+1 維的錯誤
EoutEin=2(d+1)N
σ2 noise level

H 的特性


Linear Classification & Linear Regression 比較

Linear Classification Linear Regression
NP-hard 的解 y=1,+1h(x)=sign(wTx)err(y^,y)=[y^y]
簡單易解 y=Rh(x)=wTxerr(y^,y)=(y^y)2

error 比較
Eout(w)VCclassification Ein(w)+regression Ein(w)+
regression 相較於 classfication 較為鬆散,也因此易解
故可用在
  • 基本的分類器,大多數表現不差
  • PLA/pocket 的初始值,加快 PLA/pocket 的速度

留言