线性代数一直迷的不行……so
这个博客主要参考MIT18.06和18.065两门课进行记录梳理,构建各个知识点的联系。一定要学过一遍线性代数再看 ,这里着重记录“感觉”,信息密度大,多停多想,不要贪快。没有证明(或许提供了思路)的定理可以当作练习
MIT18.06讲了线性代数,18.065讲了线性代数在数据科学中的诸多用法。本文计算机视觉和机器学习有关的内容还参考了很多Prince的Computer vision: models, learning, and inference的附录C,鼓励大家看原书 ,这是我读过的最清楚的。同时穿插了一些信号、图像方面的知识点
线性变换
(实际上应该先讲线性空间,但是会不明意义,所以先从几何角度建立线性变换的感觉,强烈建议去看3B1B 线性代数的本质 理解线性变换,无前置基础)
这里给出T T T 满足线性变换的条件T ( v + w ) = T ( v ) + T ( w ) T ( c v ) = c T ( v )
\begin{aligned}
T(v+w)&=T(v)+T(w) \\
T(cv)&=cT(v)
\end{aligned}
T ( v + w ) T ( c v ) = T ( v ) + T ( w ) = c T ( v )
只需要确定T T T 对所有基向量的影响,就能完全掌握这个变换
基变换和坐标变换是一种看法,线性变换是另一种看法
两个定理(对几何直觉构建帮助不大,可以先略去)
对于同一个元素,在基α \alpha α 下坐标为x x x ,在基β \beta β 下坐标为x ′ x' x ′ ,如果β = α P \beta = \alpha P β = α P ,那么x = P x ′ x=Px' x = P x ′ .
证明:因为α x = β x ′ \alpha x = \beta x' α x = β x ′ . P P P 也叫过渡矩阵或基变换矩阵
如果β = α P \beta = \alpha P β = α P ,线性变换T T T 在两组基下的矩阵依次为A , B A,B A , B ,即T ( α ) = α A , T ( β ) = β B T(\alpha)=\alpha A, T(\beta)=\beta B T ( α ) = α A , T ( β ) = β B ,则B = P − 1 A P B=P^{-1}AP B = P − 1 A P .
证明:β B = T ( β ) = T ( α P ) = T ( α ) P = α A P = β P − 1 α P \beta B = T(\beta)=T(\alpha P) = T(\alpha)P=\alpha AP=\beta P^{-1}\alpha P β B = T ( β ) = T ( α P ) = T ( α ) P = α A P = β P − 1 α P ,因为β \beta β 满秩,所以B = P − 1 A P B=P^{-1}AP B = P − 1 A P
即A A A 和B B B 是两组基下的同一个变换,它们一定相似,且P P P 就是相似变换矩阵
n n n 维线性空间和R n \mathbb R^n R n 都同构,即维数相等的线性空间都同构,线性空间的结构完全由维数决定
线性空间
对向量加法和数乘封闭的非空集合
Ax=b的解空间不构成线性子空间
注意b b b 的存在,这种情况不满足加法和乘法的封闭法则
矩阵[向量]空间
以矩阵为元素的线性空间
子空间的加和交
对于两个子空间S S S 和U U U d i m ( S ) + d i m ( U ) = d i m ( S + U ) + d i m ( S ∩ U )
dim(S) + dim(U) = dim(S+U) + dim(S\cap U)
d i m ( S ) + d i m ( U ) = d i m ( S + U ) + d i m ( S ∩ U )
4个基本子空间
列空间Column Space C ( A ) C(A) C ( A ) : all A x Ax A x
行空间Raw Space C ( A T ) C(A^T) C ( A T )
零空间Null space of a matrix N ( A ) N(A) N ( A ) : A x = 0 Ax=0 A x = 0 for all x x x
左 零空间Left Null space N ( A T ) N(A^T) N ( A T ) : x T A = 0 x^TA=0 x T A = 0 for all x x x
注意A x = 0 Ax=0 A x = 0 就已经揭示了C ( A T ) C(A^T) C ( A T ) 和N ( A ) N(A) N ( A ) 是正交的。
A=CR分解,行秩等于列秩
对于A ∈ R m × n A\in \mathbb R^{m\times n} A ∈ R m × n ,如果列秩为r r r ,r r r 维的列空间中的无关列向量拼成矩阵C = [ c v 1 , ⋯ , c v r ] C=[c_{v_1}, \cdots, c_{v_r}] C = [ c v 1 , ⋯ , c v r ] ,A A A 的每一列可以由C C C 中的列线性表达,则有A = C R A=CR A = C R ,其中C ∈ R m × r , R ∈ R r × n C\in \mathbb R^{m\times r},\ R \in \mathbb R^{r\times n} C ∈ R m × r , R ∈ R r × n . 注意该式也可看作A A A 的每一行由R R R 中的r r r 行进行线性组合得到,所以行空间维度不超过r r r ,也即行秩不超过列秩;类似方法可证列秩不超过行秩。即证明行 秩 = 列 秩 = r 行秩=列秩=r 行 秩 = 列 秩 = r 。所以A = C R A=CR A = C R 分解中C C C 是列无关的,R R R 也是行无关的
从C C C 和R R R 两个角度看A A A 的构成,也说明了秩的乘法性质:r a n k [ A B ] ⩽ min { r a n k [ A ] , r a n k [ B ] } rank[AB]\leqslant \min\{rank[A], rank[B] \} r a n k [ A B ] ⩽ min { r a n k [ A ] , r a n k [ B ] }
A x = b Ax=b A x = b 有解即b b b 在A A A 的列空间中
几个性质
N ( B A ) = N ( A ) N(BA)=N(A) N ( B A ) = N ( A ) if B B B is invertable
行空间和列空间维度都为r r r
行空间与零空间正交,所以零空间N ( A ) N(A) N ( A ) 维度为n − r n-r n − r ,也即线性方程组A x = 0 Ax=0 A x = 0 解的构成维度;同理左零空间N ( A T ) N(A^T) N ( A T ) 与列空间正交,维度为m − r m-r m − r
子空间投影
对于向量a a a 和b b b ,b b b 在a a a 上投影向量p为a a T b a T a = a a T a T a b = P b (1) a\frac{a^Tb}{a^T a}=\frac{aa^T}{a^Ta}b=Pb \tag{1} a a T a a T b = a T a a a T b = P b ( 1 )
其中P P P 看作是投影矩阵
最小二乘问题
求解A x = b Ax=b A x = b 时,如果无解,b b b 不在C ( A ) C(A) C ( A ) 当中,那么改求A x ^ = p A \hat x=p A x ^ = p ,其中p p p 是b b b 在C ( A ) C(A) C ( A ) 上的投影。注意到b − A x ^ b - A \hat x b − A x ^ 垂直于C ( A ) C(A) C ( A ) ,在Left Null Space。所以A T ( b − A x ^ ) = 0 A^T(b-A\hat x)=0 A T ( b − A x ^ ) = 0 ,即A T A x ^ = A T b A^TA\hat x=A^T b A T A x ^ = A T b
所以x ^ = ( A T A ) − 1 A T b \hat x = (A^TA)^{-1}A^T b x ^ = ( A T A ) − 1 A T b ,p = A x ^ = A ( A T A ) − 1 A T b = P b p=A\hat x=A (A^TA)^{-1}A^T b=Pb p = A x ^ = A ( A T A ) − 1 A T b = P b ,注意该式和式(1)的相似性. P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P = A ( A T A ) − 1 A T 称之为投影矩阵. x ^ \hat x x ^ 也称之为A A A 的左逆
注意P P P 的两个性质,这两个性质似乎也是判定投影矩阵的充分条件:P T = P , P 2 = P P^T=P, P^2=P P T = P , P 2 = P ,因为投影两次的结果和投影一次一样。这也说明投影矩阵的特征向量正交,且又因为P 2 = P P^2=P P 2 = P ,特征值只能为0或1,这也是投影矩阵的充要条件
因为b = p + e b=p+e b = p + e . (e e e 是投影误差),而p = P b p=Pb p = P b ,所以e = ( I − P ) b e=(I-P)b e = ( I − P ) b . 且有 ( I − P ) 2 = I − P , ( I − P ) T = I − P (I-P)^2=I-P, (I-P)^T=I-P ( I − P ) 2 = I − P , ( I − P ) T = I − P . 注意和P P P 的类似性
A T A A^TA A T A is invertible iff A A A has independent columns. 一个可靠的证明方法是两者的Null Space相同. 这里似乎r ( A T A ) = r ( A ) r(A^TA)=r(A) r ( A T A ) = r ( A ) 是成立的
分析角度看最小二乘问题
A x = b Ax=b A x = b
以最小二乘形式看待x ^ = arg min x [ ( A x − b ) T ( A x − b ) ] = arg min x [ x T A T A x − 2 x T A T b ]
\begin{aligned}
\hat x &= \argmin_x [(Ax-b)^T(Ax-b)] \\
&= \argmin_x [x^TA^TAx - 2x^TA^Tb]
\end{aligned}
x ^ = x a r g m i n [ ( A x − b ) T ( A x − b ) ] = x a r g m i n [ x T A T A x − 2 x T A T b ]
标量对x x x 求导得x = ( A T A ) − 1 A T b
x=(A^TA)^{-1}A^Tb
x = ( A T A ) − 1 A T b
结果和投影角度是一样的。
其中A A A 的行数如果比x x x 少,那么奇异
应用:线性回归(摘自PRML P143)
几何解释
记训练集标注为t = ( t 1 , . . . , t N ) T \bf t = (t_1, ..., t_N)^T t = ( t 1 , . . . , t N ) T ,并构成标注空间R N \mathbb R^N R N ,S \mathcal{S} S 是能在训练集的标注空间中用广义线性回归张成的超平面,也即训练集的列空间
这里线性回归的基可以是带核φ ( X ) \varphi (X) φ ( X ) 的,实际上带核的仍然是张成超平面,而不是曲面,超平面的第i i i 个基由φ i ( X ) \varphi_i(X) φ i ( X ) 决定,φ i \varphi_i φ i 表示第i i i 个特征,X X X 表示所以的N个数据。
这样线性回归是求了标注空间中训练集所在位置在超平面上的投影,垂直距离即为误差向量,范数为最小二乘的结果。
注意误差向量垂直于S \mathcal{S} S ,所以如果截距项全1向量在S S S 当中,那么必有误差向量自身之和为0. 也即线性回归拟合均值一定等于标注均值
多重共线性缺陷
之前只知道多重共线性不好,到底哪里不好一直说不清楚。这里把它讲清楚。
多重共线性的灾难在于参数值爆炸 。
- 我们记训练集(经过核变换后)为Φ ∈ R N × M \Phi \in \mathbb{R}^{N \times M} Φ ∈ R N × M ,其中M M M 是特征维度。用r ( ⋅ ) r(\cdot) r ( ⋅ ) 表示秩,r ( Φ ) < M r(\Phi)<M r ( Φ ) < M 时,即产生了多重共线性问题,也即特征之间线性相关。因为r ( Φ ) = r ( Φ T Φ ) = r ( Φ Φ T ) r(\Phi) = r(\Phi^T \Phi) = r(\Phi \Phi^T) r ( Φ ) = r ( Φ T Φ ) = r ( Φ Φ T ) ,(注:方法为证明Φ x = 0 \Phi x =0 Φ x = 0 与Φ T Φ x = 0 \Phi^T \Phi x= 0 Φ T Φ x = 0 同解)。所以如何判断r ( Φ ) r(\Phi) r ( Φ ) 与M M M 的关系,只需要计算Φ T Φ \Phi^T \Phi Φ T Φ 是否奇异。
- 实际上,如果Φ T Φ \Phi^T \Phi Φ T Φ 接近奇异,即行列式很小,那么线性回归的参数闭式解( Φ T Φ ) − 1 Φ T t (\Phi^T \Phi)^{-1} \Phi^T \bf t ( Φ T Φ ) − 1 Φ T t 会非常大 。
- 从几何角度解释,即两个基向量方向非常近,那么为了表达出与这两个基向量几乎垂直的方向上的位置,这两个向量需要不断抵消,系数会增长非常快!
这里如果无法求逆,则可以求伪逆,参考后文
行列式和逆
最基本的性质
d e t [ I ] = 1 det[I]=1 d e t [ I ] = 1
交换两行,行列式取反
a) 某一行乘k k k 倍,行列式乘k k k 倍.
b) d e t [ ⋮ a i 1 + a i 2 ⋮ ] = d e t [ ⋮ a i 1 ⋮ ] d e t [ ⋮ a i 2 ⋮ ] det \begin{bmatrix}\vdots \\ a_{i_1}+a_{i_2} \\ \vdots\end{bmatrix}=det \begin{bmatrix}\vdots \\ a_{i_1} \\ \vdots\end{bmatrix}det \begin{bmatrix}\vdots \\ a_{i_2} \\ \vdots\end{bmatrix} d e t ⎣ ⎢ ⎢ ⎡ ⋮ a i 1 + a i 2 ⋮ ⎦ ⎥ ⎥ ⎤ = d e t ⎣ ⎢ ⎢ ⎡ ⋮ a i 1 ⋮ ⎦ ⎥ ⎥ ⎤ d e t ⎣ ⎢ ⎢ ⎡ ⋮ a i 2 ⋮ ⎦ ⎥ ⎥ ⎤
用这三条性质能推出剩下一大堆东西,包括基本算法和其他性质,都能推出来,列几个常用的性质
d e t [ A T ] = d e t [ A ] det[A^T]=det[A] d e t [ A T ] = d e t [ A ]
d e t [ A B ] = d e t [ A ] d e t [ B ] det[AB]=det[A]det[B] d e t [ A B ] = d e t [ A ] d e t [ B ] ,所以d e t [ A − 1 ] = 1 / d e t [ A ] det[A^{-1}]=1/det[A] d e t [ A − 1 ] = 1 / d e t [ A ]
不满秩矩阵的行列式为0。由此可证d e t [ ⋮ a i 1 ⋮ a i 2 ⋮ ] = d e t [ ⋮ a i 1 ⋮ a i 1 + a i 2 ⋮ ] det \begin{bmatrix}\vdots \\ a_{i_1} \\ \vdots \\ a_{i_2} \\\vdots\end{bmatrix}=det \begin{bmatrix}\vdots \\ a_{i_1} \\ \vdots \\ a_{i_1}+a_{i_2} \\\vdots\end{bmatrix} d e t ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ ⋮ a i 1 ⋮ a i 2 ⋮ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤ = d e t ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎡ ⋮ a i 1 ⋮ a i 1 + a i 2 ⋮ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎤
行列式表示矩阵组成的体积
可以证明体积也满足上述三个重要性质。于是得证。(3b不是很好证)
建议参考3B1B——线性代数的本质
三阶行列式即混合积:a × ( b ⋅ c ) = d e t [ [ a , b , c ] ] a\times (b\cdot c)=det[[a,b,c]] a × ( b ⋅ c ) = d e t [ [ a , b , c ] ]
行列式算法
对于方阵A ∈ R n × n A \in \mathbb{R}^{n\times n} A ∈ R n × n ,一种写法:d e t [ A ] = ∑ n ! terms ± a 1 α a 2 β ⋯ a n ω
det[A]=\sum_{n! \text{ terms}} \pm a_{1\alpha}a_{2\beta}\cdots a_{n\omega}
d e t [ A ] = n ! terms ∑ ± a 1 α a 2 β ⋯ a n ω
其中( α , β , γ , ⋯ , ω ) = perm of ( 1 , 2 , ⋯ , n )
(\alpha, \beta,\gamma, \cdots,\omega) = \text{perm of } (1,2,\cdots,n)
( α , β , γ , ⋯ , ω ) = perm of ( 1 , 2 , ⋯ , n )
另一种写法:d e t [ A ] = a 11 C 11 + a 12 C 12 + ⋯ + a 1 n C 1 n
det[A]=a_{11}C_{11} + a_{12} C_{12} + \cdots + a_{1n} C_{1n}
d e t [ A ] = a 1 1 C 1 1 + a 1 2 C 1 2 + ⋯ + a 1 n C 1 n
这里只以第一行为例,也可以取其他行。C i j C_{ij} C i j 是第i i i 行第j j j 列的代数余子式cofactor,注意有正有负。
逆矩阵
A C T = d e t [ A ] I AC^T=det[A]I A C T = d e t [ A ] I
注意C C C 是代数余子式形成的矩阵,C T C^T C T 称之为伴随矩阵Adjugate Matrix. 正确性可以自行验证.
伴随矩阵和逆矩阵只差一个系数。然而,伴随矩阵对不可逆的矩阵也有定义,并且不需要用到除法(摘自百度百科)
克拉默法则
A x = b
Ax=b
A x = b
有唯一解时x = A − 1 b = 1 d e t [ A ] C T b
x=A^{-1}b=\frac{1}{det[A]}C^Tb
x = A − 1 b = d e t [ A ] 1 C T b
注意C T b C^Tb C T b 中代数余子式的含义,可以得到x i = d e t [ B i ] d e t [ A ] B i = [ A ⋅ 1 , ⋯ , A ⋅ ( i − 1 ) , b , A ⋅ ( i + 1 ) , ⋯ , A ⋅ n ]
x_i=\frac{det[B_i]}{det[A]} \\
B_i = \begin{bmatrix} A_{\cdot 1}, \cdots, A_{\cdot (i-1)}, b, A_{\cdot (i+1)}, \cdots, A_{\cdot n} \end{bmatrix}
x i = d e t [ A ] d e t [ B i ] B i = [ A ⋅ 1 , ⋯ , A ⋅ ( i − 1 ) , b , A ⋅ ( i + 1 ) , ⋯ , A ⋅ n ]
几何解释参考3B1B——线性代数的本质
正交矩阵
Q Q Q 是方阵,且每一列的范数为1,不同列正交。故有Q T Q = I , Q − 1 = Q T Q^TQ=I,Q^{-1}=Q^T Q T Q = I , Q − 1 = Q T
例子:哈达玛矩阵,参考博客
复空间的正交矩阵叫做酉矩阵unitary,即满足A ˉ T A = I \bar A^TA=I A ˉ T A = I
正交矩阵特征值绝对值都为1,因为( Q x ) ‾ T Q x = λ ˉ λ x ˉ T x \overline {(Qx)}^TQx=\bar \lambda\lambda \bar x^Tx ( Q x ) T Q x = λ ˉ λ x ˉ T x ,x ˉ T x > 0 \bar x^T x>0 x ˉ T x > 0 ,所以∥ λ ∥ = 1 \|\lambda\|=1 ∥ λ ∥ = 1 . 注意旋转矩阵这一类,考虑其旋转和特征向量的物理意义,除了I I I 外,无法找出实特征向量和特征值
注意:如果Q T Q = I Q^TQ=I Q T Q = I ,当Q Q Q 不为方阵的时候,不一定能推出Q Q T = I QQ^T=I Q Q T = I
旋转矩阵与正交变换
正交矩阵行列式绝对值为1,所以线性变换体积不变。左乘的线性变换效果是可看作是一种反演(改变手性)+旋转 ,这个在SVD中会有感受。行列式为1时,为旋转矩阵 ,为-1则包含了反演
正交矩阵的线性变换叫正交变换,正交变换有以下好性质:
距离不变
夹角不变
上述两条也能推出内积不变 ,即x 1 T x 2 = ( A x 1 ) T ( A x 2 ) x_1^Tx_2=(Ax_1)^T(Ax_2) x 1 T x 2 = ( A x 1 ) T ( A x 2 )
反射矩阵
即正交对称阵r T = r r^T=r r T = r .
注意这意味着特征值都为实数±1,且特征向量都存在。这是一个不带旋转的变换,如果带旋转的话不可能特征值都为±1
A=QR与Gram-schmitt正交化
Q Q Q 是正交矩阵,其中R R R 是上三角矩阵.
这个上三角矩阵成立的原因可以思考一下Gram-schmitt正交化的过程,对Q Q Q 的列向量q 1 , q 2 , ⋯ , q n q_1,q_2,\cdots, q_n q 1 , q 2 , ⋯ , q n 一个一个进行正交。每一次正交只依赖于前面的列向量
应用:信号处理中的变换
信号处理中有一大类变换是线性变换,其中的部分变换是正交变换,可以看作是对原始信号x x x 施加了一组新的标准正交基,例如y = A T x y=A^Tx y = A T x ,新的基为正交矩阵A A A 中的各列,而且A A A 和A T A^T A T 互为正反变换。实际例子包括:
傅里叶变换,A A A 中元素a p q = e 2 π i p q / N a_{pq}=e^{2\pi i pq / N} a p q = e 2 π i p q / N ,这里p , q p,q p , q 从0计数,注意A A A 是复数矩阵,虽然对称,但不是共轭对称,所以不是埃尔米特矩阵,但它是酉矩阵,反变换为A ˉ T \bar A^T A ˉ T
小波变换。参考我的另一篇博客:小波变换——公式整理和简单介绍
特征值与特征向量
对于方阵A ∈ R n × n A \in \mathbb{R}^{n\times n} A ∈ R n × n A v = λ v
Av=\lambda v
A v = λ v v v v 为特征向量,λ \lambda λ 为对应特征值
∑ λ = t r [ A ] \sum \lambda=tr[A] ∑ λ = t r [ A ]
∏ λ = d e t [ A ] \prod \lambda = det[A] ∏ λ = d e t [ A ]
对称矩阵特征值一定为实数,反对称矩阵则为零或纯虚数 ;其他矩阵介于对称与反对称之间
A A A 和A T A^T A T 的特征值相同,但特征向量不一定,因为Left Null Space not equals to Null Space.
特征值分解
A = V Λ V − 1
A=V\Lambda V^{-1}
A = V Λ V − 1
其中,V V V 是特征向量列拼接组成的矩阵,Λ \Lambda Λ 是对应特征值。这里需要假设n n n 个线性无关的特征向量存在 ,即S S S 可逆。
A k = V Λ k V − 1 A^k=V \Lambda ^k V^{-1} A k = V Λ k V − 1 ,所以A k A^k A k 特征向量不变,特征值乘k k k 次。
A k u = ( V Λ k ) ( V − 1 u ) = ( λ 1 v 1 , ⋯ , λ n v n ) ( c 1 , ⋯ , c n ) T = ∑ i = 1 n c i λ i k v i A^k u=(V\Lambda^k)( V^{-1}u)=(\lambda_1 v_1,\cdots,\lambda_n v_n)(c_1,\cdots,c_n)^T=\sum_{i=1}^{n}c_i \lambda_i^k v^i A k u = ( V Λ k ) ( V − 1 u ) = ( λ 1 v 1 , ⋯ , λ n v n ) ( c 1 , ⋯ , c n ) T = ∑ i = 1 n c i λ i k v i
若A A A 的所有特征值都不同,那么一定有n n n 个线性无关特征向量(可对角化);但特征值相同时(代数重数大于1),需要再研究,线性无关的特征向量可能不够,即几何重数低于代数重数
特征向量组唯一当且仅当所有的特征值都是唯一的
给定特征值和特征向量唯一确定一个矩阵,可以从几何角度感知,参考3B1B线性代数本质
实对称矩阵的特征值分解
谱定理Spectral Theorem
如果A A A 是实对称矩阵,A A A 一定可以分解成n n n 个线性无关的正交实特征向量和实特征值(不一定都不同)A = Q Λ Q T
A = Q\Lambda Q^T
A = Q Λ Q T
上述实对称矩阵可以放松为A = A ˉ T A=\bar A^T A = A ˉ T ,其中A ˉ \bar A A ˉ 是A A A 的共轭矩阵。满足上述条件的矩阵也叫埃尔米特矩阵Hermitian Matrix或自共轭矩阵
如果A A A 是反对称矩阵,特征向量也正交,注意反对称矩阵的特征值为0或纯虚数
实际上当A A A 满足A A ˉ T = A ˉ T A A\bar A^T=\bar A^TA A A ˉ T = A ˉ T A 时,特征向量都正交,这样的矩阵叫正规矩阵normal matrix,特例还有正交矩阵。
主轴定理
Q Q Q 是A A A 的特征向量组成的正交矩阵,作用在单位圆上后,可以将A A A 看作是沿v i v_i v i 方向扩展λ i \lambda_i λ i 倍
解释:A u = Q Λ Q T u Au=Q\Lambda Q^T u A u = Q Λ Q T u ,从右往左看,这里正交矩阵Q T Q^T Q T 对单位圆u u u 的旋转作用看不出来,Λ \Lambda Λ 把坐标轴拉长,Q Q Q 再把拉长后的椭圆旋转
Λ \Lambda Λ 通常按降序排列
矩阵奇异当且仅当有0特征值
所有特征值为正,则正定;不为负,则半正定;不为正,则半负定;为负,则负定。感受一下正负定对线性变换的影响
实对称矩阵的谱(spectral)分解
实对称矩阵的特征分解:S = ( Q Λ ) Q T = ∑ i λ i q i q i T
S=(Q\Lambda) Q^T = \sum_i \lambda_i q_i q_i^T
S = ( Q Λ ) Q T = i ∑ λ i q i q i T
注意谱是对称的,并且全是秩一矩阵
且有S q i = ( ∑ i λ i q i q i T ) q i = λ q i
Sq_i =( \sum_i \lambda_i q_i q_i^T) q_i= \lambda q_i
S q i = ( i ∑ λ i q i q i T ) q i = λ q i
特征值分解在马尔科夫矩阵中的应用
马尔科夫矩阵A A A :
每列的和为1
所有元素大于0
物理意义是列到行概率转移。
上述定义1保证了1是特征值,原因在于A − I A-I A − I 奇异. 并且其对应的特征向量每个值都不小于0(总之不能异号),根据马尔科夫矩阵的物理意义可以理解。特征值为1的特征向量也是稳态A ∞ u 0 A^{\infty}u_0 A ∞ u 0 的组成部分
两条定义共同保证了特征值不大于1. 注意马尔科夫矩阵在无限次放后的稳态性,A n = V Λ k V − 1 A^n=V \Lambda ^k V^{-1} A n = V Λ k V − 1 ,特征值必须收敛
相似矩阵
A ∼ B ⇔ A = M B M − 1 A \sim B \Leftrightarrow A=MBM^{-1} A ∼ B ⇔ A = M B M − 1
注意相似的传递性,这有点像是抽象代数里的群作用在集合上形成的“轨道”,相似的矩阵在一个轨道里
相似矩阵特征值相同。对于A x = λ x Ax=\lambda x A x = λ x ,有M − 1 A M M − 1 x = λ M − 1 x M^{-1}AMM^{-1}x=\lambda M^{-1}x M − 1 A M M − 1 x = λ M − 1 x ,进而B ( M − 1 x ) = λ M − 1 x B(M^{-1}x)=\lambda M^{-1}x B ( M − 1 x ) = λ M − 1 x ,这说明A A A 的特征值λ \lambda λ 也是B B B 的特征值。特征向量不同。
上述命题反过来不成立,如果特征值有重根,特征向量个数有可能不同。当特征向量不够的时候,甚至无法对角化。例如[ 4 1 0 4 ]
\begin{bmatrix}
4 & 1\\ 0 & 4
\end{bmatrix}
[ 4 0 1 4 ]
这也叫Jordan标准型Jordan form
每个矩阵都像相似于一个Jordan矩阵,Jordan矩阵由Jordan块组成。而Jordan块数则等于不同的特征向量数。这里仅mark一下,不再展开(等用到时再详细了解吧)
A B AB A B 和B A BA B A 特征值相同,证明方法是B ( A B ) B − 1 = B A B(AB)B^{-1}=BA B ( A B ) B − 1 = B A ,两者相似,这里假定B B B 可逆. SVD和这里有一定的相通之处,即A T A , A A T A^TA, AA^T A T A , A A T 有相同非零特征值。
正定矩阵
一种特殊的实对称矩阵。几个等价定义:
∀ x ≠ 0 , x T S x > 0 \forall x\neq 0, x^TSx>0 ∀ x = 0 , x T S x > 0 ,即二次型quadratic form(相对于线型linear form)大于0
特征值全为正 ,即S = Q Λ Q T S=Q\Lambda Q^T S = Q Λ Q T 中Λ \Lambda Λ 对角线元素全正。所以迹恒正
主元pivots全为正 。主元实际上和LU分解,和二次型配方都是一一对应的
顺序主子式leading determinants全为正 。注意主元和顺序主子式的关系,前k k k 主元的乘积是第k k k 顺序主子式,可以用高斯消元法解释,高斯消元法不会影响行列式。如果有一个主元为负,那么该主子式为负
S = A T A S=A^TA S = A T A , A A A 列无关. 如果A A A 不满秩,则半正定positive semi definite.考虑定义1和N ( A ) N(A) N ( A ) 易证. 所以协方差总是半正定 ,就像是方差总是正数
性质:
如果A , B A,B A , B 都正定,那么A + B A+B A + B 正定,用定义1秒证
正定矩阵可逆,且逆矩阵正定
说明:
二次型x T S x x^TSx x T S x 也叫做能量Energy,许多机器学习和深度学习的问题就是在找参数x x x 来最小化能量
正定时二次型是凸函数convex function
奇异值分解(SVD分解)
对任意m × n m\times n m × n 矩阵A A A ,总能A = U Σ V T
A=U\Sigma V^T
A = U Σ V T
其中,U U U 是m m m 阶正交矩阵,Σ \Sigma Σ 是m × n m\times n m × n 对角矩阵,V V V 是n n n 阶正交矩阵。奇异值分解并不唯一,往往让Σ \Sigma Σ 对角元素沿着从大到小的顺序排 ,在某些情况下唯一。参考:可逆矩阵的奇异值分解唯一吗?存在奇异值分解唯一的矩阵吗?
性质:A T A = V ( Σ T Σ ) V T A^TA=V(\Sigma^T\Sigma)V^T A T A = V ( Σ T Σ ) V T ,A A T = U ( Σ Σ T ) U T AA^T=U(\Sigma\Sigma^T)U^T A A T = U ( Σ Σ T ) U T
如果A A A 是正定,则SVD即是正交特征分解
代数解释
如果r a n k [ A ] = r rank[A]=r r a n k [ A ] = r ,奇异值分解让A A A 把行空间C ( A T ) C(A^T) C ( A T ) 的一组r r r 个单位正交基同构映射 到列空间C ( A ) C(A) C ( A ) 中去得到另一组r r r 个单位正交基,注意C ( A ) C(A) C ( A ) 和C ( A T ) C(A^T) C ( A T ) 维度相同,即A [ v 1 , v 2 , ⋯ , v r ] = [ u 1 , u 2 , ⋯ , u r ] d i a g [ σ 1 , σ 2 , ⋯ , σ r ] (2)
A[ v_1, v_2, \cdots , v_r] =[u_1,u_2,\cdots,u_r]diag[\sigma_1, \sigma_2, \cdots, \sigma_r] \tag{2}
A [ v 1 , v 2 , ⋯ , v r ] = [ u 1 , u 2 , ⋯ , u r ] d i a g [ σ 1 , σ 2 , ⋯ , σ r ] ( 2 )
也可写成A V = U Σ
AV=U\Sigma
A V = U Σ
其中V V V 中多余的列如v r + 1 , ⋯ , v n v_{r+1}, \cdots, v_n v r + 1 , ⋯ , v n 从A A A 的零空间N ( A ) N(A) N ( A ) 中拿即可,其维度正好是n − r n-r n − r ,而且所有列都正交;U U U 中多余的列类似,从左零空间N ( A T ) N(A^T) N ( A T ) 中拿. 对于i > r i>r i > r ,Σ i i = 0 \Sigma_{ii} = 0 Σ i i = 0 ,r r r 列之后等式两边全是0
如何找出V V V 的前r r r 列?
从A T A A^TA A T A 的非零特征值对应的特征向量中拿,A T A = V ( Σ T Σ ) V T A^TA=V(\Sigma^T \Sigma)V^T A T A = V ( Σ T Σ ) V T ,V V V 也即实对称矩阵A T A A^TA A T A 的特征向量,从中也能看出Σ \Sigma Σ ;
σ i 2 v i = A T ( A v i ) \sigma_i^2 v_i=A^T(Av_i) σ i 2 v i = A T ( A v i ) ,所以v i v_i v i 一定在行空间C ( A T ) C(A^T) C ( A T ) 中
如何找出U U U 的前r r r 列?
令u i = A v i σ i u_i=\frac{Av_i}{\sigma_i} u i = σ i A v i
可以看出u i u_i u i 一定在A A A 的列空间里
可以证明这r r r 列是单位正交的,不妨记前r r r 列的各个矩阵为V r ∈ R n × r , U r ∈ R m × r , Σ r ∈ R r × r V_r \in \mathbb R^{n\times r}, \ U_r \in \mathbb R^{m\times r},\ \Sigma_r \in \mathbb R^{r\times r} V r ∈ R n × r , U r ∈ R m × r , Σ r ∈ R r × r ,则U r = A V r Σ r − 1 U r T U r = ( A V r Σ r − 1 ) T A V r Σ r − 1 = Σ r − 1 V r T ( V Σ T Σ V T ) V r Σ r − 1 = ( Σ r − 1 V r T V Σ T ) ( Σ r − 1 V r T V Σ T ) T U_r=AV_r \Sigma_r^{-1} \\ U_r^T U_r = (AV_r \Sigma_r^{-1})^TAV_r \Sigma_r^{-1}=\Sigma_r^{-1} V_r^T(V\Sigma^T \Sigma V^T) V_r \Sigma_r^{-1}=(\Sigma_r^{-1}V_r^TV\Sigma^T)( \Sigma_r^{-1} V_r^TV\Sigma^T)^T U r = A V r Σ r − 1 U r T U r = ( A V r Σ r − 1 ) T A V r Σ r − 1 = Σ r − 1 V r T ( V Σ T Σ V T ) V r Σ r − 1 = ( Σ r − 1 V r T V Σ T ) ( Σ r − 1 V r T V Σ T ) T .
其中V r T V = I r × n V_r^TV=I_{r\times n} V r T V = I r × n ,Σ r − 1 I r × n = Σ r − 1 \Sigma_r^{-1}I_{r\times n} = \Sigma_r^{-1} Σ r − 1 I r × n = Σ r − 1 , Σ r − 1 Σ T = I r × r \Sigma_r^{-1}\Sigma^T=I_{r\times r} Σ r − 1 Σ T = I r × r ,所以U r T U r = I r × r U_r^TU_r=I_{r\times r} U r T U r = I r × r . 即证明了这r r r 列一定单位正交,式(2)是一定可以构造出来的
注意V V V 和U U U 一起构成了四个基本子空间,SVD实现了四个基本子空间的分解 ,
U : [ C ( A ) , N ( A T ) ] U: [C(A), N(A^T)] U : [ C ( A ) , N ( A T ) ] : , V : [ C ( A T ) , N ( A ) ] V: [C(A^T), N(A)] V : [ C ( A T ) , N ( A ) ]
从矩阵分解的角度揭示了矩阵从四个记本子空间中如何生成的,这也是SVD各种秒用的原理之一
几何解释
从线性变换的角度看奇异值分解揭示了矩阵的组成方法, 如下图所示:
V T V^T V T 旋转(+反演,反射与否可用行列式判断,下同)
L L L 伸缩每个维度(假定L L L 对角线都是正值,也即把反演放到旋转中去)
U U U 旋转(+反演)
只改变某部分,对最终矩阵A 3 A_3 A 3 的影响
奇异值σ \sigma σ
个数:m i n ( m , n ) min(m, n) m i n ( m , n )
非0奇异值的数量是矩阵的秩
最小奇异值与最大奇异值之比反映了可逆性的度量,称为条件数
根据行列式的定义,知,奇异值的乘积为行列式(因为只有L L L 拉伸了矩阵,U U U 和V V V 不改变面积)
逆
A − 1 = V L − 1 U T
A^{-1}=VL^{-1} U^T
A − 1 = V L − 1 U T
从几何角度和数值角度都很直观
极分解Polar decomposition生成SVD
A = Q S
A=QS
A = Q S
其中Q Q Q 正交(酉矩阵),S S S 半正定矩阵(半正定埃尔米特矩阵)。
所以A = Q V Λ V ˉ T
A=QV\Lambda \bar V^T
A = Q V Λ V ˉ T Q V = U QV=U Q V = U 正交,V V V 正交,这也即SVD分解
关于求S S S ,A ˉ T A = S ˉ T Q ˉ T Q S = S 2 \bar A^TA=\bar S^T \bar Q^T QS=S^2 A ˉ T A = S ˉ T Q ˉ T Q S = S 2 ,用矩阵开方 的知识,正规矩阵都可以开方,S = A ˉ T A = V Λ 2 V ˉ T = V Λ V ˉ T S=\sqrt {\bar A^TA} = \sqrt {V\Lambda ^2 \bar V^T}=V\Lambda \bar V^T S = A ˉ T A = V Λ 2 V ˉ T = V Λ V ˉ T
矩阵范数
这里插入矩阵范数,以便应用部分使用
范数定义
满足这三条的叫做范数
∥ A ∥ ⩾ 0 \|A\| \geqslant 0 ∥ A ∥ ⩾ 0
∥ c A ∥ = ∣ c ∣ ∥ A ∥ \|cA\|=|c| \|A\| ∥ c A ∥ = ∣ c ∣ ∥ A ∥
∥ A + B ∥ ⩽ ∥ A ∥ + ∥ B ∥ \|A+B\| \leqslant \|A\|+\|B\| ∥ A + B ∥ ⩽ ∥ A ∥ + ∥ B ∥
如果定义∥ A ∥ = ( ∑ i , j a i , j p ) 1 / p \|A\|=(\sum_{i,j} a_{i,j}^p)^{1/p} ∥ A ∥ = ( ∑ i , j a i , j p ) 1 / p ,当p < 1 p<1 p < 1 时,会违背第三条性质,所以不是范数;p ⩾ 1 p\geqslant 1 p ⩾ 1 是可以的
2范数(谱范数)
∥ A ∥ 2 = max x ∥ A x ∥ 2 ∥ x ∥ 2 = σ 1
\|A\|_2=\max_x\frac{\|Ax\|_2}{\|x\|_2}=\sigma_1
∥ A ∥ 2 = x max ∥ x ∥ 2 ∥ A x ∥ 2 = σ 1
即最大的奇异值,不妨假定∥ x ∥ 2 = 1 \|x\|_2=1 ∥ x ∥ 2 = 1 ,证明方法为记x = ∑ i λ i v i x=\sum_i {\lambda_i}v_i x = ∑ i λ i v i ,则∑ i λ i 2 = 1 \sum_i \lambda_i^2=1 ∑ i λ i 2 = 1 ,根据SVD分解性质有A x = ∑ i λ i σ i u i Ax=\sum_i \lambda_i\sigma_i u_i A x = ∑ i λ i σ i u i ,所以∥ A x ∥ 2 = ∑ i λ i 2 σ i 2 ⩽ σ 1 \|Ax\|_2=\sqrt{\sum_{i} \lambda_i^2\sigma_i^2}\leqslant \sigma_1 ∥ A x ∥ 2 = ∑ i λ i 2 σ i 2 ⩽ σ 1
F范数Frobenius Norm
∥ A ∥ F \|A\|_F ∥ A ∥ F 是所有元素平方和再开方,∥ A ∥ F = t r [ A T A ] ∣ = t r [ V Σ T Σ V T ] \|A\|_F=\sqrt {tr[A^TA]|}=\sqrt {tr[V\Sigma^T \Sigma V^T]} ∥ A ∥ F = t r [ A T A ] ∣ = t r [ V Σ T Σ V T ] ,根据迹的轮换对称性 t r [ A B ] = t r [ B A ] tr[AB]=tr[BA] t r [ A B ] = t r [ B A ] ,所以∥ A ∥ F = t r [ V T V Σ T Σ ] = ∑ i = 1 r σ 2 \|A\|_F=\sqrt {tr[V^TV\Sigma^T \Sigma ]}=\sqrt {\sum_{i=1}^r \sigma^2} ∥ A ∥ F = t r [ V T V Σ T Σ ] = i = 1 ∑ r σ 2
核范数Nuclear Norm
∥ A ∥ N = ∑ i = 1 r σ i
\|A\|_{N}=\sum_{i=1}^r \sigma_i
∥ A ∥ N = i = 1 ∑ r σ i
这三种范数在正交变换下不变
Q A = ( Q U ) Σ V T QA=(QU)\Sigma V^T Q A = ( Q U ) Σ V T ,这是Q A QA Q A 的SVD分解,如果范数只由Σ \Sigma Σ 决定,那么Q Q Q 不影响范数
向量特例
这三个范数相等
基追踪问题Basis persuitm i n ∥ x ∥ p s . t . A x = b p = 1 o r 2
min\|x\|_p\qquad s.t. \quad Ax=b \\
p=1\ or\ 2
m i n ∥ x ∥ p s . t . A x = b p = 1 o r 2
这个问题似乎不太好解
应用:数据压缩与主成分分析Principal Components Analysis(PCA)
这里矩阵可以是一幅图像或DataFrame型数据。如果r a n k [ A ] = r rank[A]=r r a n k [ A ] = r ,那么A = U Σ V T = ∑ i = 1 r σ i u i v i T A=U\Sigma V^T = \sum_{i=1}^r \sigma_i u_i v_i^T A = U Σ V T = i = 1 ∑ r σ i u i v i T
有点像谱分解,上述σ \sigma σ 按绝对值从大到小排列,越大的σ \sigma σ 占据了数据的主要成分。注意∥ u i v i T ∥ F = t r [ v i u i T u i v i T ] = t r [ v i v i T ] = t r [ v i T v i ] = 1 \left\|u_i v_i ^T \right\|_F=tr[v_i u_i^T u_i v_i^T]=tr[v_i v_i^T]=tr[v_i^T v_i]=1 ∥ ∥ u i v i T ∥ ∥ F = t r [ v i u i T u i v i T ] = t r [ v i v i T ] = t r [ v i T v i ] = 1 . 所以每一个谱的数据量主要由σ \sigma σ 衡量。可以只保留最大的k k k 个σ \sigma σ ,对A A A 进行有损压缩得到A k = U k Σ k V k T A_k=U_k \Sigma_k V_k^T A k = U k Σ k V k T
Eckart-Young定理
如果A k = U k Σ k V k T A_k=U_k \Sigma_k V_k^T A k = U k Σ k V k T ,对任意秩k k k 矩阵,∥ A − B ∥ ⩾ ∥ A − A k ∥
\|A-B \| \geqslant\|A-A_k\|
∥ A − B ∥ ⩾ ∥ A − A k ∥ A k A_k A k 是秩k k k 矩阵中最接近A A A 的。
主成分分析:
假设存在数据集X = [ x 1 , ⋯ , x n ] ∈ R m × n X=[x_1,\cdots,x_n] \in \mathbb R^{m\times n} X = [ x 1 , ⋯ , x n ] ∈ R m × n ,m m m 是特征数,n n n 是样本数,希望通过线性变换 W ∈ R k × m W \in \mathbb R^{k\times m} W ∈ R k × m 把特征降低到k k k 维,左乘得到降维结果W X WX W X ,并希望降维再升维度的数据能通过线性变换尽可能代表原始数据,距离最小。
因为降维后的矩阵秩不超过k k k ,如果再升维回去,秩仍然不超过k k k ,根据Eckart-Young定理,X k X_k X k 是最接近X X X 的矩阵。
其中X k = U k Σ k V k T X_k=U_k \Sigma_k V_k^T X k = U k Σ k V k T 通过SVD分解得到。
什么样的线性变换能在降维和升维后得到X k X_k X k ?
降维:实际上可以取U k T U_k^T U k T 左乘,U k T X U_k^T X U k T X 把数据集降维到R k × n \mathbb R^{k\times n} R k × n ,即u i T x u_i^Tx u i T x 是降维后第i i i 维的结果
升维:取矩阵U k U_k U k 作为升维矩阵,U k ( U k T X ) = U k ( U k T U ) Σ V T = U k I k × m Σ V T = U k [ Σ k , 0 k × ( n − k ) ] V T = U k Σ k V k T = X k U_k(U_k^TX)=U_k(U_k^TU)\Sigma V^T=U_kI_{k\times m}\Sigma V^T=U_k [\Sigma_{k}, \textbf{0}_{k\times (n-k)}]V^T=U_k\Sigma_kV_k^T=X_k U k ( U k T X ) = U k ( U k T U ) Σ V T = U k I k × m Σ V T = U k [ Σ k , 0 k × ( n − k ) ] V T = U k Σ k V k T = X k .
所以这样的变换是成立的,即对X X T XX^T X X T 进行特征分解,取前k k k 大特征值对应的特征向量u 1 , ⋯ , u r u_1, \cdots, u_r u 1 , ⋯ , u r 作为降维的投影向量。
如果变换之前,先对X X X 减去各个特征均值,得到X ^ = X − μ m 1 1 × n \hat X=X-\mu_{m} \textbf 1_{1\times n} X ^ = X − μ m 1 1 × n ,即X ^ 1 n = 0 \hat X \textbf 1_{n}=0 X ^ 1 n = 0 ,再进行降维,这就是PCA ,注意X ^ X ^ T / ( m − 1 ) \hat X \hat X^T/(m-1) X ^ X ^ T / ( m − 1 ) 是特征间的协方差矩阵
应用:主方向/最小值方向问题
主方向问题:arg max b ∥ A b ∥ s . t . ∥ b ∥ = 1
\argmax_b \|Ab\| \qquad s.t. \quad \|b\|=1
b a r g m a x ∥ A b ∥ s . t . ∥ b ∥ = 1
最小值方向问题类似
根据限制,b b b 必须在单位圆上,问题变为找一个方向,对应变换后的椭圆长轴。
根据上述SVD分解,待求方向经过V T V^T V T 变换后,为坐标系主轴方向X = ( 1 , 0 , . . . , 0 ) X=(1, 0, ..., 0) X = ( 1 , 0 , . . . , 0 )
把它变回去,该方向为( V T ) − 1 X = V X (V^T)^{-1}X=VX ( V T ) − 1 X = V X ,即V V V 的第一列。
同理,最小值方向为V V V 的最后一列
应用:正交Procrustes问题
寻找正交矩阵Ω \Omega Ω ,使Ω ^ = arg min Ω ∥ Ω A − B ∥ F
\hat \Omega =\argmin_\Omega \left\|\Omega A-B \right\|_F
Ω ^ = Ω a r g m i n ∥ Ω A − B ∥ F
首先Ω ^ = arg min Ω t r [ ( Ω A − B ) T ( Ω A − B ) ] = arg max Ω t r [ Ω T B A T ]
\begin{aligned}
\hat \Omega &=\argmin_\Omega tr\left[(\Omega A-B)^T(\Omega A-B)\right] \\
&=\argmax_\Omega tr \left[\Omega^TBA^T\right]
\end{aligned}
Ω ^ = Ω a r g m i n t r [ ( Ω A − B ) T ( Ω A − B ) ] = Ω a r g m a x t r [ Ω T B A T ]
计算SVD分解B A T = U L V T BA^T=ULV^T B A T = U L V T ,则Ω ^ = arg max Ω t r [ Ω T U L V T ] = arg max Ω t r [ V T Ω T U L ]
\begin{aligned}
\hat \Omega &=\argmax_\Omega tr\left[\Omega^T ULV^T\right]\\
&= \argmax_\Omega tr\left[V^T\Omega^T UL\right]
\end{aligned}
Ω ^ = Ω a r g m a x t r [ Ω T U L V T ] = Ω a r g m a x t r [ V T Ω T U L ]
注意到t r [ V T Ω T U L ] = t r [ Z L ] = ∑ i = 1 I z i i l i i
tr \left[V^T\Omega^T UL \right] = tr \left[ZL \right] = \sum_{i=1}^I z_{ii}l_{ii}
t r [ V T Ω T U L ] = t r [ Z L ] = i = 1 ∑ I z i i l i i
其中Z = V T Ω T U Z=V^T\Omega^TU Z = V T Ω T U ,Z Z Z 是三个正交矩阵乘积,所以也正交,对角线上每个数值小于等于1,所以选择Z = I Z=I Z = I 来最大化上述目标,全局解为Ω ^ = U V T
\hat \Omega = UV^T
Ω ^ = U V T
本问题的一个特殊形式是给定方阵B B B ,寻找最接近的正交矩阵Ω \Omega Ω ,即最优化Ω ^ = arg min Ω ∥ Ω − B ∥ F
\hat \Omega=\argmin_\Omega \|\Omega - B\|_F
Ω ^ = Ω a r g m i n ∥ Ω − B ∥ F
用上述方法,得到解为Ω ^ = U V T \hat\Omega=UV^T Ω ^ = U V T ,其中B = U L V T B=ULV^T B = U L V T
左右逆和伪逆
左右逆
对于A ∈ R m × n A \in \mathbb R ^{m\times n} A ∈ R m × n
左逆: ( A T A ) − 1 A T ∈ R n × m (A^TA)^{-1}A^T \in \mathbb R^{n\times m} ( A T A ) − 1 A T ∈ R n × m ,这需要A T A A^TA A T A 可逆,也即r a n k [ A ] = n rank[A]=n r a n k [ A ] = n
右逆: A T ( A A T ) − 1 ∈ R n × m A^T(AA^T)^{-1} \in \mathbb R^{n\times m} A T ( A A T ) − 1 ∈ R n × m ,需要r a n k [ A T ] = r a n k [ A ] = m rank[A^T]=rank[A]=m r a n k [ A T ] = r a n k [ A ] = m
伪逆
考虑行空间和列空间,从行空间中拿元素x x x ,A x Ax A x 一定在列空间中。而且x x x 和A x Ax A x 能构成一一对应 ,两个空间维度相同。证明:
对于x 1 , x 2 ∈ C ( A T ) x_1,x_2 \in C(A^T) x 1 , x 2 ∈ C ( A T ) ,A x 1 ≠ A x 2 Ax_1\neq Ax_2 A x 1 = A x 2 ,否则A ( x 1 − x 2 ) = 0 A(x_1-x_2)=0 A ( x 1 − x 2 ) = 0 ,x 1 − x 2 x_1-x_2 x 1 − x 2 不可能在N ( A ) N(A) N ( A ) 当中,所以单射!
另外只取x ∈ C ( A T ) , A x x\in C(A^T), Ax x ∈ C ( A T ) , A x 就能张成列空间,证明:
对于x ′ ∈ R n x'\in \mathbb R^{n} x ′ ∈ R n ,A x ′ Ax' A x ′ 是表示各种列向量的组合情况,必然能张成列空间。另一方面,必有分解x ′ = x + x N x'=x+x_N x ′ = x + x N ,其中x ∈ C ( A T ) , x N ∈ N ( A ) x\in C(A^T),x_N \in N(A) x ∈ C ( A T ) , x N ∈ N ( A ) ,A x ′ = A x + A x N = A x Ax'=Ax+Ax_N=Ax A x ′ = A x + A x N = A x ,也即只需要A x Ax A x 就能张成列空间。满射!
所以双射,即一一对应成立。
此时限制在这两空间上的逆就是伪逆,即对于A x = y Ax=y A x = y ,伪逆A + A^+ A + 使x = A + y = ( A + A ) x x=A^{+}y=(A^+A)x x = A + y = ( A + A ) x
伪逆有很多求法,一种求法是SVD分解:A = U Σ V T A=U\Sigma V^T A = U Σ V T ,U , V U,V U , V 可逆, Σ + \Sigma^+ Σ + 对角线元素为1 / σ 1 , 1 / σ 2 , ⋯ , 1 / σ r , 0 , ⋯ , 0 1/\sigma_1, 1/\sigma_2, \cdots, 1/\sigma_r, 0, \cdots,0 1 / σ 1 , 1 / σ 2 , ⋯ , 1 / σ r , 0 , ⋯ , 0 ,其余元素为0,注意Σ ∈ R m × n , Σ + ∈ R n × m \Sigma \in \mathbb R^{m\times n},\Sigma^+ \in \mathbb R^{n\times m} Σ ∈ R m × n , Σ + ∈ R n × m ,A + = V Σ + U T A^+=V\Sigma^+ U^T A + = V Σ + U T
A V = U Σ = [ u 1 σ 1 , ⋯ , u r σ r , 0 , ⋯ , 0 ] AV=U\Sigma=[u_1\sigma_1, \cdots, u_r\sigma_r, 0,\cdots,0] A V = U Σ = [ u 1 σ 1 , ⋯ , u r σ r , 0 , ⋯ , 0 ] ,A A A 把v r + 1 , ⋯ , v n v_{r+1}, \cdots, v_n v r + 1 , ⋯ , v n 变换成0,这是必然的,因为v r + 1 , ⋯ , v n v_{r+1},\cdots,v_n v r + 1 , ⋯ , v n 是在N ( A ) N(A) N ( A ) 中。有趣的是A + U = V Σ + = [ v 1 / σ 1 , ⋯ , u r / σ r , 0 , ⋯ , 0 ] A^+U=V\Sigma^+=[v_1/\sigma_1, \cdots, u_r/\sigma_r, 0, \cdots, 0] A + U = V Σ + = [ v 1 / σ 1 , ⋯ , u r / σ r , 0 , ⋯ , 0 ] ,这说明A + A^+ A + 把u r + 1 , ⋯ , u m u_{r+1},\cdots,u_m u r + 1 , ⋯ , u m 变换为0,进一步说明:
性质1: A + A^+ A + 把N ( A T ) N(A^T) N ( A T ) 变换成0
应用:无需A T A A^TA A T A 可逆的最小二乘问题
对于A x = b Ax=b A x = b ,有最优解x ^ = ( A T A ) − 1 A T b \hat x = (A^TA)^{-1}A^Tb x ^ = ( A T A ) − 1 A T b ,这需要A T A A^TA A T A 可逆。用伪逆可以消除该限制 ,而且思考过程非常漂亮!
重新审视最小二乘问题,仍用投影的思路,但是换一个思考方式。记b = b C + b N b=b_C+b_N b = b C + b N ,其中b C ∈ C ( A ) , b N ∈ N ( A T ) b_C \in C(A), b_N \in N(A^T) b C ∈ C ( A ) , b N ∈ N ( A T ) ,根据投影,A x = b Ax=b A x = b 与A x = b C Ax=b_C A x = b C 同解。
如果取x = A + b C x=A^+b_C x = A + b C ,则A x = A A + b C Ax=AA^+b_C A x = A A + b C ,因为b C ∈ C ( A ) b_C \in C(A) b C ∈ C ( A ) ,所以A A + b C = b C AA^+b_C=b_C A A + b C = b C ,说明x = A + b C x=A^+b_C x = A + b C 是A x = b C Ax=b_C A x = b C 的解,也即A x = b Ax=b A x = b 的解。
根据性质1,A + b C = A + b A^+b_C=A^+b A + b C = A + b ,所以x = A + b = V Σ + U b x=A^+b=V\Sigma^+Ub x = A + b = V Σ + U b 是A x = b Ax=b A x = b 的一个最小二乘可行解
讨论:
如果A T A A^TA A T A 可逆,r a n k [ A ] = n rank[A]=n r a n k [ A ] = n 且m ⩾ n m\geqslant n m ⩾ n ,则x = A + b = ( A T A ) − 1 A T b x=A^+b=(A^TA)^{-1}A^Tb x = A + b = ( A T A ) − 1 A T b
此时A + = ( A T A ) − 1 A T A^+=(A^TA)^{-1}A^T A + = ( A T A ) − 1 A T ;进一步如果A A A 可逆,则A + = A − 1 A^+=A^{-1} A + = A − 1
如果A T A A^TA A T A 不可逆,则x = A + b x=A^+b x = A + b 是可行解中的一个,该解在C ( A T ) C(A^T) C ( A T ) 中
Factorizations分解方法汇总
A = C R 列/行向量无关 A = L U elimination,下上三角分解 A = Q R Gram-Schmitt, Q 正交 A = V Λ V − 1 一 般 特 征 分 解 S = Q Λ Q T S 对称, 特征分解, Q 正交 A = U Σ V T SVD A = Q S Polar Decomposition
\begin{aligned}
A=&CR &\qquad \text{ 列/行向量无关}\\
A=& LU&\qquad \text{ elimination,下上三角分解}\\
A=&QR &\qquad \text{Gram-Schmitt, $Q$正交} \\
A=&V\Lambda V^{-1} & 一般特征分解\\
S=&Q\Lambda Q^T & \qquad \text{$S$对称, 特征分解,$Q$正交} \\
A= &U\Sigma V^T &\qquad \text{SVD} \\
A = &QS &\qquad \text{Polar Decomposition}
\end{aligned}
A = A = A = A = S = A = A = C R L U Q R V Λ V − 1 Q Λ Q T U Σ V T Q S 列 / 行向量无关 elimination ,下上三角分解 Gram-Schmitt, Q 正交 一 般 特 征 分 解 S 对称 , 特征分解, Q 正交 SVD Polar Decomposition
A=LU的解释与高斯消元法
L U = [ l 1 , l 2 , ⋯ ] [ u 1 u 2 ⋮ ] = l 1 u 1 + l 2 u 2 + ⋯
LU=[l_1, l_2, \cdots]\begin{bmatrix} u_1\\ u_2 \\ \vdots \end{bmatrix} \\
=l_1u_1+l_2u_2+\cdots
L U = [ l 1 , l 2 , ⋯ ] ⎣ ⎢ ⎡ u 1 u 2 ⋮ ⎦ ⎥ ⎤ = l 1 u 1 + l 2 u 2 + ⋯ L L L 是单位 下三角矩阵(对角线为1)。l i u i l_iu_i l i u i 维度与A A A 同,可以看作是l 1 u 1 l_1u_1 l 1 u 1 剥离了A A A 的第一行第一列,……这样,l i u i l_i u_i l i u i 只需面对已经消除了i − 1 i-1 i − 1 行和i − 1 i-1 i − 1 列的矩阵,所以l i l_i l i 的前i − 1 i-1 i − 1 个元素都是0,u i u_i u i 同理。这样即实现了L U LU L U 分解.
当A的所有顺序主子式都不为0时,主元不为0,矩阵A A A 可以进行LU分解,且是唯一分解(摘自百度百科 )
上图也可以从高斯消元的角度看待,U U U 是消元结果,L L L 是初等矩阵的拼接
参考文献:
[1] MIT18.06 Linear Algebra
[2] MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning
[3] 3Blue1Brown 线性代数的本质
[4] Prince S J D. Computer vision: models, learning, and inference[M]. Cambridge University Press, 2012.
[5] Goodfellow I, Bengio Y, Courville A. Deep learning[M]. MIT press, 2016.
[6] Gonzales, Rafael C., and Richard E. Woods. Digital image processing[M]. Fourth Edition 2018.
[7] Bishop C . Pattern Recognition and Machine Learning[M] Stat Sci. 2006.
[8] 同济大学数学系. 线性代数第五版[M]. 高等教育出版社. 2007