線性迴歸——最小二乘求解

線性迴歸
線性迴歸用於數值預測,它的主要思想是利用預定的權值將屬性進行線性組合來表示類別:
y=w0+w1x1+w2x2+...+wnxn
其中,y是類別屬性值,x1,x2,...,xn 是一般屬性值,w1,w2,...,xn 是權值, w0 稱爲偏置,類似於一元線性迴歸y=ax+b 中b。
求解線性迴歸就是通過已知的一些數據點
(1,xi1,xi2,...,xin,yi)
算出權重(w0,w1,...,wn) 。在屬性集合中加了一個1,是爲了與權重w0 對應,屬性值的上標i,是指這個屬性值屬於第i個數據點。

最小二乘求解線性迴歸
假設我們已知m個數據點的屬性值,我們便有了包含m個方程的方程組:
y1=w0+w1x11+w2x12+...+wnx1n
y2=w0+w1x21+w2x22+...+wnx2n

ym=w0+w1xm1+w2xm2+...+wnxmn
方程組可以表示爲矩陣形式:

y1y2ym=111x11x21xm1x1nx2nxmnw0w1wn

其中,
y1y2ym

稱爲觀測向量,
111x11x21xm1x1nx2nxmn

稱爲設計矩陣,
w0w1wn

稱爲參數向量。
這裏假設設計矩陣的各列線性無關,也就是說,用於表示y 的其它屬性各貢獻了不同方向的力量。
我們知道,當mn+1 時,通過消元法,就能求出(w0,w1,...,wn) ,有一個解,或者多個解;但是當m>n+1 時, 方程可能無解,這時設計矩陣的列向量生成了R(n+1) 的一個子空間,也就是設計矩陣的列空間,當觀察向量屬於列空間時,方程組有解,但是當觀測向量不屬於列空間時,方程組就沒有解了。當方程組沒解時,我們該怎麼辦呢?算近似解。這兒,我們用列空間中離觀測向量最近的向量代替觀測向量求解方程組。列空間中離觀測向量最近的向量就是觀測向量列空的正交投影。關於這個結論有一個定理:
假設W是Rn 空間中的一個字空間,yRn 中的任意向量,y 是y在W上的正交投影,那麼y 是W中最接近y 的向量,也就是說,
|yy||yv|
對所有屬於W又異於y 的v都成立。其中|y-y’|是指向量yy 的模,它的計算公式是:
nk=1(y1y1)2
使得這個公式的值最小便是“最小二乘”這個名字的由來。
在我們這裏,y 是觀測向量,y 就是列空間中用來代替y 的向量,叫做預測向量。
接下來的重點就是算觀測向量在設計矩陣列空間的正交投影了。我這裏簡要地給出求一個向量在一個空間中正交投影的計算方法。
如果{u1,u2,...,up}Rn 中子空間W的單位正交基,那麼
projwy=(yu1)u1+(yu2)u2+...+(yup)up
其中,ui 都是向量。
要得到設計向量列空間的單位正交基,可以通過把設計矩陣進行QR分解得到。關於QR分解的定理如下:
如果m x n 矩陣A的列向量線性無關,那麼A可以分解爲A=QR , 其中Q是一個m x n 矩陣,其列形成A矩陣列空間的一個單位正交基,R是一個mn x n 可逆矩陣且在對角線上的元素爲正數。

參考資料:
1.《概率導論》第2版,(美)伯特瑟卡斯,(美)齊齊克利斯 著,鄭忠國,童行偉 譯
2.《數據挖掘 實用機器學習工具與技術》第3版,
(新西蘭)威滕(Witten,I.H.),(新西蘭)弗蘭克(Frank,E.) 著,董琳 譯
3.《線性代數及其應用》第3版,(美)萊(Lay,D.C.) 著,劉深泉 等譯

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