线性代数学习笔记(五)

最小二乘法

当Ax=b没有解时,左右同时乘以AT,解( A^TAhat{x}=A^Tb )得到原式的近似解( hat{x} )。

乘上AT源自投影矩阵求x的变形:AT(b-Ax)=0,目的是为了得到( p=Ahat{x} ),使p足够接近原式中的b,( A^TAhat{x}=A^Tb )这个式子本身似乎没什么几何意义。通过偏导数可以证明( hat{x} )最小化了sum of squares of the errors

求解x的方程( A^TAhat{x}=A^Tb )就是大名鼎鼎的normal equation. 利用最小二乘法解拟合直线的一个例子可以见右图。

正交基

假如向量q1到qn满足:两两之间相互垂直,且每个向量长度都为1,then q1...qn are orthonormal(orthogonal + normal两个词,以这些向量为列(别搞反了)组成的矩阵标记为Q

  • Q不一定是正方形的,也可以是瘦瘦长长的(m>n),但不能是矮矮胖胖的(否则列向量无法相互独立)
  • Q的一个性质是QTQ=I,这让Q非常有用!(repeat:Q不一定是正方形)
  • 当m=n时,QT=Q-1
  • 当Q是正方形时,我们叫它orthogonal matrix(不是所有的Q都叫orthogonal,不是所有的牛奶都叫。。也许当初发现这个的人觉得QT=Q-1非常重要才把这个名字留给正方形Q)
  • Qb不会改变b的长度:||Qb||2=(Qb)'(Qb)=b'Q'Qb=b'b=||b||这条性质保证了用Q运算不会让数值变得太大or太小(随想:好像rowNum=2和rowNum=3的向量混合就没什么意思了<例如,二维空间的基(1,0),(0,1)与三位空间向量(1,2,3)没什么关系>,那这里Q的basis的rowNum就应该和b的rowNum相同,Qb有意义的条件又限制了Q的colNum=b的rowNum,这样这个性质有用时,Q八成是正方形的)

用Q来作投影矩阵

顾名思义,用Q来代替原先乱七八糟的A,得到:Q'Qx=Q'b,有:

  • 基的组合:( hat{x}=Q^Tb )
  • 每个分量:( hat{x}_i=q_i^Tb )
  • 投影向量:( p=Qhat{x}=QQ^Tb )
  • 投影矩阵:( P=QQ^T )  (QQT=全球通...)

Foundation of Fourier series

当Q是正方形时,QQT=I,似乎b只能投影到b本身,但是还是有用处的:( b=q_1(q_1^Tb)+q_2(q_2^Tb)+...+q_n(q_n^Tb) ),每个分量都将b投影到 q代表的子空间中,分量之间相互垂直!

Gram-Schmidt Process

(注意标记)假设向量a,b,c是一组基(不一定正交),经过GSProcess之后得到的正交向量分别为A,B,C(这里虽然是大写,但是还是表示向量)

  • ( A=a )
  • ( B=b-P_Ab=b-A(A^TA)^{-1}A^Tb )
  • ( C=c-P_Ac-P_Bc=c-A(A^TA)^{-1}A^Tc - B(B^TB)^{-1}B^Tc )

规律是减去在之前的每个正交向量构成的每个空间(这些空间都是一条线)的分量即可。最后再加一步标准化,得到模长为1的向量( q_a=frac{A}{parallel A parallel} ),以此类推。

ColumnSpace(q1)=C(a),C([q1,q2])=C([a,b]),以此类推,因为q2可由a,b变换得来(b本身减去b在a上的分量)

A=QR

现在是QTQ=I发挥作用的时候了,设A=QR,左右同时乘上QT,得到QTA=QTQR=IR=R,有:

( R=Q^TA=egin{bmatrix}- & q_1 & -\- & q_2 & - \- & q_3 & -end{bmatrix}egin{bmatrix}| & | &| \ a & b &c \ | & | &| end{bmatrix}=egin{bmatrix}q_1^Ta & q_1^Tb & q_1^Tb\ & q_2^Tb &q_2^Tc\  &  & q_3^Tcend{bmatrix} )

R是一个上三角矩阵!q2与a的内积等于0,因为a在q1的column space中,q2与这个空间所有向量垂直;q3与b的内积等于0,因为b在q1和q2构成的column space中,q3与这个空间所有向量垂直。

任何列向量独立的m*n的矩阵A都能分解成QR!Q是m*n的矩阵,列向量相互垂直且模长为1!R是n*n的上三角矩阵(所以必然存在逆矩阵)!

对最小二乘法来说,( A^TAhat{x}=A^Tb ):

  1. 可以化为( R^TQ^TQRhat{x}=R^TQ^Tb )
  2. 进一步变成( Rhat{x}=Q^Tb )
  3. ( hat{x}=R^{-1}Q^Tb )
原文地址:https://www.cnblogs.com/ericxing/p/3617670.html