• 线性代数学习笔记(五)


    最小二乘法

    当Ax=b没有解时,左右同时乘以AT,解( A^TAhat{x}=A^Tb )得到原式的近似解( hat{x} )。

    乘上AT源自投影矩阵求x的变形:AT(b-Ax)=0,目的是为了得到( p=Ahat{x} ),使p足够接近原式中的b,( A^TAhat{x}=A^Tb )这个式子本身似乎没什么几何意义。通过偏导数可以证明( hat{x} )最小化了sum of squares of the errors

    求解x的方程( A^TAhat{x}=A^Tb )就是大名鼎鼎的normal equation. 利用最小二乘法解拟合直线的一个例子可以见右图。

    正交基

    假如向量q1到qn满足:两两之间相互垂直,且每个向量长度都为1,then q1...qn are orthonormal(orthogonal + normal两个词,以这些向量为列(别搞反了)组成的矩阵标记为Q

    • Q不一定是正方形的,也可以是瘦瘦长长的(m>n),但不能是矮矮胖胖的(否则列向量无法相互独立)
    • Q的一个性质是QTQ=I,这让Q非常有用!(repeat:Q不一定是正方形)
    • 当m=n时,QT=Q-1
    • 当Q是正方形时,我们叫它orthogonal matrix(不是所有的Q都叫orthogonal,不是所有的牛奶都叫。。也许当初发现这个的人觉得QT=Q-1非常重要才把这个名字留给正方形Q)
    • Qb不会改变b的长度:||Qb||2=(Qb)'(Qb)=b'Q'Qb=b'b=||b||这条性质保证了用Q运算不会让数值变得太大or太小(随想:好像rowNum=2和rowNum=3的向量混合就没什么意思了<例如,二维空间的基(1,0),(0,1)与三位空间向量(1,2,3)没什么关系>,那这里Q的basis的rowNum就应该和b的rowNum相同,Qb有意义的条件又限制了Q的colNum=b的rowNum,这样这个性质有用时,Q八成是正方形的)

    用Q来作投影矩阵

    顾名思义,用Q来代替原先乱七八糟的A,得到:Q'Qx=Q'b,有:

    • 基的组合:( hat{x}=Q^Tb )
    • 每个分量:( hat{x}_i=q_i^Tb )
    • 投影向量:( p=Qhat{x}=QQ^Tb )
    • 投影矩阵:( P=QQ^T )  (QQT=全球通...)

    Foundation of Fourier series

    当Q是正方形时,QQT=I,似乎b只能投影到b本身,但是还是有用处的:( b=q_1(q_1^Tb)+q_2(q_2^Tb)+...+q_n(q_n^Tb) ),每个分量都将b投影到 q代表的子空间中,分量之间相互垂直!

    Gram-Schmidt Process

    (注意标记)假设向量a,b,c是一组基(不一定正交),经过GSProcess之后得到的正交向量分别为A,B,C(这里虽然是大写,但是还是表示向量)

    • ( A=a )
    • ( B=b-P_Ab=b-A(A^TA)^{-1}A^Tb )
    • ( C=c-P_Ac-P_Bc=c-A(A^TA)^{-1}A^Tc - B(B^TB)^{-1}B^Tc )

    规律是减去在之前的每个正交向量构成的每个空间(这些空间都是一条线)的分量即可。最后再加一步标准化,得到模长为1的向量( q_a=frac{A}{parallel A parallel} ),以此类推。

    ColumnSpace(q1)=C(a),C([q1,q2])=C([a,b]),以此类推,因为q2可由a,b变换得来(b本身减去b在a上的分量)

    A=QR

    现在是QTQ=I发挥作用的时候了,设A=QR,左右同时乘上QT,得到QTA=QTQR=IR=R,有:

    ( R=Q^TA=egin{bmatrix}- & q_1 & -\- & q_2 & - \- & q_3 & -end{bmatrix}egin{bmatrix}| & | &| \ a & b &c \ | & | &| end{bmatrix}=egin{bmatrix}q_1^Ta & q_1^Tb & q_1^Tb\ & q_2^Tb &q_2^Tc\  &  & q_3^Tcend{bmatrix} )

    R是一个上三角矩阵!q2与a的内积等于0,因为a在q1的column space中,q2与这个空间所有向量垂直;q3与b的内积等于0,因为b在q1和q2构成的column space中,q3与这个空间所有向量垂直。

    任何列向量独立的m*n的矩阵A都能分解成QR!Q是m*n的矩阵,列向量相互垂直且模长为1!R是n*n的上三角矩阵(所以必然存在逆矩阵)!

    对最小二乘法来说,( A^TAhat{x}=A^Tb ):

    1. 可以化为( R^TQ^TQRhat{x}=R^TQ^Tb )
    2. 进一步变成( Rhat{x}=Q^Tb )
    3. ( hat{x}=R^{-1}Q^Tb )
  • 相关阅读:
    jquery正则表达式验证:正整数(限制长度)
    H5页面快速搭建之高级字体应用实践
    如何用Python写一个贪吃蛇AI
    HashMap多线程并发问题分析
    为RecyclerView打造通用Adapter 让RecyclerView更加好用
    学好Mac常用命令,助力iOS开发
    使用 Realm 和 Swift 创建 ToDo 应用
    看Facebook是如何优化React Native性能
    利用github搭建个人maven仓库
    Objective-C Runtime之着魔的UIAlertView
  • 原文地址:https://www.cnblogs.com/ericxing/p/3617670.html
Copyright © 2020-2023  润新知