从线性代数(1)列空间的讨论可知,如果bbb不在AAA的列空间C(A)C(A)C(A)内,那么Ax=bAx=bAx=b无解
在实际应用中这种无解的情况很多:
1)因为观察/测量的数据总会有误差,无法保证每个bib_ibi都是精确的;
2)未知数少,而限制条件多
先说结论:将Ax=bAx=bAx=b转为求
ATAx^=ATb(1)A^TA\hat{x}=A^Tb \tag{1}ATAx^=ATb(1)
先探讨一维向量空间的情况
如图1,p⃗\vec{p}p是b⃗\vec{b}b在a⃗\vec{a}a上的投影,有
p⃗=xa⃗e⃗=b⃗−p⃗(2)\vec{p}=x\vec{a}\\\vec{e}=\vec{b}-\vec{p} \tag{2}p=xae=b−p(2)
显然,e⃗\vec{e}e垂直于a⃗\vec{a}a,根据正交向量点积为0的定理,有
aT(b−xa)=0⇒x=aTbaTa ⇒p=xa=aaTbaTa⇒P=aaTaTa(3)a^T(b-xa)=0\\\Rightarrow x=\frac{a^Tb}{a^Ta}\\\ \ \ \ \ \ \ \ \ \ \ \Rightarrow p=xa=a\frac{a^Tb}{a^Ta}\\\Rightarrow P=\frac{aa^T}{a^Ta} \tag{3}aT(b−xa)=0⇒x=aTaaTb ⇒p=xa=aaTaaTb⇒P=aTaaaT(3)
式(3)中PPP为投影矩阵,将b⃗\vec{b}b投影到a⃗\vec{a}a上
投影矩阵3条性质:
1.秩为1(如式3,投影矩阵为列向量与行向量乘积,满足秩1矩阵的性质)
2.转置不变:PT=PP^T=PPT=P,说明投影矩阵是对称矩阵
3.平方不变:P2=PP^2=PP2=P(投影2次和投影1次结果一样)
现在在二维空间中讨论Ax=bAx=bAx=b解的问题
假设AAA的列空间基为a1a_1a1、a2a_2a2,那么当bbb不在a1a_1a1和a2a_2a2确定的平面内时,Ax=bAx=bAx=b无解
现在假设ccc是bbb在a1a_1a1和a2a_2a2确定的平面上的投影,即
c=x^1a1+x^2a2(4)c=\hat{x}_1a_1+\hat{x}_2a_2 \tag{4}c=x^1a1+x^2a2(4)
那么Ax^=cA\hat{x}=cAx^=c肯定有解,而且是Ax=bAx=bAx=b误差最小的解
令eee为从bbb到ccc的投影“垂线”,那么有
e=b−Ax^(5)e=b-A\hat{x} \tag{5}e=b−Ax^(5)
并且
a1T(b−Ax^)=0a2T(b−Ax^)=0(6)a_1^T(b-A\hat{x})=0\\a_2^T(b-A\hat{x})=0 \tag{6}a1T(b−Ax^)=0a2T(b−Ax^)=0(6)
将式(6)表示为矩阵形式
AT(b−Ax^)=0(7)A^T(b-A\hat{x})=0 \tag{7}AT(b−Ax^)=0(7)
从而
x^=(ATA)−1ATb(8)\hat{x}=(A^TA)^{-1}A^Tb \tag{8}x^=(ATA)−1ATb(8)
式(8)就是Ax=bAx=bAx=b的最优解
假设有3组二维数据[1 1]T[1\ 1]^T[1 1]T、[2 2]T[2\ 2]^T[2 2]T、[3 2]T[3\ 2]^T[3 2]T,需要拟合一条误差最小的直线
令直线为y=x1+x2ty=x_1+x_2ty=x1+x2t,上述问题可以表示为式(9)的矩阵形式
[111213][x1x2]=[122](9)\left[\begin{matrix}1&1\\1&2\\1&3\end{matrix}\right]\left[\begin{matrix}x_1\\x_2\end{matrix}\right]=\left[\begin{matrix}1\\2\\2\end{matrix}\right] \tag{9}⎣⎡111123⎦⎤[x1x2]=⎣⎡122⎦⎤(9)
显然上式无解,应用式(8),可求得最优解:x^=[23 12]T\hat{x}=[\frac{2}{3}\ \frac{1}{2}]^Tx^=[32 21]T
即拟合的直线方程为y=23+12ty=\frac{2}{3}+\frac{1}{2}ty=32+21t
现在用传统的目标函数的方式求解:
min[(x1+x2−1)2+(x1+2x2−2)2+(x1+3x2−2)2](10)min[(x_1+x_2-1)^2+(x_1+2x_2-2)^2+(x_1+3x_2-2)^2] \tag{10}min[(x1+x2−1)2+(x1+2x2−2)2+(x1+3x2−2)2](10)
式(10)分别对x1x_1x1和x2x_2x2求偏导,有
3x1+6x2=56x1+14x2=11(11)3x_1+6x_2=5\\6x_1+14x_2=11 \tag{11}3x1+6x2=56x1+14x2=11(11)
求解上述方程组,得x1=23x_1=\frac{2}{3}x1=32,x2=12x_2=\frac{1}{2}x2=21,与式(8)得到的结果一致
标准正交向量:qiTqj={0i≠j1i=jq_i^Tq_j=\begin{cases}0&i\neq j\\1&i=j\end{cases}qiTqj={01i=ji=j
正交矩阵:Q=[q1q2...qn]Q=\left[\begin{matrix}q_1&q_2&...&q_n\end{matrix}\right]Q=[q1q2...qn],其中qiq_iqi互相为标准正交向量,并且QQQ为方阵
需要注意正交矩阵必须为方阵,这个是历史原因,其实并没道理
根据正交矩阵的定义,一定有
QTQ=IQT=Q−1(12)Q^TQ=I\\Q^T=Q^{-1} \tag{12}QTQ=IQT=Q−1(12)
给定一个线性无关向量组a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an,可以通过施密特正交法将其转换为相互正交的向量组b1,b2,...,bnb_1,b_2,...,b_nb1,b2,...,bn
b1=a1b2=a2−<a2,b1><b1,b1>b1b3=a3−<a3,b1><b1,b1>b1−<a3,b2><b2,b2>b2...bn=an−<an,b1><b1,b1>b1−<an,b2><b2,b2>b2−...−<an,bn−1><bn−1,bn−1>bn−1(13)\begin{aligned}b_1 &=a_1\\b_2&=a_2-\frac{}{}b_1\\b_3 &=a_3-\frac{}{}b_1-\frac{}{}b_2\\...\\b_n &=a_n-\frac{}{}b_1-\frac{}{}b_2-...-\frac{}{}b_{n-1}\end{aligned} \tag{13}b1b2b3...bn=a1=a2−b1=a3−b1−b2=an−b1−b2−...−bn−1(13)
式(13)的bi∣∣bi∣∣\frac{b_i}{||b_i||}∣∣bi∣∣bi便得到标准正交向量
式(13)的<an,bn−1><bn−1,bn−1>=bn−1Tanbn−1Tbn−1(14)\frac{}{}=\frac{b_{n-1}^Ta_n}{b_{n-1}^Tb_{n-1}} \tag{14}=bn−1Tbn−1bn−1Tan(14)
回忆空间投影里的式(2)和(3),可以发现(13)的形式与其一致
事实上式(13)可以解释为:b2b_2b2是a2a_2a2投影到a1a_1a1的那个eee(图1)
对任意A∈Rm×n(m≥n)A\in \mathbb{R}^{m\times n}(m\geq n)A∈Rm×n(m≥n),总有A=QR(15)A=QR \tag{15}A=QR(15)
其中Q∈Rm×nQ\in \mathbb{R}^{m\times n}Q∈Rm×n,其列空间是AAA列空间的标准正交向量
其中R∈Rn×nR\in \mathbb{R}^{n\times n}R∈Rn×n是上三角矩阵[r1r20r3]\left[\begin{matrix}r_1&r_2\\0&r_3\end{matrix}\right][r10r2r3]