zoukankan      html  css  js  c++  java
  • 线性代数:子空间投影

    1、子空间投影定义

    前面的部分讲过向量在一条经过原点的直线的投影的计算放方法。直线实际上是一个线性子空间,这里把投影的概念一般化到子空间的领域。

    假设V是一个子空间,子空间N是V的正交补,那么任意一个Rn内的向量可以表示为 x = v+n,其中 v是V的成员,n是N的成员。
    那么x在V上的投影是v,在N上的投影是n。

    在前面计算向量A在直线L上的投影时,会做A的终点到直线的垂直向量,这个垂直向量其实就是L的正交补的向量。

    在求解Ax=b的章节中,解x = v+n, v是A行空间的一个向量,n是零空间的任意向量。这个定义与这里投影的定义也是统一的,任意x在A行空间的投影都是v。

    2、另一个角度
    x在向量空间V的投影v,满足v属于V,且(x-v)正交V的任意向量。

    3、子空间的投影是线性变换
    假如子空间V的一组基是 v1,v2,..,vk, 矩阵A={v1,v2,...,vk}, 向量x在V上的投影是V的一个成员。
    可以表示为v1,v2,..,vk的线性组合,也即Ay,y是某个向量。只要能求出向量y,就求出了投影向量。

    V的正交补,是A的左零空间,也即A转置的零空间,N(T(A))。

    x-Ay是V的正交补成员,有  T(A)(x-Ay) = 0,T(A)x = T(A)Ay。

    之前的章节有结论,如果A的列向量是线性无关的,那么T(A)A是可逆的,所以  y = (T(A)A)逆*T(A)x。

    于是乎,x在V上的投影可以表示为   A*(T(A)A)逆*T(A)*x,这是一个线性变换的形式。

    4、通过正交补来求投影变换

    上一节可知投影变换是一个线性变换,通过通过矩阵计算来求得变换矩阵。
    假设线性空间V的投影矩阵是B,V的正交补的投影矩阵是C,有 x = Bx+Cx =>   I = B+C;
    可知如果求出了B或C的其中一个,另一个可以很简单得到。因此可以依据简单的原则来选择计算B或C。
    一般来说如果V的基向量个数比较多,可以考虑先求V的正交补,再求C,再得到B。

    5、投影是子空间中与原向量距离最短的向量
    x在子空间V中的投影是y,那么对于任意V中的向量y', 有||x-y||<=||x-y'||。

    6、最小二乘解
    方程Ax=b,如果b不属于C(A),那么方程是没有解的。
    此时,C(A)中距离b最近的向量x',叫做最小二乘逼近,即最接近解的一个值。
    依据前面的只是,可以知道x' = b在C(A)上的投影。   b-x'正交于C(A),属于A的左零空间:N(T(A))。

    例1,假设R2内有3条直线,a1x+b1y=c1, a2x+b2y=c2,a3x+b3y=c3,可能有交点,也有可能没有交点。如果没有交点,可以通过求最小二乘逼近来求一个最接近的点。

    例2,假设R2有3个点,(x1,y1),(x2,y2),(x3,y3),求一条经过3个点的直线,这样的直线可能不存在,可以通过求最小二乘逼近来求一条最接近的直线。





  • 相关阅读:
    关于springboot项目使用yml类型的配置文件
    关于个人电脑连不上公司svn服务器,显示拒绝访问的错误
    改变思考问题的方式——SQL排序查询
    FreeMarker入门级
    个人电脑安装svn实录
    tomcat配置虚拟路径,可以解决实际开发中测试时前端访问后台电脑上的图片的问题
    springmvc的运行原理个人见解
    [CF915F] Imbalance Value of a Tree
    [CF768G] The Winds of Winter
    [BZOJ4241] 历史研究
  • 原文地址:https://www.cnblogs.com/longhuihu/p/10423310.html
Copyright © 2011-2022 走看看