Recall
P 矩陣用來將 b 投影到其 Column Space 上, 因此考慮一下極端案例:
Projections
因為 Pb=p, 其中 p + e = b. 也就是 e 分量是 b 投影到 Null Space of A^T 的部分. 因此我們可以知道:
Linear Regression
(上面的 [1,2,3] 應該是 [1,2,2])
目前 b = [1,2,3] 並且在目前的 Column Space 並無解! (b1=1, b2=2, b3=3), 因此我們要找出近似解 p=[p1,p2,p3], 讓方程式可以找出線性方程式的解:
接著要計算 A^T*A 與 A^T*b:
- require "alg/math/LinearAlgebra"
- LA = LinearAlgebra
- A = LA.newMtx3(3,2,[1,1,1,2,1,3])
- b = LA.newMtx3(3,1,[1,2,2])
- printf("A:\n%s\n", A)
- printf("A^T:\n%s\n",A.t)
- printf("b:\n%s\n", b)
- printf("\n")
- A2 = A.t*A
- b2 = A.t*b
- printf("A^T*A:\n%s\n", A2)
- printf("A^T*b:\n%s\n", b2)
因此這時的方程式變成:
(此時的解 C', D' 與原先方程式的解 C, D 是不同的!)
下面使用代碼求出 C', D':
- x2 = A2.inv*b2
- printf("[C',D']:\n%s\n", x2)
而得到的解為 C' = 2/3, D' = 1/2:
接下來要使用剛剛解的方程式 y=2/3+1/2t 來看看近似的點與原先的點的誤差 (e1, e2, e3):
(上面的 e1, e2, e3 還需乘與一個負號)
接著回來原先的 b = p + e 等式:
而有些特性可以知道如下:
Supplement
- If A has independent column vector(s), then A^T*A is invertable (Prove)
Suppose A^T*A*x=0, then x must be zero vector if A^T*A is invertable. Let's play a trick here. Consider:
So we can infer that A*x = 0, then we know that A has independent column which force x to be zero only!
沒有留言:
張貼留言