线性代数之——对角化和伪逆

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

另外,注意 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\)

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

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

  • 例子

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

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

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

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

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

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

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

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

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

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

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

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

2. SVD

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

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

3. 极分解

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

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

  • 证明

\[V^TV = I \to A=U\Sigma V^T=UV^TV\Sigma V^T = (UV^T)(V\Sigma V^T)=QH \]

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

\[H^2=V\Sigma V^TV\Sigma V^T=V\Sigma^2 V^T=A^TA \]

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

\[U^TU = I \to A=U\Sigma V^T=U\Sigma U^TUV^T = (U\Sigma U^T)UV^T=KQ \]

4. 伪逆

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

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

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

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

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

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

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

之前我们假设 \(A^TA\) 是可逆的,那么当 \(Ax=b\) 不可解的时候,我们求助于方程 \(A^TA\hat 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」!

posted @ 2019-11-26 22:00  seniusen  阅读(844)  评论(0编辑  收藏  举报