zoukankan      html  css  js  c++  java
  • 线性代数之——对角化和伪逆

    这部分我们通过选择更好的基底来产生更好的矩阵。当我们的目标是对角化矩阵时,一个选择可以是一组特征向量基底,另外一个选择可以是两组基底,输入基底和输出基底是不一样的。这些左右奇异向量是矩阵四个基本子空间中标准正交的基向量,它们来自于 SVD。

    事实上,所有对 (A) 的分解都可以看作是一个基的改变。在这里,我们只关注两个突出的例子,有一组基的 (Lambda) 和有两组基的 (Sigma)

    (S^{-1} AS=Lambda) 如果输入和输出基都是 (A) 的特征值。
    (U^{-1} AV=Sigma) 如果这些基分别是 (A^TA)(AA^T) 的特征值。

    只有当 (A) 是方阵并且有 (n) 个不相关的特征向量时,我们才能将其对角化成 (Lambda)。而通过 SVD,任意矩阵都可以对角化成 (Sigma)。如果一个矩阵是对称的、反对称的或者正交的,那么有 (A^TA=AA^T),在这种情况下,奇异值是特征值的绝对值,上面的两个对角化形式除了一个 (-1) 或者 (e^{i heta}) 的因子外是相同的。

    另外,注意 Gram-Schmidt 分解 (A=QR) 只选择了一个新的基底,也就是通过 (Q) 给出的输出正交基,而输入基底则是标准基由 (I) 给出。我们只得到一个上三角矩阵而不是对角矩阵,(A=QRI) ,输出基矩阵在左边而输入基矩阵在右边。

    1. 相似矩阵:(S,S^{-1}AS space 和 space W^{-1}AW)

    让我们以一个方阵和一组基开始,输入空间 (V) 和输出空间 (W) 都是 (R ^n)。在标准基下,线性变换 (T) 是乘以矩阵 (A)。如果我们改变了输入空间的基,那么矩阵就变成了 (AM)(M) 是基变换矩阵;如果我们改变了输出空间的基,那么矩阵就变成了 (M^{-1}A)

    如果以上面同样的方式同时改变了两组基,那么新的矩阵就为 (M^{-1}AM)。而一组好的基是矩阵的特征向量,我们就有 (S^{-1} AS=Lambda)

    当基中包含特征向量 (oldsymbol{x_1},cdots,oldsymbol{x_n}) 时,变换 (T) 对应的矩阵是 (Lambda)

    • 证明
      要找到矩阵的第一列,输入第一个基向量 (oldsymbol{x_1}),由 (Aoldsymbol{x_1}=lambda_1oldsymbol{x_1}) 可得矩阵的第一列为 ((lambda_1, 0, cdots,0))。同理可得其它的每一列,最终矩阵为一个对角矩阵,对角线上元素为特征值。

    • 例子

    要找到投影到直线 (y=-x) 的变换矩阵。坐标 ((1, 0)) 投影到 ((0.5, -0.5)),坐标 ((0, 1)) 投影到 ((-0.5, 0.5)),所以在标准基下,变换矩阵为

    [A = egin{bmatrix} 0.5&-0.5 \ -0.5&0.5end{bmatrix} ]

    如果以 (A) 的特征向量 (oldsymbol{x_1}=(1, -1))(oldsymbol{x_2}=(1, 1)) 为基的话:(oldsymbol{x_1}) 与直线共线,投影后还是其自身;(oldsymbol{x_2}) 垂直于直线,投影后为零向量,所以在这组基下的变换矩阵为

    [Lambda = egin{bmatrix} 1&0 \ 0&0end{bmatrix} ]

    如果选择另外一组基 (oldsymbol{v_1}=oldsymbol{w_1}=(2, 0))(oldsymbol{v_2}=oldsymbol{w_2}=(1, 1))

    我们可以一列一列找到变换矩阵,(oldsymbol{v_1}=(2, 0)),投影后坐标为 ((1, -1)=oldsymbol{w_1}-oldsymbol{w_2})(oldsymbol{v_2}=(1, 1)),投影后为零向量,所以在这组基下的变换矩阵为

    [B = egin{bmatrix} 1&0 \ -1&0end{bmatrix} ]

    另外我们也可以利用基变换矩阵,由 (V,W o I) 标准基的基变换矩阵 (M)

    [M = egin{bmatrix} 2&1 \ 0&1end{bmatrix} ]

    接下来,我们先将输入变换到标准基下,再应用标准基下的变换矩阵 (A),最后再将输出变换到 (W) 空间下,这样得到的以 (V,W) 为基的变换矩阵就为

    [B=M^{-1}AM=egin{bmatrix} 1&0 \ -1&0end{bmatrix} ]

    这和上面的结果是一样的,还说明了 (B)(A) 是相似的,对于任意的非标准基底,我们都可以采用类似的方式来求取变换矩阵。

    2. SVD

    现在,输入基 (oldsymbol{v_1},cdots,oldsymbol{v_n}) 和输出基 (oldsymbol{u_1},cdots,oldsymbol{u_m}) 不一样,事实上,输入空间 (R^n) 可以和输出空间 (R^m) 不一样。同样,最好的矩阵依然是对角矩阵,只不过大小是 (m×n) 的。为了到达对角矩阵 (Sigma),每个输入向量 (oldsymbol{v_j}) 必须被变换到输出向量 (oldsymbol{u_j}) 的一个倍数,而这个倍数就是对角线上的奇异值。

    要说明的是,(A)(Sigma) 代表的是相同的变换,矩阵 (A) 利用 (R^n)(R^m) 中的标准基,而 (Sigma) 则以 (oldsymbol v)(oldsymbol u) 分别作为输入基和输出基,正交矩阵 (V)(U) 则代表基变换矩阵。

    3. 极分解

    每个复数都可以表示成极坐标的形式 (re^{i heta}),将这些数想象成一个 (1×1) 的矩阵,那么 (rgeqslant 0) 可以看作是是一个半正定矩阵 (H)(e^{i heta}) 可以看作是一个正交矩阵 (Q),因为 (|e^{i heta}| = |cos heta+isin heta|=1)。极分解将上述的分解扩展到矩阵:正交乘以正定,(A=QH)

    每个实的方阵都可以分解成 (A=QH) 的形式,其中 (Q) 是一个正交矩阵,(H) 是一个对称的半正定矩阵。如果 (A) 可逆,那么 (H) 是正定的。

    • 证明

    [V^TV = I o A=USigma V^T=UV^TVSigma V^T = (UV^T)(VSigma V^T)=QH ]

    第一项两个正交矩阵的乘积还是正交矩阵,第二项是半正定的因为其特征值位于 (Sigma) 的对角线上,都大于等于零。

    [H^2=VSigma V^TVSigma V^T=VSigma^2 V^T=A^TA ]

    (H)(A^TA) 的对称正定平方根。同样地,我们有:

    [U^TU = I o A=USigma V^T=USigma U^TUV^T = (USigma U^T)UV^T=KQ ]

    4. 伪逆

    矩阵 (A) 乘以行空间中的 (oldsymbol{v_i}) 得到列空间中的 (sigma_ioldsymbol{u_i})(A^{-1}) 应该做相反的操作。如果有 (Aoldsymbol{v}=sigmaoldsymbol{u}),那么 (A^{-1}oldsymbol{u}={oldsymbol{v}}/{sigma}),如果逆矩阵存在的话。

    伪逆 (A^+) 是一个 (n×m) 的矩阵。可以看到,如果 (A^{-1}) 存在的话,那么伪逆也就等于逆矩阵,在这种情况下 (n=m=r)(A^+=A^{-1}=(USigma V^T)^{-1}=VSigma^{-1}U^T)。只有当 (r<m) 或者 (r<n) 时我们才需要伪逆,伪逆有着相同的秩 (r)

    (r) 个列空间中的向量被送回到了行空间,其它的向量位于左零空间则被送回到了零向量。注意到 (Sigma^+Sigma) 是我们能得到的最接近于恒等矩阵的矩阵,它是一个投影矩阵,部分是 (I) 部分是 (0)

    假设 (r=n<m),那么 (A^TA) 是可逆的,

    [underbrace{(A^TA)^{-1}A^T}_{ ext{左逆 $A^+$}}A=I o A(A^TA)^{-1}A^T=P=投影到列空间的投影矩阵 ]

    假设 (r=m<n),那么 (AA^T) 是可逆的,

    [Aunderbrace{A^T(AA^T)^{-1}}_{ ext{右逆 $A^+$}}=I o A^T(AA^T)^{-1}A=P=投影到行空间的投影矩阵 ]

    之前我们假设 (A^TA) 是可逆的,那么当 (Ax=b) 不可解的时候,我们求助于方程 (A^TAhat x=A^Tb) 得到最小二乘解。现在矩阵 (A) 可能具有相关的列,即 (r<n),上述方程可能有很多解,其中一个解来自于伪逆 (x^+=A^+b)

    我们可以验证,(A^TAA^+b=A^Tb),因为 (b) 可以分解为两部分, (p=AA^+b) 是其投影到列空间的分量,(e=b-AA^+b) 是左零空间的分量,乘以 (A^T) 后为零向量。

    任意零空间的向量可以被加到 (x^+) 上得到其它的解 (hat x),但 (x^+) 是其中最短的一个。

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

  • 相关阅读:
    让人头疼的CSS兼容
    javascript IE与其他主流浏览器兼容性问题积累
    webpack全局安装后,提示webpack命令不可用的解决方法
    Vue Devtools的安装
    box-sizing属性
    margin-left和left的区别
    position定位解决弹框拖拽出屏幕的情况
    css单位的px,em,rem的区别总结笔记
    用css3的属性transform画一个太阳
    CSS高级技巧-转自51cto
  • 原文地址:https://www.cnblogs.com/seniusen/p/11938768.html
Copyright © 2011-2022 走看看