Pseudo-Inverse (Moore-Penrose Pseudoinverse)
Moore-Penrose Pseudoinverse는 일반적인 행렬에서 정의되어 inverse matrix처럼 사용가능한 개념 으로,
inverse가 full rank square matrix에만 정의되는 것과 달리,
- square matrix가 아니거나
- rank deficient matrix라 inverse가 존재하지않는 경우에도 구할 수 있음.

Moore-Penrose Pseudoinverse는 주로 SVD를 이용하여 구해지며 다음과 같음:
A†=VΣ†U⊤
- A† 외에 A+로도 자주 표기됨.
- inverse처럼 사용가능한 일종의 inverse approximation 이라고 봐야함: right inverse와 left inverse를 적절히 선택해야함.
- Σ†는 singular value 들로 구성된 Σ에서
- 0이 아닌 singular value는 역수(reciprocal)를 취하고
- Transpose를 통해 얻어짐.
다음의 4개의 조건을 만족하는 A†가 Moore-Penrose Pseudoinverse Matrix임.
- AA†A=A
- A†AA†=A†
- (AA†)H=AA† : AA†는 Hermitian matrix 여야 함.
- (A†A)H=A†A : A†A는 Hermitian matrix 여야 함.
위의 4가지 조건을 만족하는 경우, A†는 항상 존재하며 유일함!
0. Pseudoinverse Matrix for Full Column Rank or Full Row Rank
square matrix 가 아닌 matrix Am×n가 만약 full column rank이거나 full row rank인 경우에는
inverse에 해당하는 matrix가 다음과 같이 구해짐:
A†n×m={(A⊤A)−1A⊤,A†A=In×nif m≥n(1)A⊤(AA⊤)−1,AA†=Im×mif m≤n(2)
- 사실 (1)의 경우는 엄밀히 쓰면 (AHA)−1AH임:
- A의 column vector들이 linearly independent한 경우 (full column rank)의
- Pseudoinverse Matrix임.
- left inverse matrix라고 불림: full column rank의 경우 left inverse와 Moore-Penrose Pseudo Inverse가 동일함.
- A†=VΣ†UT=(AHA)−1AH 가 성립하고,
- A†A=In이 됨.
- (2)의 경우도 엄밀히 쓰면 AH(AAH)−1임:
- A의 row vector들이 linearly independent한 경우 (full row rank)의
- Pseudoinverse Matrix임.
- right inverse matrix라고도 불림: full row rank의 경우 right inverse와 Moore-Penrose Pseudo Inverse가 동일함.
- A†=VΣ†UT=AH(AAH)−1 가 성립하고,
- AA†=Im×m
full row rank 또는 full column rank 일 때,
Normal Equation이 유일해를 가짐을 기억할 것.
AH는 A의 entry들에 complex conjugate를 시킨 후 transpose를 취한 것을 의미
참고 : Moore-Penrose Pseudoinverse Matrix가 가지는 성질은 다음과 같음.
- (A⊤)†=(A†)⊤
- (A∗)⊤=(A†)∗ : ∗는 complex conjugate를 의미함.
- (AH)†=(A†)H : H는 entry들에 complex conjugate를 시킨 후 transpose를 취한 것을 의미.
- (cA)†=A†c : c로 scalar multiple한 경우임.
- (A†)†=A
1. Left Inverse
주로 많이 사용되는 경우는 (1)의 경우로, Ax=b가 over-determined system에 대한 solution을 구하는 데 사용됨.
- 이는 Least Square 로 Solution의 approximation을 구하는 것에 해당
- 사실상 normal equation을 이용하여 solution이 없는 over-determeined system에서 가장 residual error가 적은 least square solution (or approximation of solution, 근사해) ˆx를 구하는 것과 같음
- Pseudoinverse는 full column rank가 아니더라도 적용이 가능함.
Least Square Solution ˆx은 다음을 가르킴.
(정의 상으로는 difference의 norm만을 최소화 시켜도 되지만, quadratic form을 사용하는게 훨씬 많이 사용됨)
Given an over-determined system Ax≃b where A∈Rm×n,b∈Rn, and m≫n, a least square solution ˆx is defined as
ˆx=arg min x‖b−Ax‖=arg min x‖b−Ax‖2
OLS의 normal equation과도 연관성이 깊으므로 다음 URL을 참고할 것.
Ordinary Least Squares : OLS, 최소자승법
Solution을 구할 수 없는 Over-determined system에서 solution의 근사치(approximation)을 구할 수 있게 해주는 방법임. Overtermined system은 linear system (연립방정식)에서 지나치게 식이 많아서 모든 식을 만족하는
dsaint31.tistory.com
2. Right Inverse
(2)의 경우는 Ax=b가 under-determined system이며,
이 경우의 pseudoinverse는 무수히 많이 존재하는 solution(해) 중에서 한 개의 solution (‖x‖가 최소인)을 찾게 해줌.
3. Singular Value Decomposition 과 Pseudoinverse ***
full column rank 나 full row rank가 아니더라도 Moore-Penroze Pseudoinverse는 구할 수 있음:
- SVD에서 singular value가 0은 Pseudoinverse를 구하는데 제외(더 나아가, 매우 작은 일정값 이하를 0으로 처리하여 제외)하는 reduced form을 이용하여 구함.
- 이 경우엔, A†A나 AA†가 Identity Matrix가 되지 않고, 거기에 근접한 matrix가 됨:
- A†A 은 A의 column space에 대한 orthogonal projection matrix임: column space 정보를 보존
- AA†은 A의 row space에 대한 orthogonal projection matrix임: row space 정보를 보존
- rank에 해당하는 갯수의 rank-1 outer product 들(=0이 아닌 singular value에 대응하는 것들)의 합이 바로 Pseudoinverse임: 즉, rank deficient의 경우, AA†와 A†A는 완벽한 Identity가 되진 못함.
- full column rank인 경우는 left inverse를 사용하고, full row rank인 경우 right inverse를 사용하나,
이 두 경우 모두 SVD 기반으로 구한 Pseudoinverse와 같음.
즉, A를 UΣV⊤ (복소수 고려시 UΣVH임)로 SVD를 하고 이를 통해 pseudoinverse를 구하는 게 일반적임: A†=VΣ†UT
다음은 full column rank에서 left inverse가 A†와 같아짐을 보임:
(A⊤A)−1A⊤=((UΣV⊤)⊤UΣV⊤)−1(UΣV⊤)⊤=((VΣ⊤U⊤)UΣV⊤)−1(UΣV⊤)⊤=(VΣ⊤ΣV⊤)−1(UΣV⊤)⊤=((V⊤)−1Σ†(Σ⊤)†V−1)(VΣ⊤U⊤)=(VΣ†(Σ⊤)†V⊤)(VΣ⊤U⊤)=VΣ†U⊤
where
- Σ†: singular value들의 diagonal matrix의 inverse 역할로 main diagonal에 있는 singular value들을 역수로만 바꾸고 (λii→1λii), transpose 시켜 얻어냄.
- U : orthonormal column으로 구성된 orthogonal m×m matrix. U−1=U⊤
- V : 역시 orthogonal matrix. n×n matrix임. V−1=V⊤
Right inverse도 결과는 같으며, 유도는 다음과 같음.
A⊤(AA⊤)−1=(UΣV⊤)⊤(AA⊤)−1=(VΣ⊤U⊤)(UΣV⊤VΣ⊤U⊤)−1=(VΣ⊤U⊤)(UΣΣ⊤U⊤)−1=(VΣ⊤U⊤)((U⊤)−1(ΣΣ⊤)−1U−1)=(VΣ⊤U⊤)(U(Σ⊤)†Σ†U⊤)=VΣ†U⊤
참고자료
https://youtu.be/vXk-o3PVUdU?si=urefRv3sG9rKefL8
https://youtu.be/oj49PMYuZKc?si=EA1NAnEvrk_AIlhh
https://youtu.be/9oJX8lAtRBE?si=_IupIGUSaQY_4S78
'... > Math' 카테고리의 다른 글
[Math] Taylor Expansion and Taylor Theorem (테일러 전개) (0) | 2023.02.27 |
---|---|
[Math] Sigmoid function (0) | 2022.12.28 |
[Math] ill-posed, well-posed, ill-conditioned, well-conditioned matrix (or problem) (0) | 2022.12.02 |
[LA] 예제: Eigenvalue, Eigenvector 구하기 (0) | 2022.12.01 |
[LA] Hermitian Matrix and Unitary Matrix (0) | 2022.11.25 |