원문: 1998, Colm Mucahy and John Rossi, A Fresh Approach to the Singular Value Decomposition
선행개념: 행렬, 대각행렬, 전치행렬, 역행렬, 직교행렬, 고윳값, 고유벡터, 대각화, 직교대각화.
목차
- 소개
- 복소수의 극형식과 행렬의 극분해(Polar Decomposition)
- 특이값 분해(Singular Value Decomposition)
- 의사 역행렬(Pseudo-inverse)
- Solving All Systems
항이 실수인 행렬만 다루며, 여기서는 4~5의 주제를 다룬다.
연결된 포스팅 링크: 1부(주제1,2), 2부(주제3), 3부(주제4,5)
이전 포스팅에서 다루었던 SVD를 이용하면 모든 행렬에 대해서 역행렬을 구할 수 있게 된다. 비가역이거나 정사각행렬이 아니어도 된다.
4. Pseudo inverses
원리는 간단하다. 모든 m×n 행렬 A에 대해 은 A=UDVT꼴로 나타낼 수 있고 행렬 U,V는 직교행렬이므로 역행렬이 존재하고 각각 U−1=UT,VT−1=V이 된다.(직교행렬의 정의)
행렬 D는 m×n 인 대각행렬이므로 D+을 n×m꼴로 0이 아닌 대각선의 항을 역수로 놓으면 DD−1=Im,D−1D=In (Ik는 k×k인 단위행렬)이 된다. 이상을 정리하면 다음과 같다.
Theorem. 모든 행렬은 가역이다.(역행렬이 존재한다.)
m×n 행렬 A에 대해 의사 역행렬(일반화된 역행렬, Pseudo Inverse)는 다음과 같이 정의된다.
A+=VD+UT
D+는 DT의 0이 아닌 항을 역수한 행렬이다.
의사역행렬(Pseudo-inverses)은 아래와 같은 성질을 만족한다.
- AA+=Im,A+A=In
- AA+,A+A 은 서로 대칭이다.
- AA+A=A
- A+AA+=A+
- (A+)+=A
- A+은 유일하게 결정된다.
예1. 가역행렬
A=[1221]
A=[1√21√21√2−1√2][3001][1√2−1√21√21√2]T
A−1=[1√2−1√21√21√2][13001][1√21√21√2−1√2]T=[−132323−13]
예2. 역행렬이 존재하지 않는 행렬
A=[−122−4]
A=[−1√52√52√51√5][5000][−1√52√52√51√5]T
A+=[−1√52√52√51√5][15000][−1√52√52√51√5]T=[−125225225−425]
예3. 정사각행렬이 아닌 경우
A=[11]
A=[11]=[1√21√21√2−1√2][√20][1]T
A+=[11]+=[1][1√20][1√21√21√2−1√2]T
5. Solving All Systems
Theorem. 모든 선형구조의 문제는 풀 수 있다.
Proof. 모든 선형구조는 선형방정식 Ax=b 의 꼴로 나타낼 수 있다. 행렬 A는 m×n 행렬이고 x 는 n개의 미지수로 이루어진 열벡터이다. 위의 정리에 의해 의사역행렬 A+이 존재해 w=A+b이 해가 됨을 알 수 있다.
엄밀히 말하면 정확하게 해가 존재하는 것은 아니다. 이런 형태의 해를 관찰하면 최소제곱법으로 구한 결과와 같음을 알 수 있다. 또한 SVD를 이용하면 충분히 작은 고윳값들을 버려 데이터의 차원을 축소할 수 있다. 공분산을 이용한 PCA방법과 정확히 일치하는데 SVD가 훨씬 연산에서 빠르다. 가능하다면 이 부분에 대해 추후 다른 포스팅에서 다뤄보도록 하겠다.
'수학 > 수학 논문 정리' 카테고리의 다른 글
Quaternion으로 E3 공간에서 회전 예시 (0) | 2020.11.15 |
---|---|
A Fresh Approach to the Singular Value Decomposition 두 번째 (0) | 2020.11.11 |
A Fresh Approach to the Singular Value Decomposition 첫 번째 (0) | 2020.11.11 |
Quaternions and Rotations in E4 두 번째 (0) | 2020.11.08 |
Quaternions and Rotations in E4 첫 번째 (2) | 2020.11.08 |