(四)內積、正交、最小二乘法和傅立葉變換
這是《 一條學習線性代數的主幹線 》系列中的第三篇。
前面我們說過向量可以是共線的,可以是不共線的,但是從來沒有提過:向量間的夾角、 距離、向量的長度。
在熟悉的歐氏空間中似乎天生就有歐氏距離,在泛化的線性空間中我們可以定義更加強 大和靈活的尺子,只要這個尺子符合一些特性,例如,正定的。
在歐氏空間中我們知道有點積:
長度:
兩個向量正交:
泛化到線性空間,引入內積的概念,是一個函式,符合一些特性,能把兩個向量與一個實數對應,這是實數表示為:
這就是那把尺子,可以定義很多這樣的尺子,表示你觀察同一個世界卻能看到不同的檢視。
有了內積,就有了“正交”,那麼我們就可以定義正交基,這是我們在歐氏空間中熟悉的直角座標。如下圖,一個向量向基向量做垂線就得到了這個方向上的座標,看起來跟其他基“不牽扯”,只要做垂線就能得到,這是從普通基變成正交基以後得到的紅利。“不牽扯”這事我們前面提到過,後面在計算動態系統的時候會覺得“不牽扯”真好。
有了正交的概念,我們就用投影來解決近似問題。例如,下圖用向量u 撐成一個一維空間,就是一條過0的直線,那麼任意一個向量要在span{ u }空間中找一個離它最近的向量,一定是直角投影到的那個向量。
把這個觀察進行拓展,在三維空間中,把一個向量向一個二維子空間(過0的平面)投影,得到這個子空間中離這個向量最近的向量。看來,這樣的投影可以用來壓縮維度,而且得到一個最近似的結果。
有了這些理論基礎,那麼就從線性方程組的最小二乘解入手,掌握兩種尋求近似解的方案:
方案1,用公式求最小二乘解
方案2,在確定了內積函式以後,先得到正交基,然後求各個座標
下面先講方案1 。
很多線性方程組沒有解,尤其是大規模的時候,或者方程數多於變數數的時候。那麼就求最小二乘解。
如果下面的線性方程組沒有解
那麼表示向量b不在img(A)空間中,那麼,向量b向空間img(A)投影得到的向量是離b最近的,投影得到的向量表示為
而且
是與img(A)垂直的,就是說與矩陣A中的每個列向量是垂直,就是,
這就得出了
這樣,求最小二乘解就用上面的等式。
推廣應用到多項式擬合:測量了多組資料點,把每個點(x, y)畫到座標紙上,經過觀察,像個某次曲線,那麼就用該次曲線去擬合它們。例如,擬合成這樣的二次曲線:
那麼就是找到這幾個係數C,測量到的資料點可能遠遠多於3組,就是一個求最小二乘解的過程。
從上面這兩個例子沒有太看出來內積在哪裡,當然,前面說垂線與img(A)垂直確實用了內積,但是有了那個求最小二乘解的公式(1)以後就可以把內積忘了。
下面我們拿起內積這件武器來,使用第二個方案做擬合。基本路線是:先為img(A)建立一個正交基,然後利用內積求得每個基向量上的座標,那麼,用座標值把基向量組合在一起就是一個最近的解,比如,組合成一個多項式。
前面我們面對的矩陣A,一開始從這個矩陣中只得到一組普通基,要得到一個正交基,那就是Gram-Schmidt過程。
總結一下,方案二的過程是:先確定內積函式,再計算得到正交基,然後求正交座標系的座標,組合得到近似解。例如,在閉區間上用有限次多項式近似函式,或者求傅立葉係數用三角函式近似函式。
同樣是用資料測量點做多項式擬合,如果要擬合到二次,那麼普通的基是 {1, t, t^2},利用得到的資料測量點,選取黎曼和作為內積計算公式,那麼可以利用Gram-Schmidt過程得到正交基。再確定在這個正交基上的座標,那麼,組合起來的多項式就是擬合出來的多項式,而且可以驗證,跟第一個方案計算出來的一樣。
如果測量點趨於無窮多,內積函式就變成了積分,也可以在閉區間上將函式用多項式擬合。如果有一個“天生好基”:{1, cos(t), sin(t), cos2t, sin2t, cos3t, sin3t, ....., cos(nt), sin(nt) },那麼就是傅立葉變換。