• 线性代数16.投影矩阵和最小二乘


    回顾

    投影矩阵

    [p=A(A^TA)^{-1}A^T ]

    投影矩阵的作用是将向量 (b) 投影到她在列空间中的最近点。

    极端例子:

    1. 假设 (b) 在列空间中,(Pb=b)

      因为列空间中任意向量(列的组合)可以表示为 (Ax) ,则 (A(A^TA)^{-1}(A^TA)x=Ax),中间构成单位阵

    2. 假设列空间是一个平面,(b) 垂直于该列空间,(Pb=0),因为(b) 在左零空间,(A^Tb=0),故 (A(A^TA)^{-1}(A^Tb)=0)

    只要在知道矩阵 (A) ,就能根据公式得到投影矩阵 (P)

    e的投影矩阵

    我们用 (e=b-p) 代表误差向量,(e) 在左零空间

    这个图描述了各向量之间的关系。

    我们可以把 (e) 也看成一个投影,她的投影矩阵是什么?

    [egin{align} e&=b-p\ &=b-Pb\ &=(I-P)b end {align} ]

    其中,(I) 是单位阵,所以 (e) 的投影矩阵就是 (I-P)

    应用

    拟合直线

    继续上一节课的例子。

    现在有3个点,((1,1)、(2,2)、(3,2)),我们想要找到一条拟合直线,使得总误差最小。假设直线为 (b=C+Dt)

    将直线上的点记为 (p) ,(p) 是代替 (b) 的点,也就是我们要求的 (b) 在列空间中最近的投影点。将(b)(p) 的误差记为 (e)。下标表示序号。

    根据三个点我们可以得到三个方程:

    [C+D=1\ C+2D=2\ C+3D=2 ]

    从而可以得到 (Ax=b) 的矩阵形式:

    [left( egin{array}{cc} 1 & 1 \ 1 & 2 \ 1 & 3 \ end{array} ight).left( egin{array}{c} C \ D \ end{array} ight)=left( egin{array}{c} 1 \ 2 \ 2 \ end{array} ight) ]

    这个方程联立是无解的,但我们可以求出最接近的解。所以结果会有误差,这个误差就是

    [Ahat x-b=e ]

    我们想要最小化 (e),意味着 (e) 的长度最小。

    [||Ahat x-b||=||e|| ]

    直线上的点到实际数据的竖直距离有正有负,为了让误差永远为正,将其平方,(相比取绝对值,平方的好处还在于方便求导)

    [||Ahat x-b||^2=||e||^2 ]

    则总的误差为

    [e_1^2+e_2^2+e_3^2 ]

    这就是我们要最小化的量。我们将误差的平方和作为测量总误差的标准。

    现在求解 (hat x)(p)

    我们将方程两边同时乘以 (A^T),即 (hat x) 的公式为:

    [A^TAhat x=A^Tb ]

    (A) 代入,(hat x) 加在 (A) 后面作为一列作为增广矩阵计算

    [left( egin{array}{ccc} 1 & 1 & 1 \ 1 & 2 & 3 \ end{array} ight).left( egin{array}{ccc} 1 & 1 & 1 \ 1 & 2 & 2 \ 1 & 3 & 2 \ end{array} ight)= left( egin{array}{ccc} 3 & 6 & 5 \ 6 & 14 & 11 \ end{array} ight) ]

    回代得到方程组

    [3C+6D=5\ 6C+14D=11 ]

    这个方程组称为 "正规方程组"

    我们也可以通过微积分的方法得到这个方程组,从总误差最小角度:

    [egin {align} &e_1^2+e_2^2+e_3^2\ &=(C+D-1)^2+(C+2D-2)^2+(C+3D-2)^2 end {align} ]

    通过求这个方程的偏导数,即把C、D看作两个变量,误差对C、D分别求偏导数等于0,就能得到方程组。

    求解 正规方程组,可得

    [D=1/2\ C=2/3 ]

    所以最优直线为

    [y=frac{2}{3}+frac{t}{2} ]

    这里我们就解决了求最优直线的问题。

    正交性

    看看关于这个例子其他的性质。此时,

    (p_1=frac{7}{6}) ,(e_1=-frac{1}{6})

    (p_2=frac{5}{3}) ,(e_2=frac{1}{3})

    (p_3=frac{13}{6}) ,(e_3=-frac{1}{6})

    (b=p+e) 可得

    [left( egin{array}{c} 1 \ 2 \ 3 \ end{array} ight)=left( egin{array}{c} frac{7}{6} \ frac{5}{3} \ frac{13}{6} \ end{array} ight)+ left( egin{array}{c} -frac{1}{6} \ frac{2}{6} \ -frac{1}{6} \ end{array} ight) ]

    (e) 不仅垂直于投影向量 (p) ,而且垂直于整个列空间。

    (A^TA)的可逆性

    (A) 各列线性无关,那么(A^TA) 是可逆的。

    (A) 各列线性无关,是最小二乘法成立的大前提。如果 (A^TA) 是不可逆会怎么样?

    证明‘

    回顾以前判断 (A) 不可逆是怎么做的?(第三节)

    我们假设存在非零矩阵 (x) ,使得 (Ax=0),假设 (A) 可逆 ,则有 (A^{-1}Ax=0) ,但是 (A^{-1}A=I) ,矛盾。

    所以(A) 不可逆。所以证明 (A) 可逆,只需要证明在(Ax=0) 中, (x) 只有零向量即可。

    证明(A^TA) 是可逆,我们假设 (A^TAx) =0 ,只需要证明 (x) 只有零向量即可。

    方法

    两边同时点乘 (x^T)

    [egin {align} x^TA^TAx&=0\ &=(x^TA^T)(Ax)\ &=(Ax)^T(Ax) end {align} ]

    如果将 (Ax) 看成一个向量 (y) ,那么

    [y^Ty=0 ]

    (y^Ty) 从几何上理解,表示的是 (y) 的长度的平方,她大于等于零,所以此时 (y) 一定是零向量。

    [Ax=0 ]

    根据假设,A各列线性无关,所以其各列可以构成列空间一组基,列空间中任意向量都可以由基通过线性组合的来,要让基乘以 (x) 等于0,只有(x) 等于零向量。

    [x=0 ]

    标准正交向量组

    有一种线性无关的情况比较特殊

    如果矩阵各列是相互垂直的单位向量,那么各列一定是线性无关的。比如在三维空间中,(left( egin{array}{c} 1 \ 0 \ 0 \ end{array} ight) ,left( egin{array}{c} 0 \ 1 \ 0 \ end{array} ight) ,left( egin{array}{c} 0 \ 0 \ 1 \ end{array} ight))

    我们称为 “标准正交向量组”

    引入''标准"表示单位向量。"单位"的意思不一定是 (1),比如 (left( egin{array}{c} sin( heta) \ cos( heta) \ end{array} ight) left( egin{array}{c} -sin( heta) \ cos ( heta) \ end{array} ight)),这两个向量夹角也是90°。

    下一节课将讲解 标准正交向量组的特点,以及如何使向量组标准正交化。

  • 相关阅读:
    初识Java内存结构
    eclipse的安装与配置
    关于android客户端使用ksoap2调用wcf(.svc)的总结
    ie下jpg不显示问题
    Android学习笔记(1)
    HTML标签语义化
    【转】android模拟机不能上网
    WCF IIS 寄宿问题
    C# 参数传递
    Wcf IIS 寄宿
  • 原文地址:https://www.cnblogs.com/ckk-blog/p/13662748.html
Copyright © 2020-2023  润新知