1. 程式人生 > >投影矩陣與最小二乘(二)

投影矩陣與最小二乘(二)

咱們繼續說最小二乘的故事,因為Strang把這些東西以一種非常直觀的形式串聯起來,使我迫不及待地想寫一些心得微笑

在上回,我們得到了一個十分重要的東西,投影矩陣:

p = A(A'A)-1A'

我們依然以在(一)中的那張投影圖為例,b在平面上的投影是p,如果b垂直於C(A),那麼b就在A的左零空間裡,即Pb = 0。如果b本身就在A的列空間裡,那麼有Ax = b和Pb = b。我們簡要推導下上面的過程:

1)對於b垂直於C(A):

因為N(A')垂直於C(A),所以b在N(A'),Pb = A(A'A)-1A'b = 0(紅色的部分為0)

2)對於b在C(A)裡:

b = Ax, Pb = A(A'A)-1A'Ax = Ax = b

然而,我們要解決的是更一般的情況:b 不屬於上述任何兩種情況之一,也就是b在C(A)(記為p)裡和N(A')(記為e)的投影不是它本身,我們有:

p + e = b。而通過之前介紹的關於投影的知識,我們可以得到p = Pb,所以有:

Pb + e = bI,e = (I - P)b。

我們再次回到(一)的結尾的那個例子:


寫成矩陣形式Ax = b: *


我們可以從兩方面來看待*式的意義

1)我們尋求這樣一條直線,這三個點這條直線的垂直距離分別為e1, e2, e3.我們要尋求的直線使得e1, e2, e3的平方和最小,這就是線性迴歸問題;

2)我們把b看成是R3空間裡的一個向量,它在A的列空間的投影是p,在N(A')的投影是e,我們現在的任務就是尋求一個x hat和p,使得滿足:

這就是我們在(一)中所說的投影矩陣的問題,它擅長於處理Ax = b無解的情況

將A展開代入,得到正則方程:


解這個方程是很簡單的,最後我們得到直線的方程:


我們把給定值,擬合值,誤差統計一下,列出下面這個表:


我們注意到這裡p與e垂直,實際上e垂直於C(A)。

這是很顯然的,因為在這一部分的開頭我們就作了解釋:e在N(A')裡,由於N(A')垂直於C(A),所以e垂直於C(A)。

最小二乘講到這裡似乎已經說完了,但是有一個問題,那就是我們所利用的投影矩陣p = A(A'A)-1A'這裡我們假定A'A是可逆的,這種假定合理嗎?Strang在最後給我們作了解答:

If A has independent columns, then A'A is invertible .

他是這樣證明這個問題的:並沒有直接證明,而是通過證明若A'Ax = 0, 則x = 0來間接證明A'A可逆。

好了,我們現有假設有A'Ax = 0,並且我們使用了一個小技巧(TRICK):

x'A'Ax = x'0

(Ax)'Ax = 0

Ax = 0,由於A的列向量相互獨立,因為由Ax = 0我們得到x只能是0,這樣就把這個問題解決了。

當然,這裡還要提到一個關係:標準正交(orthonormal)。如果一個矩陣的列向量是標準正交向量組,那麼A的列向量一定線性無關。

寫到這裡,我想有必要總結一下,為什麼最小二乘和投影矩陣要扯到一起,它們有什麼聯絡:

最小二乘是用於資料擬合的一個很霸氣的方法,這個擬合的過程我們稱之為線性迴歸。如果資料點不存在離群點(outliers),那麼該方法總是會顯示其簡單粗暴的一面。我們可以把最小二乘的過程用矩陣的形式描述出來,然而,精妙之處就在於,這與我們的投影矩陣的故事不謀而合,所以,我們又可以藉助於投影矩陣的公式,也就是

A'Ax = A'b來加以解決。

當然,話雖如此,但是這個故事還沒完,欲知後事如何,請看下回分解微笑

參考:http://blog.csdn.net/a130098300/article/details/7663850