漫步线性代数十六——投影和最小二乘

目前为止,我们已经知道 Ax=b 要么有解要么无解,如果 b 不在列空间C(A) 里,那么这个系统就是矛盾的,高斯消元法就会失败。当有几个方程和一个未知量时失败完全可以确定:

2x3x4x===b1b2b3

b1,b2,b3 的比率是 2:3:4 时,上面的方程组才可解,也就是说只有 b 和列a=(2,3,4)在一条直线上时 x 才会存在。

尽管他们无解,可是他们在实际中经常出现,他们必须有解!一种可能是用系统的一部分来确定x,其余部分忽略;如果所有的 m 个方程来源一样,这种方法就不合理。我们放弃这种一些方程没误差,而有些误差大的想法,我们考虑能最小化m个方程平均误差 E x值。

对平方和求平均是最方便的:

E2=(2xb1)2+(3xb2)2+(4xb3)2

如果存在准确解,那么最小误差 E=0 。大部分情况下, b a不成比例关系, E2 的图像将是一个抛物线,最小误差在最低点的位置处,也就是导数等于零的位置:

dE2dx=2[(2xb1)2+(3xb2)3+(4xb3)4]=0

求出 x 的值,这个模型系统ax=b的最小二乘解用 x^ 来表示:

x^=2b1+3b3+4b322+32+42=aTbaTa

相信大家立马就认出分子中的 aTb 和分母中的 aTa 了吧(是不是像投影啊)。

推广到一般情况同样如此,求解 ax=b 就是最小化

E2=axb2=(a1xb1)2++(amxbm)2

E2 求导并令其等于零,求出点 x^

(a1x^b1)a1++(amx^bm)am=0

计算后得到 x^=(a1b1++ambm)/(a21++a2m)

11、对于 ax=b 这样只有一个未知变量的问题,它的最小二乘解为: x^=aTbaTa

大家可能看出来了,我们一直从几何角度解释最小二乘问题—— 最小化距离。令 E2 的导数等于零求出解,求得的结果和上篇文章的几何形式一样,连接 b,p 的误差向量 e 一定垂直于a

aT(bx^a)=aTbaTbaTaaTa=0

注意退化为 a=0 的情况,这是 a 的任何倍数都是零,线仅仅就是一个点,因此p=0是唯一的投影候选结果。但是 x^ 的形式变成一个无意义的数 0/0 ,这表明 x^ 完全无法确定,所有 x 值都给出相同的误差E=0xb,所以 E2 是一条水平线而不是抛物线,伪逆给这种情况分配了一个确定的值 x^=0 ,相比较其他值,这个是最好的选择的。

最小二乘问题

现在我们开始难一点的问题,将 b 投影到一个子空间上——而不是一条线上。这个问题来自于Ax=b,其中 A m×n矩阵,不再是一列和一个未知量 x ,现在矩阵有多列,m 的个数比未知量 n 的个数要大,所以跟期望中的一样,Ax=b依然是矛盾的。不可能存在完全拟合数据 b x值,换句话说,向量 b 不是A列向量的组合;它在列空间的外面。

再次回到了找出 x^ 来最小化误差的问题,这个最小化可以用最小二乘求解,误差是 E=Axb ,这就是 b 到列空间中Ax的距离。我们要做的就是能最小化 E 的最小二乘解x^,它和 p=Ax^ 相等,而这个 p 就是列空间中离b最近的点。

我们可以用几何或计算来确定 x^ ,在 n 维空间中,我们偏爱几何;p 一定是 b 在列空间上的投影。误差向量e=bAx^一定可这个空间垂直(图1),找到 x^ 和投影 p=Ax^ 是最基本的,下面我们用两种方法来实现它:

  1. 所有垂直于列空间的向量位于左零空间里,因此误差向量 e=bAx^ 一定在 AT 的零空间里:
    AT(bAx^)=0orATAx^=ATb
  2. 误差向量和 A 的每列a1,,an垂直:
    aT1(bAx^)=0aTn(bAx^)=0oraT1aTn[bAx^]=0


    这里写图片描述
    图1

这两种方法殊途同归,最后都是 AT(bAx^)=0,ATAx^=ATb ,而计算方法是通过计算 E2=(Axb)T(Axb) 的导数,并令其等于零得 2ATAx2ATb=0 ,最快的方式是方程 Ax=b 两边乘以 AT ,所有这些等价方法都得到一个二次系数矩阵 ATA ,它是对称的(它的转置可不是 AAT !)并且是接下来几篇文章中非常基础的矩阵。

方程 ATAx^=ATb 在统计学中叫做正规方程。

12、当 Ax=b 是矛盾的时候,它的最小二乘解就是最小化 Axb2

ATAx^=ATb(1)
A 的列线性无关时,ATA是可逆的!因此
x^=(ATA)1ATb(2)
b 在列空间上的投影就是最近点Ax^
p=Ax^=A(ATA)1ATb(3)

我们举一个例子进行说明:

A=110230,b=456,Ax=b,ATAx^=ATbx

每个列最后一个元素都是零,所以 C(A) 是三维空间中的 xy 平面, b=(4,5,6) 的投影是 p=(4,5,0) x,y 分量保持不变,但 z 分量变成零,通过求解正规方程就能证实这个结果:

ATA=[121300]110230=[25513]

x^=(ATA)1ATb=[13552][121300]456=[21]

p=Ax^=110230[21]=450

在这种特殊情况,最佳方式就是求解 Ax=b 的前两个方程,得到 x^1=1,x^2=1 ,方程 0x1+0x2=6 的误差是6。

注解:假设 b A的列空间里,也就说存在列的组合使得 b=Ax ,那么 b 的投影依然是b

p=A(ATA)1ATAx=Ax=b

最近的点 p 就是b本身。

注解:考虑一个极端的情况,假设 b 与每列都垂直,那么ATb=0,这种情况下 b 的投影就是零向量:

p=A(ATA)1ATAx=A(ATA)10=0

注解:当 A 是方阵且可逆时,列空间就是整个空间,每个向量的投影就是自身,p=b,x^=x

p=A(ATA)1ATAx=AA1(AT)1ATb=b

只有这一种情况我们可以将 (ATA)1 分离成 A1(AT)1 ,当 A 是长方形矩阵时,就不能这么做。

注解:假设A只有一列,也就是只包含 a ,那么矩阵ATA就是常数 aTa x^ 就是 aTb/aTa ,回到了最初的形式。

矩阵 ATA

矩阵 ATA 一定是对称的,因为它的转置 (ATA)T=ATATT ,依然是 ATA 。它的第 i,j ( j,i ) 个元素是 A 的第i列与第 j 行的内积,重点是ATA 的可逆性,幸运的是 ATA A 有相同的零空间。如果Ax=0,那么 ATAx=0 A 零空间中的向量x也在 ATA 的零空间中。反过来考虑,假设 ATAx=0 ,我们将它和 x 进行内积操作来表明Ax=0

xTATAx=0,orAx2=0,orAx=0

两个零空间是相等的。如果 A 有无关列(零空间中只有x=0),那么 ATA 同样如此:

13、如果 A 有无关列,那么ATA是方阵,对称并且可逆。

随后我们还会指出 ATA 也是正定的(所有主元和特征值都是正的)。

到目前为止,这种情况是最常见也是最终要的,如果 m>n ,那么 m 维空间的无关性就很容易实现。

投影矩阵

我们已经说明了离b的最近点是 p=A(ATA)1ATb ,这种形式用矩阵形式来表示就是构建 b A列空间的垂线,产生 p 的矩阵是一个投影矩阵,用P 表示:

P=A(ATA)1AT(4)

这个矩阵将任何向量 b 投影到A的列空间上,换句话说, p=Pb b 在列空间上的分量,误差e=bPb是正交补中的分量。( IP 也是一个投影矩阵!它将 b 投影到正交补上,投影是bPb)

简单来说,有一种矩阵形式可以将 b 分成两个互相垂直的分量,Pb在列空间 C(A) 内,其他的分量 (IP)b 在左零空间 N(AT) 内——也就是与列空间正交的空间。

这些投影矩阵可以从代数和几何两个角度理解。

14、投影矩阵 P=A(ATA)1AT 有两个性质:

- 矩阵等于自身的平方: P2=P
- 矩阵等于它的转置: PT=P

反过来讲,任何对称矩阵,如果 P2=P ,那么它表示一种投影。

证明:很容易看出来为什么 P2=P ,我们先从任意向量 b 开始,那么Pb位于投影的子空间内,当我们再次投影的话不会发生任何变化,向量 Pb 已经在子空间内, P(Pb) 依然是 Pb ,换句话说 P2=P ,两次或三次或五次投影得到的结果跟第一次一样:

P2=A(ATA)1ATA(ATA)1AT=A(ATA)1AT=P

为了证明 P 是对称的,我们取它的转置:

PT=(AT)T((ATA)1)TAT=A(ATA)1AT=P

反过来,我们可以从 P2=P,PT=P 推断出 Pb b P列空间上的投影,误差向量 bPb 与这个空间正交。对于该空间内的所有向量 Pc ,内积是零:

(bPb)TPc=bT(IP)TPc=bT(PP2)c=0

因此 bPb 和空间是正交的, Pb 是列空上的投影。

例1:假设 A 是可逆的,如果它是4×4矩阵,那么它的四列都是无关的,列空间就是整个 R4 。在整个空间上的投影是什么?答案就是单位矩阵。

P=A(ATA)1AT=AA1(AT)1AT=I(5)

单位矩阵是对称的,并且 I2=I ,误差向量 bIb 等于零。

拟合数据的最小二乘法

假设我们有一堆实验数据,并且期望输出 b 是输入t的线性函数,也就是看成直线 b=C+Dt ,例如:

  1. 我们测量不同时刻卫星距火星的距离,我们用 t 表示时间,b表示时间,不考虑失去动力或重力突然增强的情况下,卫星几乎以恒定的速度 v 移动:b=b0+vt
  2. 我们在某个物体上放上不同的载荷,并测量它垂直方向产生的位移,我们用 t 表示载荷的重量,b表示位移大小。除非载太重使得物体彻底变形,否则的话根据弹性理论,存在一个线性关系 b=C+Dt
  3. 印制 t 本书的成本似乎也是线性关系:b=C+Dt,其中编辑和排版成本是 C ,印刷和装订成本是D C 是固定的,而每印制一本书成本多D

如何计算 C,D 呢?如果没有实验误差,那么两次测量的 b 都会得到直线b=C+Dt,但是如果有误差的话,我们就考虑平均值,求出最佳的直线。事实上,因为有两个未知量 C,D 需要确定,于是我们需要投影到二维子空间上。而一般情况下,我们都是多次进行试验测量的:

CCC+++Dt1Dt2Dtm===b1b2bm(6)

得到的是矛盾方程组,有 m 个方程却只有两个未知量,如果误差存在的话,它将不可解。我们写成矩阵形式:

111t1t2tm[CD]=b1b2bm,orAx=b(7)

最佳解 (C^,D^) 就是最小化均方误差 E2 得到的 x^

E2=bAx2=(b1CDt1)2++(bmCDtm)2

向量 p=Ax^ 是最接近向量 b 的,在所有的直线b=C+Dt中,我们选出拟合数据最好的直线(图2),在图中,误差是到直线的竖直距离 bCDt (不是垂直距离!),它对应的是竖直距离的平方,求和和最小化。

例2:在图2a中有三个测量值 b1,b2,b3

t=1,b=1;t=1,b=1;t=2,b=3

注意 t=1,1,2 不要求等距离。第一步是通过三个点的方程:

Ax=bisCCC+DD2D===113111112[CD]=113

如果这些方程 Ax=b 可解,那么表示没有误差。但是这些点不在一条直线上,所以他们不可解,因此需要用到最小二乘求解:

ATAx^=ATb[3226][C^D^]=[56]

最佳解就是 C^=97,D^=47 ,最佳直线是 97+47t


这里写图片描述
图2

注意这两幅图之间的联系,问题是一样的但是呈现的效果不一样。在图2b中, b 不是列(1,1,1),(1,1,2)的一个组合,而在图2a中,三个点不在一条线上。最小二乘用点 p 代替了不在直线上的点b!既然无法解 Ax=b ,那我们就解 Ax^=p

直线 97+47t 1,1,2 处的高度分别为 57,137,177 ,这些点都在之直线上,因此向量 p=(57,137,177) 在列空间里,而这个向量就是投影。图2b展示的是三维空间效果(如果有 m 个点就是m维)而图2a 是二维空间的效果(如果有 n 个参数就是n维)。

b 中减去p得到误差 e=(27,67,47) ,在图2a中就是竖直向量,他们是图2b中虚线向量的元素,这个误差向量与第一列 (1,1,1) 正交,因为 27+67+47=0 ,跟第二列也正交,所以它与列空间正交,属于左零空间。

问题:如果测量结果 b=(27,67,47) 就是误差,那么最佳直线和解 x^ 是什么呢?答案是:零,也就是水平轴, x=0^ ,投影是零。

我们总结一下拟合直线的方法, A 的第一列包含1,第二列包含t,因此 ATA 包含 1,t,t2 的和:

15、给定点 t1,,tm 处的测量值 b1,,bm ,那么最小二乘求 E2 得到的直线 C^+D^t 为:

ATA[D^D^]=ATb[mΣtiΣtiΣt2i][C^D^]=[ΣbiΣtibi]

注解:最小二乘法不限于用直线拟合数据,在许多实验中关系不一定是线性的。假设我们有一些放射性材料,在不同时刻 t 可以通过仪器读出放射量b。现在我们知道这些材料是两种化学物质的混合物,还知道他们的半衰期(或衰减率),但是不知道每种的含量。如果我们用 C,D 表示这两个未知量,那么仪器的结果更像是两个指数之和(不是直线):

b=Ceλt+Deμt(8)

而实际测量中,仪器的结果存在误差,所以我们多测几次,分别在 t1,,tm 时刻测得 b1,,bm ,利用方程(8)近似满足:

Ax=bCeλt1Ceλtm++Deμt1Deμtmb1bm

如果记录的次数超过两次 m>2 ,那么我们可能无法求解,但是最小二乘原则将给出最佳解 C^,D^

知道了 C,D 后情况就完全不同了,接下来我们就能算出衰减率 λ,μ 。这个问题就是非线性最小二乘,比线性的难一点。而我们依然是先写出 E2 ,误差的平方和,然后最小化。但是导数为零得到的不再是线性方程。

加权最小二乘

一个简单的最小二乘问题是估计两个观测值 x=b1,x=b2 x^ ,除非 b1=b2 ,否则我们面对的就是两个方程一个未知量的矛盾方程:

[11][x]=[b1b2]

目前为止,我们认为 b1,b2 可靠度一样,基于此我们最小化 E2 求出 x^ 的值:

dE2dx=0x^=b1+b22

最佳解就是平均值,利用 ATAx^=ATb 得到同样的结果。事实上, ATA 1×1 的矩阵,正规方程是 2x^=b1+b2

现在假设两个观测值的信任程度不一样, x=b1 的结果比 x=b2 更加准确,但不管怎样,只要 b2 包含了信息,我们不会完全依赖 b1 ,最简单的分解就是给他们分配不同的权值 w21,w22 ,最下化带权重的平方和:

E2=w21(xb1)2+w22(xb2)2

如果 w1>w2 ,那么说明 b1 更加重要,最小化过程时会使 (xb1)2 变小的力度加大:

dE2dx=2[w21(x1b1)+w22(xb2)]=0,x^W=w21b1+w22b2w21+w22(9)

结果不再是 b1,b2 的平均值,而是数据的加权平均,这个平均相比 b2 更加靠近 b1

一般最小二乘问题将 Ax=b 变成新系统 WAx=Wb ,这将结果 x^ 变成了 x^W ,矩阵 WTW 出现在正规方程的两边:

WAx=Wb 的最小二乘解是 x^W

(ATWTWA)x^W=ATWTWb

b 投影到Ax^的图像中发生了什么了?投影 Ax^W 依然是列空间中最靠近 b 的点,但是这里的最靠近有了新的意义,x的加权长度等于 Wx 的长度,垂直也不再是 yTx=0 ,在新的方程组中是 (Wy)T(Wx)=0 ,中间出现了矩阵 WTW ,在这个新观念下,投影 Ax^W 和误差 bAx^W 依然是垂直的。

接下里我们描述一下内积:他们来自于逆矩阵 W 。他们只涉及对称组合C=WTW x,y 的内积是 yTCx 。对于正交矩阵 W=Q ,当这个组合是 C=QTQ=I 时,这和我们之前介绍的内积是一个含义,这种情况下旋转空间不改变内积,而其他矩阵会改变长度和内积。

对任何可逆矩阵 W ,这些规则定义了新的内积和长度:

(x,y)W=(Wy)T(Wx)xW=Wx(10)

因为 W 是可逆的,所以没有任何向量会变成零(除了零向量),所有可能的内积(线性依赖于x,y,并且在 x=y0 时为正)可以从 C=WTW 中找到。

实际中,重要的问题是 C 的选择,最好的答案来自统计学,最早是出自高斯。我们知道平均误差是零,这是b中误差的期望值(误差并非一定为零!),我们还知道误差平方的均值,也就是方差。如果 bi 的误差互相独立,且方差为 σ2i ,那么正确的权值是 wi=1/σi ,测量越精确(意味着更小的方差),权重越大。

除了不同的权重外,观测量也许是不独立的,如果误差是耦合的,那么 W 将是非对角形式,最好的非偏置矩阵C=WTW是协方差矩阵的逆(它的 i,j 项是 bi 误差和 bj 误差乘积的期望), C1 的主对角线包含方差 σ2i ,也就是 bi 误差平方的平均值。

例3:假设两个牌友(已经叫牌了)在猜对方手中黑桃的个数,误差为 1,0,1 的概率都等于 13 ,那么期望误差是零,方差是 23

E(e)=13(1)+13(0)+13(1)=0

E(e2)=13(1)2+13(0)2+13(1)2=23

这两个人的猜测是相关的,因为叫牌是一样的,但是却不一样,这又是因为他们手中的牌不一样。如果说他们都猜大和都猜小的几率为零,相反误差的几率是 13 ,那么 E(e1e2)=13(1) ,协方差矩阵的逆是 WTW

[E(e21)E(e21e2)E(e21e2)E(e22)]1=231313231=[2112]1=C=WTW

这就是加权正规方程中间的矩阵。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值