1. 개요
| 무어-펜로즈 유사역행렬 Moore–Penrose pseudoinverse | |
|---|---|
| 기호 | A+ (m×n 행렬 A 에 대해 n×m) |
| 정의 | 펜로즈의 네 조건을 만족하는 유일한 행렬 |
| 계산 | A+ = VΣ+UT (특이값 분해) |
| 의미 | 최소자승 해 가운데 노름이 가장 작은 해 |
| 역사 | 무어(1920), 비에르하마르(1951), 펜로즈(1955) |
| 함정 | 랭크가 바뀌는 곳에서 불연속 |
무어-펜로즈 유사역행렬(Moore–Penrose pseudoinverse) 는 정사각이 아니거나 특이한 행렬 에 대해, 아래 네 조건을 동시에 만족하는 유일한 행렬이다. 역행렬이 있으면 그 역행렬과 같고, 없으면 「역행렬이 할 수 있는 일 가운데 최대한」을 한다.
특이값 분해 문서가 공식과 네 조건의 수치 검산을 이미 담았고, 최소자승법이 그것으로 최소노름 해를 얻는 법을 적었다. 여기서는 그 공식이 왜 그것 하나뿐인지(유일성), 무엇을 최소화하는지(두 단계 최적성), 그리고 어디서 깨지는지(불연속과 곱의 법칙 실패)를 판다. 실무에서 유사역행렬 사고는 대부분 마지막 부분에서 난다.
2. 네 조건 — 공리로 정의하기
펜로즈(1955)는 를 다음 네 등식으로 정의했다.
(복소 행렬이면 전치 대신 켤레전치.) 각 조건의 뜻은 이렇다.
- (1)은 가 의 일반화 역(generalized inverse)이라는 것. 이것 하나만 만족하는 행렬은 무수히 많다.
- (2)는 가 쓸데없이 크지 않다는 것(반사적, reflexive).
- (3)·(4)는 와 가 직교 사영이라는 것. 이게 「가장 짧은 해」를 고르는 조건이다.
조건을 일부만 요구하면 다른 역이 나온다. (1)만이면 {1}-역, (1)(3)이면 최소자승 역, (1)(4)면 최소노름 역 — 네 개를 다 요구할 때만 하나로 정해진다.
2.1. 유일성 증명
, 가 둘 다 네 조건을 만족한다고 하자. 조건만 차례로 써서
이고, 대칭적으로
따라서 . 존재는 SVD가 보인다 — 를 넣으면 네 조건이 그냥 성립한다. 존재는 SVD로, 유일성은 대수 몇 줄로 끝나는 깔끔한 구조다1.
3. 무엇을 최소화하나 — 두 단계 최적성
가 해가 없거나(과결정) 너무 많을 때(부족결정), 는 다음 두 단계 문제의 답이다.
- 먼저 잔차 를 최소화하는 들의 집합을 구한다(이건 아핀 부분공간 — 특정 해 + 영공간).
- 그 가운데 가 가장 작은 하나를 고른다.
조건 (3)이 1단계를, (4)가 2단계를 맡는다. 는 의 열공간으로의 직교 사영이라 를 열공간에 가장 가까운 점으로 보내고, 는 행공간으로의 직교 사영이라 해에서 영공간 성분을 지운다.
검산. 랭크 3인 무작위 행렬에서 와, 거기에 영공간 벡터 를 더한 를 비교했다. 잔차는 둘 다 1.2494로 소수 15자리까지 같고, 노름은 1.0213 대 1.0645 로 가 작다. 영공간 방향으로는 아무리 움직여도 잔차가 그대로라 「가장 짧은 것」이라는 두 번째 기준이 있어야 답이 하나로 정해진다. 네 조건의 잔차는 수준이었다.
랭크가 꽉 찬 특수한 경우에는 닫힌 공식이 있다.
앞의 것이 바로 정규방정식이다. 그러나 는 조건수를 제곱하므로, 계산은 이 공식이 아니라 QR 분해나 SVD로 한다.
4. 티호노프 극한 — 정칙화와의 관계
랭크와 상관없이 성립하는 극한 표현이 있다.
괄호 안이 티호노프 정규화(=능형회귀)의 해 연산자다. SVD 좌표로 쓰면 각 특이값에 필터 인자 가 곱해지는데, 이면 인 것은 로, 인 것은 0으로 간다. 즉 유사역행렬은 정칙화 강도를 0으로 보낸 끝점이고, 그 끝점에서 작은 특이값 에 가 그대로 곱해진다. 이게 다음 절의 문제다.
5. 어디서 깨지나 ① — 불연속
역행렬은 가역 행렬 근처에서 연속이다. 유사역행렬은 랭크가 바뀌는 곳에서 불연속이다. 가장 단순한 예:
실제로 는 에서 10, 에서 , 에서 0 이다. 으로 갈수록 폭발하다가 정확히 0에서 갑자기 사라진다. 그래서 부동소수점에서 「 가 진짜 0인가, 반올림 잡음인가」를 판정하는 절단 임계값이 결과 전체를 정한다. 특이값 분해 문서의 검산이 을 역수 취하면 답이 쓰레기가 된다고 적은 그 이야기다.
라이브러리는 이 임계값을 기본값으로 숨겨 둔다. MATLAB pinv 는 max(size(A))*eps(norm(A)) 를 쓰고, 다른 라이브러리는 다른 규칙을 쓴다. 측정 잡음이 있는 문제라면 기계 정밀도 기준 임계값은 너무 작다 — 잡음 수준에 맞춰 직접 자르는 것이 절단 특이값 분해이고, 그게 정석이다.
로봇공학의 실제 사고. 여유 자유도 매니퓰레이터의 역기구학은 관절 속도를 로 구한다. 팔이 특이 자세(쭉 펴짐 등)에 다가가면 의 최소 특이값이 0으로 가고 의 해당 성분이 폭발해 관절 속도가 튄다. 표준 처방은 감쇠 최소자승(damped least squares) — 위의 티호노프 형태를 으로 멈춰 쓰는 것이다. 유사역행렬의 극한을 일부러 다 가지 않는 셈이다2.
6. 어디서 깨지나 ② — 곱의 법칙
역행렬은 이지만 유사역행렬은 일반적으로 아니다.
이라 그 유사역은 1인데, , 이라 곱이 다. 등식은 가 열 랭크 완전이고 가 행 랭크 완전일 때처럼 특정 조건에서만 성립한다. 블록 연산·연쇄 변환에서 유사역을 「역행렬처럼」 뒤집어 붙이면 조용히 틀린다. 반면 , , () 는 늘 성립한다.
7. 계산법과 역사
- SVD — 표준. 비용 . 임계값 선택이 명시적이라 가장 안전하다.
- 열 피벗 QR — 수치 랭크를 판정하고 기본해를 구하는 데는 싸다. 단 최소노름 해까지 얻으려면 완전 직교 분해(complete orthogonal decomposition)로 한 단계 더 가야 한다(열 피벗 QR).
- 그레빌의 열 추가 공식(Greville, 1960) — 열을 하나씩 붙이며 를 갱신한다. 이론적으로 우아하지만 수치적으로 불안정할 수 있어 지금은 주로 교육용이다.
- 반복법 — 대형 희소 문제는 를 만들지 않고 LSQR·CGLS 같은 크리로프 부분공간법으로 만 구한다. 영벡터에서 시작하면 반복이 행공간 안에 머물러 최소노름 해로 간다.
를 명시적으로 만들지 마라는 역행렬과 똑같은 규칙이 여기도 적용된다. 필요한 건 대개 지 자체가 아니다.
역사적으로 무어(E. H. Moore)가 1920년 학회 초록에서 「일반 역수」를 먼저 정의했지만 독특한 표기 탓에 널리 읽히지 않았고, 비에르하마르(Bjerhammar, 1951)가 측지학 맥락에서, 펜로즈(1955)가 네 조건 공리로 독립적으로 재발견했다. 이름에 두 사람이 붙은 건 그래서다3.
8. 관련 문서
- 특이값 분해 · 최소자승법 · QR 분해 · 열 피벗 QR
- 절단 특이값 분해 · 티호노프 정규화 · 능형회귀 · 조건수
- 크리로프 부분공간법 · 저랭크 근사 · 슈어 보수 · 역문제
- 드레이진 역행렬
9. Footnotes
이 문서의 주요 출처
- Penrose (1955), A generalized inverse for matrices, Proc. Cambridge Philos. Soc. 51(3), 406-413
- Ben-Israel & Greville (2003), Generalized Inverses: Theory and Applications, 2nd ed., Springer
- Greville (1960), Some applications of the pseudoinverse of a matrix, SIAM Review 2(1), 15-22
- Golub & Van Loan (2013), Matrix Computations, 4th ed., Johns Hopkins University Press
- MATLAB pinv 문서 — 기본 허용오차 max(size(A))*eps(norm(A))
의견을 반영할게요. 감사합니다.