HomeBlogTopicsPublish
  • rss

  • contact

© 2025 MIT Licensed

Topics→Machine Learning→Linear 3

Machine Learning

Fundamentals
Decision TreeBackpropagationLinear 1Linear 2Linear 3Linear DualLinear IntroML Numerical MethodsNaive SolveLagrangian Conditions under Equality ConstraintsLagrangian Conditions under Inequality ConstraintsSupport Vector Machine 1Support Vector Machine 2Support Vector Machine 3Convex
Deep Learning Acceleration
Paper DartsPaper MobileNetsPaper ShuffleNetPaper HashingTricksPaper ShuffleNetV2Neural Architecture Search MilestonePyTorch Training Acceleration
Computer Vision
Paper RobotPaper InceptionV4Dataset Cityscapes
Reinforcement Learning
Paper Deep Q-Network

Linear 3

August 31, 2017

by Frank

这里所介绍的伪逆是**Moore-Penrose 逆矩阵**,其定义为:给定矩阵,如果矩阵满足,且存在两个矩阵使得

矩阵的伪逆

这里所介绍的伪逆是Moore-Penrose 逆矩阵,其定义为:给定矩阵A∈Rm∗nA\in R^{m*n}A∈Rm∗n,如果矩阵A†∈Rn∗mA^{\dagger}\in R^{n*m}A†∈Rn∗m满足AA†A=AAA^{\dagger}A=AAA†A=A,且存在两个矩阵U∈Rn∗n,V∈Rm∗mU\in R^{n*n},V\in R^{m*m}U∈Rn∗n,V∈Rm∗m使得

A†=UAT,A†=ATVA^{\dagger}=UA^{T},A^{\dagger}=A^{T}VA†=UAT,A†=ATV

那么则称A†A^{\dagger}A†是矩阵AAA的伪逆,可以通过证明得到,矩阵的伪逆是唯一的。

对于矩阵A∈Rm∗n,m≥nA\in R^{m*n},m\ge nA∈Rm∗n,m≥n且rank(A)=nrank(A)=nrank(A)=n,可以根据以上定义验证得到AAA的伪逆为

A†=(ATA)−1ATA^{\dagger}=(A^{T}A)^{-1}A^{T}A†=(ATA)−1AT

对于矩阵A∈Rm∗n,m≤nA\in R^{m*n},m\le nA∈Rm∗n,m≤n且rank(A)=mrank(A)=mrank(A)=m,同样根据以上定义验证得到AAA的伪逆为

A†=AT(AAT)−1A^{\dagger}=A^{T}(AA^{T})^{-1}A†=AT(AAT)−1

以上两种情况是当矩阵为列满秩或者行满秩情况下的伪逆,而对于一般矩阵A∈Rm∗n,rank(A)=r,r≤min(m,n)A\in R^{m*n},rank(A)=r,r\le min(m,n)A∈Rm∗n,rank(A)=r,r≤min(m,n),我们可以采用满秩分解的方法来求得其伪逆。

对于任意矩阵A∈Rm∗n,rank(A)=r,r≤min(m,n)A\in R^{m*n},rank(A)=r,r\le min(m,n)A∈Rm∗n,rank(A)=r,r≤min(m,n),都可以将其分解为一个行满秩矩阵和列满秩矩阵的乘积: 即A=BC,B∈Rm∗r,c∈Rr∗n,rank(A)=rank(B)=rank(C)=rA=BC,B\in R^{m*r},c\in R^{r*n},rank(A)=rank(B)=rank(C)=rA=BC,B∈Rm∗r,c∈Rr∗n,rank(A)=rank(B)=rank(C)=r

可以通过证明得到: A†=C†B†A^{\dagger}=C^{\dagger}B^{\dagger}A†=C†B†,而其中B†=(BTB)−1BT,C†=CT(CCT)−1B^{\dagger}=(B^{T}B)^{-1}B^{T},C^{\dagger}=C^{T}(CC^{T})^{-1}B†=(BTB)−1BT,C†=CT(CCT)−1,即为一般矩阵的伪逆求法。

一般情况下线性方程组的解法

某线性方程组为Ax=b,A∈Rm∗n,rank(A)=rAx=b,A\in R^{m*n},rank(A)=rAx=b,A∈Rm∗n,rank(A)=r,向量x∗=A†bx^{*}=A^{\dagger}bx∗=A†b可在空间RnR^{n}Rn中最小化∣∣Ax−b∣∣2||Ax-b||^{2}∣∣Ax−b∣∣2;而且在RnR^{n}Rn中所有能够最小化∣∣Ax−b∣∣2||Ax-b||^{2}∣∣Ax−b∣∣2的向量中,向量x∗=A†bx^{*}=A^{\dagger}bx∗=A†b的范数最小,并且是唯一的。

当r=mr=mr=m时,AAA是行满秩矩阵,此时x∗=A†b=AT(AAT)−1bx^{*}=A^{\dagger}b=A^{T}(AA^{T})^{-1}bx∗=A†b=AT(AAT)−1b,即为方程组Ax=bAx=bAx=b的最小范数解。

当r=nr=nr=n时,AAA是列满秩矩阵,此时x∗=A†b=(ATA)−1ATbx^{*}=A^{\dagger}b=(A^{T}A)^{-1}A^{T}bx∗=A†b=(ATA)−1ATb,即为方程组Ax=bAx=bAx=b的最小二乘解。

←Previous: Linear 2Next: Linear Dual→

Comments