【线性代数及其应用】05 - 正交性和最小二乘

正交性和最小二乘

1. 正交向量和子空间

1.1 向量正交性的两种证明方法

  第一种方法是定义式
xTy=0 x^T*y=0
  第二种方法是算术方法
x2+y2=x+y2 ||x||^2+||y||^2 = ||x+y||^2

1.2 子空间的正交性

1.2.1 行空间和零空间

  由线性方程组AX=0可知,X是A的零空间,而根据矩阵乘法,前后乘后列为0,矩阵A的行空间与X相乘得0,说明行空间和零空间正交

1.2.2 列空间和左零空间

  列空间和左零空间就是AT的行空间和零空间,因此列空间和左零空间也是正交的

1.3 基的正交性

  构成向量空间的基如果不但线性无关,而且互相之间相乘为0,那么这些基就是正交的

2. 投影

2.1 一维空间的投影

2.1.1 投影求解方法

【线性代数及其应用】05 - 正交性和最小二乘

  假设我们要把y投影到x上,y^是投影,我们知道:
y=y^+e y=\hat{y}+e

xTe=0 x^T*e=0

y^=xa \hat{y}=x*a
  可知
xT(yax)=0 x^T*(y-ax)=0
  即
a=xTyxtx a= \frac{x^T*y}{x^t*x}
  投影为
y^=ax=xxTxtxy=Py \hat{y}=a*x= \frac{x*x^T}{x^t*x}*y=P*y
  P叫做投影矩阵
P=xxTxtx P= \frac{x*x^T}{x^t*x}
  也可以写做
y^=ax=xTyxtxx \hat{y}= a*x=\frac{x^T*y}{x^t*x}*x

2.1.2 投影矩阵的三大性质

  • 秩为一
  • PT=P
  • P2=P

2.2 n维空间的投影

2.2.1 求解方法

【线性代数及其应用】05 - 正交性和最小二乘

  假设y要投影到n维度空间W中,这里以投影到二维空间为例子进行讲解

  • 法一:理解为向量正交与子空间

  我们知道,e是垂直于平面W的,并且投影向量y^是W的基的线性组合,A是W的基向量,所以就有

A={a1a2a3a4} A=\begin{matrix}\{a1&a2&a3&a4\}\end{matrix}

y^=Aa \hat{y}=A*a

e=yy^ e= y- \hat{y}

ATe=0 A^T*e=0
可得

AT(yAa)=0 A^T*(y-Aa)=0

a=ATyATA(1) a=\frac{A^T*y}{A^T*A} \qquad(1)

y^=AATATAy(2) \hat{y}=\frac{A*A^T}{A^T*A}*y \qquad(2)

P=AATATA(3) P=\frac{A*A^T}{A^T*A}\qquad(3)

  • 法二:理解为向量投影到子空间的各个基上

  除了从e与W空间正交角度角度考虑外,也可以考虑把y分解到W平面的所有基中,所有基中的分量的叠加,就是y的投影了,投影在基中,就是2.1中的投影到一维空间中,假设W中基向量为a1,a2,a3…

y^=y1^+y2^+...+yn^ \hat{y} = \hat{y_1}+\hat{y_2}+...+\hat{y_n}

y^=c1a1+...+cnan \hat{y} = c_1*a_1+...+c_n*a_n

y^=a1Tya1Ta1a1+...+an1TyanTana1 \hat{y} = \frac{a_1^Ty}{a_1^T*a_1}*a_1+...+\frac{an1^Ty}{a_n^T*a_n}*a_1

2.3 投影矩阵

2.3.1 投影必须牢记的三个关系式

  系数为
x=(ATA)1ATb x=(A^T*A)^{-1}*A^T*b
  投影为
p=Ax=A(ATA)1ATb p = Ax=A*(A^T*A)^{-1}*A^T*b
  投影矩阵为
P=A(ATA)1AT P =A*(A^T*A)^{-1}*A^T

2.3.2 AT*A矩阵的性质

  • 如果A线性无关,AT*A一定可逆
  • AT*A是个对称矩阵
  • AT*A是个正定或半正定矩阵,所有特征值大于等于0

  可以从其二次型恒不小于0证明
XT(ATA)X=(XA)T(XA)=XA2 X^T*(A^T*A)*X=(X*A)^T*(X*A)=||X*A||^2
  如果A各列线性无关,该式子必定大于0,能够证明其是一个正定矩阵。如果A各列线性相关,那么该式子大于等于0,是个半正定矩阵

3.最小二乘

3.1 最小二乘问题的引入–无解方程的近似解

  最小二乘问题出现的原因,是为了解决线性方程的过拟合问题。就比如方程数大于变量数的时候,不一定能够得到方程的解,这个时候只能求得一个最接近的解。就比如直线的拟合,假设有很多个坐标点,不一定存在一条过全部坐标点的直线,这个时候只能让各个点到直线的投影距离和最小,也就得到了一个最为接近的解,叫做最小二乘解

3.2 最小二乘的原理

  最小二乘原理就是假设有过拟合方程AX=b,b不一定存在与A的列空间中,但是我们可以将b投影到A的列空间中获得一个解。b到列空间的距离就是这个方程解的误差,因为b到列空间的投影是b到列空间的最短距离,所以这个解满足最小误差。

3.3 最小二乘求解方法

  对于过拟合方程AX=b,A是列空间中的基向量,x是线性组合的权值,b是组合的结果

bAv1AX^ b在A中的投影v_1为 A*\hat{X}

bv2bAX^ 点b指向投影点的向量v_2为 b - A*\hat{X}

v2AAT(bAX^)=0 v_2正交与列空间A: A^T*(b - A*\hat{X})=0

ATAX^=ATb A^T*A*\hat{X} = A^T*b

X^=(ATA)1ATb \hat{X} = (A^T*A)^{-1}*A^T*b

3.4 最小二乘唯一性判据

  如果A中的各个向量是线性无关的,AT*A必定满秩,AT*A*X = AT*b有唯一解

3.5 最小二乘的缺陷

  最小二乘的缺陷就是需要求逆矩阵,逆矩阵中的小数约简问题会引发计算误差

3.6 通过QR分解校正最小二乘法

AX=b AX = b

ATAX=ATb A^T*A*X = A^T*b

X=(ATA)1ATb X=(A^T*A)^{-1}*A^T*b

X=(RTQTQR)1RTQTb X=(R^T*Q^T*Q*R)^{-1}*R^T*Q^T*b

X=R1QTb X = R^{-1}*Q^T*b

可得

RX=QTb RX = Q^T*b

4. 正交矩阵和格拉姆-施密特正交化

4.1 标准正交矩阵

  标准正交矩阵就是每个向量都是单位向量,并且这些单位向量两两相乘都是0

4.2 标准正交矩阵的优势

  标准正交矩阵的优势是
QTQ=I Q^T*Q = I
  标准正交矩阵的逆等于标准正交矩阵的转置,能够提高计算速度和计算精度

4.3 格拉姆-施密特正交化

  格拉姆-施密特正交化用于将矩阵A中线性无关的基变成标准正交基。其原理就是,一开始选定第一个向量作为初始向量,然后选择第二个向量消去在第一个向量上的分类,然后获得正交向量,依次类推,获得一组正交基

  假设A= {v1,v2,v3},A中的三个向量线性无关,下面使用格拉姆-施密特正交化构建标准正交基,假设生成的正交向量为u,单位正交向量为w

  • 选定初始正交向量

  令u1 = v1

  • 正交化其他向量

  从v2中减去在v1中投影的分量就可以得到正交向量
u2=v2u1Tv2u1Tu1u1 u2 = v2 - \frac{u1^T*v2}{u1^T*u1}*u1
  从v3中减去在v1和v2中投影的分量就可以得到正交于v1和v2的向量

u3=v3u1Tv3u1Tu1u1u2Tv3u2Tu2u2 u3 = v3 - \frac{u1^T*v3}{u1^T*u1}*u1- \frac{u2^T*v3}{u2^T*u2}*u2

  • 单位化正交向量

w1=u1u1 w1 = \frac{u1}{||u1||}

w2=u2u2 w2 = \frac{u2}{||u2||}

w3=u3u3 w3 = \frac{u3}{||u3||}

4.4 QR分解

  这部分与02-矩阵代数部分是一样的

4.4.1 含义

  QR分解是在施密特正交化,产生正交矩阵Q的过程中产生的,A=QR实际上就是A中的列向量作为向量空间的基,通过施密特正交化得到了标准正交基Q,R记录了这个变化的过程,R是一个上三角矩阵。

  因为A中的基xi,都是由Q中的前i个单位正交基组合得到的,所以R必定是个上三角矩阵,比如

r1=x1; r1 = x1;

r2=x2r1Tx2r1Tr1r1 r2 = x2 - \frac{r_1^T*x2}{r_1^T*r_1}*r_1

x2=c1r1+c2r2 即 x2 = c1*r1+c2*r2
  其余的可以类推,所以矩阵R一定是个上三角矩阵

4.4.2 分解条件

  因为只有A的各个向量能够构成向量空间的一组基向量才能进行施密特正交化,所以,能够做QR分解的条件是,A的列向量必须是线性无关的

4.4.3 分解方法

  首先,Q是施密特正交化得到的标准正交基,这里就不写求解过程了,只写R的求法
A=QR A = Q*R

R=Q1A R = Q^{-1}*A

因为Q是标准正交矩阵,所以有逆等于转置,可得

R=QTA R = Q^T*A

4.4.4 QR分解的用途

4.4.4.1 拆分标准正交基
4.4.4.2 提高最小二乘解的精度

AX=b AX = b

ATAX=ATb A^T*A*X = A^T*b

X=(ATA)1ATb X=(A^T*A)^{-1}*A^T*b

X=(RTQTQR)1RTQTb X=(R^T*Q^T*Q*R)^{-1}*R^T*Q^T*b

X=R1QTb X = R^{-1}*Q^T*b

可得
RX=QTb RX = Q^T*b
  因为R是一个上三角矩阵,乘以X可以得到一个方便求解的线性方程,而右边没有了求逆矩阵的过程,求逆矩阵的过程中,如果有小数发生约简,会引入误差,而不计算矩阵的逆,既能够提高运算速度,也能够提高运算精度。

5.正交矩阵的用处

5.1 解方程v=Q*x

x=QTv x = Q^T*v

5.2 傅里叶级数

5.2.1 傅里叶级数定义

f(x)=a0+a1cosx+b1sinx+a2cos2x+b2sin2x+..... f(x)=a0+a1cosx+b1sinx + a2cos2x+b2sin2x+.....

5.2.2 矩阵内积与函数内积的区别

VTW=v1w1+.....vnwn V^T*W=v1*w1+.....vn*wn

fTg=02πf(x)g(x)dx f^T*g=\int_0^{2\pi}f(x)g(x)dx