正交性和最小二乘
1. 正交向量和子空间
1.1 向量正交性的两种证明方法
第一种方法是定义式
x
T
∗
y
=
0
x^T*y=0
xT∗y=0
第二种方法是算术方法
∣
∣
x
∣
∣
2
+
∣
∣
y
∣
∣
2
=
∣
∣
x
+
y
∣
∣
2
||x||^2+||y||^2 = ||x+y||^2
∣∣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 投影求解方法
假设我们要把y投影到x上,y^是投影,我们知道:
y
=
y
^
+
e
y=\hat{y}+e
y=y^+e
x T ∗ e = 0 x^T*e=0 xT∗e=0
y
^
=
x
∗
a
\hat{y}=x*a
y^=x∗a
可知
x
T
∗
(
y
−
a
x
)
=
0
x^T*(y-ax)=0
xT∗(y−ax)=0
即
a
=
x
T
∗
y
x
t
∗
x
a= \frac{x^T*y}{x^t*x}
a=xt∗xxT∗y
投影为
y
^
=
a
∗
x
=
x
∗
x
T
x
t
∗
x
∗
y
=
P
∗
y
\hat{y}=a*x= \frac{x*x^T}{x^t*x}*y=P*y
y^=a∗x=xt∗xx∗xT∗y=P∗y
P叫做投影矩阵
P
=
x
∗
x
T
x
t
∗
x
P= \frac{x*x^T}{x^t*x}
P=xt∗xx∗xT
也可以写做
y
^
=
a
∗
x
=
x
T
∗
y
x
t
∗
x
∗
x
\hat{y}= a*x=\frac{x^T*y}{x^t*x}*x
y^=a∗x=xt∗xxT∗y∗x
2.1.2 投影矩阵的三大性质
- 秩为一
- PT=P
- P2=P
2.2 n维空间的投影
2.2.1 求解方法
假设y要投影到n维度空间W中,这里以投影到二维空间为例子进行讲解
- 法一:理解为向量正交与子空间
我们知道,e是垂直于平面W的,并且投影向量y^是W的基的线性组合,A是W的基向量,所以就有
A = { a 1 a 2 a 3 a 4 } A=\begin{matrix}\{a1&a2&a3&a4\}\end{matrix} A={a1a2a3a4}
y ^ = A ∗ a \hat{y}=A*a y^=A∗a
e = y − y ^ e= y- \hat{y} e=y−y^
A
T
∗
e
=
0
A^T*e=0
AT∗e=0
可得
A T ∗ ( y − A a ) = 0 A^T*(y-Aa)=0 AT∗(y−Aa)=0
a = A T ∗ y A T ∗ A ( 1 ) a=\frac{A^T*y}{A^T*A} \qquad(1) a=AT∗AAT∗y(1)
y ^ = A ∗ A T A T ∗ A ∗ y ( 2 ) \hat{y}=\frac{A*A^T}{A^T*A}*y \qquad(2) y^=AT∗AA∗AT∗y(2)
P = A ∗ A T A T ∗ A ( 3 ) P=\frac{A*A^T}{A^T*A}\qquad(3) P=AT∗AA∗AT(3)
- 法二:理解为向量投影到子空间的各个基上
除了从e与W空间正交角度角度考虑外,也可以考虑把y分解到W平面的所有基中,所有基中的分量的叠加,就是y的投影了,投影在基中,就是2.1中的投影到一维空间中,假设W中基向量为a1,a2,a3…
y ^ = y 1 ^ + y 2 ^ + . . . + y n ^ \hat{y} = \hat{y_1}+\hat{y_2}+...+\hat{y_n} y^=y1^+y2^+...+yn^
y ^ = c 1 ∗ a 1 + . . . + c n ∗ a n \hat{y} = c_1*a_1+...+c_n*a_n y^=c1∗a1+...+cn∗an
y ^ = a 1 T y a 1 T ∗ a 1 ∗ a 1 + . . . + a n T y a n T ∗ a n ∗ a n \hat{y} = \frac{a_1^Ty}{a_1^T*a_1}*a_1+...+\frac{a_n^Ty}{a_n^T*a_n}*a_n y^=a1T∗a1a1Ty∗a1+...+anT∗ananTy∗an
2.3 投影矩阵
2.3.1 投影必须牢记的三个关系式
系数为
x
=
(
A
T
∗
A
)
−
1
∗
A
T
∗
b
x=(A^T*A)^{-1}*A^T*b
x=(AT∗A)−1∗AT∗b
投影为
p
=
A
x
=
A
∗
(
A
T
∗
A
)
−
1
∗
A
T
∗
b
p = Ax=A*(A^T*A)^{-1}*A^T*b
p=Ax=A∗(AT∗A)−1∗AT∗b
投影矩阵为
P
=
A
∗
(
A
T
∗
A
)
−
1
∗
A
T
P =A*(A^T*A)^{-1}*A^T
P=A∗(AT∗A)−1∗AT
2.3.2 AT*A矩阵的性质
- 如果A线性无关,AT*A一定可逆
- AT*A是个对称矩阵
- AT*A是个正定或半正定矩阵,所有特征值大于等于0
可以从其二次型恒不小于0证明
X
T
∗
(
A
T
∗
A
)
∗
X
=
(
X
∗
A
)
T
∗
(
X
∗
A
)
=
∣
∣
X
∗
A
∣
∣
2
X^T*(A^T*A)*X=(X*A)^T*(X*A)=||X*A||^2
XT∗(AT∗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是组合的结果
b 在 A 中 的 投 影 v 1 为 A ∗ X ^ b在A中的投影v_1为 A*\hat{X} b在A中的投影v1为A∗X^
点 b 指 向 投 影 点 的 向 量 v 2 为 b − A ∗ X ^ 点b指向投影点的向量v_2为 b - A*\hat{X} 点b指向投影点的向量v2为b−A∗X^
v 2 正 交 与 列 空 间 A : A T ∗ ( b − A ∗ X ^ ) = 0 v_2正交与列空间A: A^T*(b - A*\hat{X})=0 v2正交与列空间A:AT∗(b−A∗X^)=0
A T ∗ A ∗ X ^ = A T ∗ b A^T*A*\hat{X} = A^T*b AT∗A∗X^=AT∗b
X ^ = ( A T ∗ A ) − 1 ∗ A T ∗ b \hat{X} = (A^T*A)^{-1}*A^T*b X^=(AT∗A)−1∗AT∗b
3.4 最小二乘唯一性判据
如果A中的各个向量是线性无关的,AT*A必定满秩,AT*A*X = AT*b有唯一解
3.5 最小二乘的缺陷
最小二乘的缺陷就是需要求逆矩阵,逆矩阵中的小数约简问题会引发计算误差
3.6 通过QR分解校正最小二乘法
A X = b AX = b AX=b
A T ∗ A ∗ X = A T ∗ b A^T*A*X = A^T*b AT∗A∗X=AT∗b
X = ( A T ∗ A ) − 1 ∗ A T ∗ b X=(A^T*A)^{-1}*A^T*b X=(AT∗A)−1∗AT∗b
X = ( R T ∗ Q T ∗ Q ∗ R ) − 1 ∗ R T ∗ Q T ∗ b X=(R^T*Q^T*Q*R)^{-1}*R^T*Q^T*b X=(RT∗QT∗Q∗R)−1∗RT∗QT∗b
X = R − 1 ∗ Q T ∗ b X = R^{-1}*Q^T*b X=R−1∗QT∗b
可得
R X = Q T ∗ b RX = Q^T*b RX=QT∗b
4. 正交矩阵和格拉姆-施密特正交化
4.1 标准正交矩阵
标准正交矩阵就是每个向量都是单位向量,并且这些单位向量两两相乘都是0
4.2 标准正交矩阵的优势
标准正交矩阵的优势是
Q
T
∗
Q
=
I
Q^T*Q = I
QT∗Q=I
标准正交矩阵的逆等于标准正交矩阵的转置,能够提高计算速度和计算精度
4.3 格拉姆-施密特正交化
格拉姆-施密特正交化用于将矩阵A中线性无关的基变成标准正交基。其原理就是,一开始选定第一个向量作为初始向量,然后选择第二个向量消去在第一个向量上的分类,然后获得正交向量,依次类推,获得一组正交基
假设A= {v1,v2,v3},A中的三个向量线性无关,下面使用格拉姆-施密特正交化构建标准正交基,假设生成的正交向量为u,单位正交向量为w
- 选定初始正交向量
令u1 = v1
- 正交化其他向量
从v2中减去在v1中投影的分量就可以得到正交向量
u
2
=
v
2
−
u
1
T
∗
v
2
u
1
T
∗
u
1
∗
u
1
u2 = v2 - \frac{u1^T*v2}{u1^T*u1}*u1
u2=v2−u1T∗u1u1T∗v2∗u1
从v3中减去在v1和v2中投影的分量就可以得到正交于v1和v2的向量
u 3 = v 3 − u 1 T ∗ v 3 u 1 T ∗ u 1 ∗ u 1 − u 2 T ∗ v 3 u 2 T ∗ u 2 ∗ u 2 u3 = v3 - \frac{u1^T*v3}{u1^T*u1}*u1- \frac{u2^T*v3}{u2^T*u2}*u2 u3=v3−u1T∗u1u1T∗v3∗u1−u2T∗u2u2T∗v3∗u2
- 单位化正交向量
w 1 = u 1 ∣ ∣ u 1 ∣ ∣ w1 = \frac{u1}{||u1||} w1=∣∣u1∣∣u1
w 2 = u 2 ∣ ∣ u 2 ∣ ∣ w2 = \frac{u2}{||u2||} w2=∣∣u2∣∣u2
w 3 = u 3 ∣ ∣ u 3 ∣ ∣ w3 = \frac{u3}{||u3||} w3=∣∣u3∣∣u3
4.4 QR分解
这部分与02-矩阵代数部分是一样的
4.4.1 含义
QR分解是在施密特正交化,产生正交矩阵Q的过程中产生的,A=QR实际上就是A中的列向量作为向量空间的基,通过施密特正交化得到了标准正交基Q,R记录了这个变化的过程,R是一个上三角矩阵。
因为A中的基xi,都是由Q中的前i个单位正交基组合得到的,所以R必定是个上三角矩阵,比如
r 1 = x 1 ; r1 = x1; r1=x1;
r 2 = x 2 − r 1 T ∗ x 2 r 1 T ∗ r 1 ∗ r 1 r2 = x2 - \frac{r_1^T*x2}{r_1^T*r_1}*r_1 r2=x2−r1T∗r1r1T∗x2∗r1
即
x
2
=
c
1
∗
r
1
+
c
2
∗
r
2
即 x2 = c1*r1+c2*r2
即x2=c1∗r1+c2∗r2
其余的可以类推,所以矩阵R一定是个上三角矩阵
4.4.2 分解条件
因为只有A的各个向量能够构成向量空间的一组基向量才能进行施密特正交化,所以,能够做QR分解的条件是,A的列向量必须是线性无关的
4.4.3 分解方法
首先,Q是施密特正交化得到的标准正交基,这里就不写求解过程了,只写R的求法
A
=
Q
∗
R
A = Q*R
A=Q∗R
R = Q − 1 ∗ A R = Q^{-1}*A R=Q−1∗A
因为Q是标准正交矩阵,所以有逆等于转置,可得
R = Q T ∗ A R = Q^T*A R=QT∗A
4.4.4 QR分解的用途
4.4.4.1 拆分标准正交基
4.4.4.2 提高最小二乘解的精度
A X = b AX = b AX=b
A T ∗ A ∗ X = A T ∗ b A^T*A*X = A^T*b AT∗A∗X=AT∗b
X = ( A T ∗ A ) − 1 ∗ A T ∗ b X=(A^T*A)^{-1}*A^T*b X=(AT∗A)−1∗AT∗b
X = ( R T ∗ Q T ∗ Q ∗ R ) − 1 ∗ R T ∗ Q T ∗ b X=(R^T*Q^T*Q*R)^{-1}*R^T*Q^T*b X=(RT∗QT∗Q∗R)−1∗RT∗QT∗b
X = R − 1 ∗ Q T ∗ b X = R^{-1}*Q^T*b X=R−1∗QT∗b
可得
R
X
=
Q
T
∗
b
RX = Q^T*b
RX=QT∗b
因为R是一个上三角矩阵,乘以X可以得到一个方便求解的线性方程,而右边没有了求逆矩阵的过程,求逆矩阵的过程中,如果有小数发生约简,会引入误差,而不计算矩阵的逆,既能够提高运算速度,也能够提高运算精度。
5.正交矩阵的用处
5.1 解方程v=Q*x
x = Q T ∗ v x = Q^T*v x=QT∗v
5.2 傅里叶级数
5.2.1 傅里叶级数定义
f ( x ) = a 0 + a 1 c o s x + b 1 s i n x + a 2 c o s 2 x + b 2 s i n 2 x + . . . . . f(x)=a0+a1cosx+b1sinx + a2cos2x+b2sin2x+..... f(x)=a0+a1cosx+b1sinx+a2cos2x+b2sin2x+.....
5.2.2 矩阵内积与函数内积的区别
V T ∗ W = v 1 ∗ w 1 + . . . . . v n ∗ w n V^T*W=v1*w1+.....vn*wn VT∗W=v1∗w1+.....vn∗wn
f T ∗ g = ∫ 0 2 π f ( x ) g ( x ) d x f^T*g=\int_0^{2\pi}f(x)g(x)dx fT∗g=∫02πf(x)g(x)dx