• 线性代数之——子空间投影


    1. 投影

    向量 $ b = (2, 3, 4)$ 在 (z) 轴上和在 (xy) 平面上的投影是什么,哪个矩阵能产生到一条线上和到一个平面的投影?

    (b) 被投影到 (z) 轴上时,它的投影 (p) 就是 (b) 沿着那条线的部分。当 (b) 被投影到一个平面时,它的投影就是 (b) 在平面中的部分。

    (z) 轴上的投影 (p_1 = (0, 0, 4)),到 (xy) 平面上的投影 (p_2 = (2, 3, 0)),两个投影矩阵 (P_1)(P_2) 分别为

    (P_1) 就是选出每个向量的 (z) 分量, (P_2) 就是选出每个向量的 (x)(y) 分量。

    在这个例子中,(z) 轴和 (xy) 平面是正交子空间,就像地面和两面墙的交线一样。

    除此之外,它们还是正交补的。整个空间的任意向量都可以表示为它们在两个子空间中分量的和。

    2. 到一条线上的投影

    假设一条过原点的直线方向为 (a = (a_1, a_2,cdots, a_m)),我们要将点 (b = (b_1, b_2,cdots, b_m)) 投影到这条直线上。

    投影 (p)(a) 在一条直线上,因此有 (p = hat xa),误差 (e = b-p = b-hat xa),然后由 (e) 垂直于 (a),我们可得。

    [e cdot a = 0 o (b-hat xa) cdot a = 0 o acdot b - hat x acdot a = 0 ]

    因此,可求得系数 (hat x)

    [hat x = frac{acdot b}{acdot a} = frac{a^Tb}{a^Ta} ]

    投影为 (p = hat x a = frac{a^Tb}{a^Ta} a)

    如果 (b=a),那么 (hat x = 1),投影还是它自己,(Pa = a)。 如果 (bperp a),那么 (hat x = 0),投影为 0。

    将投影重写为 (p = a hat x =a frac{a^Tb}{a^Ta} = frac{aa^T}{a^Ta}b)。因此,投影矩阵 (P = frac{aa^T}{a^Ta})

    如果向量 (a) 变为两倍,投影矩阵 (P) 不变,它还是投影到同一条直线。如果投影矩阵平方,那就是进行两次投影,和进行一次投影是一样的结果,因此有 (P^2=P)

    同时,(I-P) 也是一个投影矩阵,((I-P)b = b-p = e)。当 (P) 投影到一个子空间时,(I-P) 投影到和它垂直的另一个子空间。

    3. 到子空间的投影

    假设 (n)(oldsymbol R^m) 空间中的向量 (a_1,cdots,a_n) 是线性不相关的,我们想找到一个线性组合 (p=hat x_1 a_1+cdots+hat x_n a_n) 使得 (p) 距离一个给定向量 (b) 最近。

    (a_1,cdots,a_n) 可以看做是矩阵 (A) 的列,我们要找的线性组合是在矩阵 (A) 的列空间中。我们要找的是距离(b) 最近的一个组合 (Ahat x),也就是 (b) 在列空间的投影。

    同理,误差 (e=b-Ahat x) 垂直于子空间,也就是垂直于子空间的所有向量。

    也即

    [A^T(b-Ahat x) = 0 o A^TAhat x = A^Tb ]

    (A^TA) 是一个 n×n 的矩阵,因为 (A) 的列是线性不相关的,所以其是可逆的。可得线性组合系数为

    [hat x = (A^TA)^{-1}A^Tb ]

    所以有,投影和投影矩阵分别为

    [p = A hat x = A(A^TA)^{-1}A^Tb ]

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

    (A^T(b-Ahat x) = 0) 可知,误差 (e) 位于 (A) 的左零空间 (N(A^T)) 中,向量 (b) 被分为了投影 (p) 和误差 (e) 两部分。

    (A^TA) 是可逆的当且仅当 (A) 的列是线性不相关的。

    (Ax=0) 时,我们有 (A^TAx=0)。而当 (A^TAx=0) 时,我们有

    [x^TA^TAx=0 o (Ax)^TAx = 0 o Ax = 0 ]

    因此 (A^TA)(A) 有着一样的零空间,当 (A) 的列线性不相关时,(A^TA) 是一个方阵,对称并且可逆。

    获取更多精彩,请关注「seniusen」!

  • 相关阅读:
    Coursera机器学习week11 单元测试
    关于 TypeReference 的解释
    getModifiers 方法解释。
    instanceof isInstance isAssignableFrom 比较
    elasticsearch 基础 语法总结
    kibana 启动 关闭 和进程查找
    MD5 SHA1 SHA256 SHA512 SHA1WithRSA 的区别
    spring boot 项目 热启动
    java zip 压缩文件
    Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  • 原文地址:https://www.cnblogs.com/seniusen/p/9994177.html
Copyright © 2020-2023  润新知