1. 개요[편집]
| 그라스만 다양체 Grassmann Manifold | |
|---|---|
| 정의 | $\mathbb R^n$ 의 $p$ 차원 부분공간 전체 |
| 몫 표현 | $\mathrm{Gr}(n,p) = \mathrm{St}(n,p)/O(p) = O(n)/\bigl(O(p)\times O(n{-}p)\bigr)$ |
| 차원 | $p(n-p)$ |
| 거리 | 주각 $\theta_i$ 로 전부 표현 — 측지 $\|\theta\|_2$ |
| 지수·로그 | SVD 로 닫힌 형태 |
| 쌍대성 | $\mathrm{Gr}(n,p) \cong \mathrm{Gr}(n,n-p)$ (직교여공간) |
| 단골 문제 | 부분공간 추적, 도메인 적응, 축소기저 보간, 부분공간 부호화 |
답이 부분공간이라면 미지수도 부분공간이어야 한다. 기저를 미지수로 두는 순간 자유도가 남고, 그 남는 자유도가 조용히 알고리즘을 망친다.
그라스만 다양체 는 안의 차원 선형 부분공간 전체가 이루는 컴팩트 다양체다. 헤르만 그라스만의 이름을 땄고, 스티펠 다양체를 열 방향 회전으로 나눈 몫공간
으로 보는 것이 수치적으로 가장 쓸모 있다. 차원 계산도 몫에서 바로 나온다: .
리만 다양체 문서가 측지선·지수사상·레트랙션의 일반론을, 스티펠 다양체 문서가 정규직교 프레임 쪽을 맡는다. 여기서는 그라스만 고유의 두 가지에 집중한다. 첫째, 점이 행렬이 아니다 — 표현은 기저지만 동일시해야 할 것은 그 동치류다. 둘째, 거리·지수·로그가 전부 주각(principal angle)과 특이값 분해 하나로 정리된다. 이 두 번째 사실 덕분에 그라스만은 이론이 예쁜 다양체 중 드물게 구현도 쉬운 다양체다.
2. 점이 행렬이 아니다[편집]
그라스만의 한 점 는 부분공간이다. 컴퓨터에 넣으려면 결국 정규직교기저 로 표현하는데, 와 () 는 같은 점이다. 즉 그라스만의 점은 라는 동치류이며, 우리가 손에 쥔 행렬은 그 대표원 하나일 뿐이다.
이 사소해 보이는 사실이 실무에서 세 가지로 나타난다.
- 성분별 비교는 무의미하다. 는 그라스만 위의 거리가 아니다. 기저를 다르게 뽑았을 뿐인 같은 부분공간 두 개가 이 값으로는 멀어 보인다. 부분공간 비교는 반드시 아래의 주각 기반 거리로 해야 한다.
- 방향으로 목적함수가 평평하다. 인 문제를 스티펠에서 풀면 최적해가 점이 아니라 -궤도 전체이고, 헤세가 그 방향으로 특이해진다. 뉴턴법·신뢰영역법이 조용히 망가지는 원인이 정확히 이것이다.
- 표현 불변인 양만 출력해야 한다. 결과로 내보낼 것은 사영행렬 , 주각, 부분공간에 사영한 데이터 같은 것들이지 자체가 아니다. 대표원 없는 좌표계가 없기 때문에 ” 의 부호가 실행마다 바뀐다”는 버그 리포트가 끊이지 않는다.1
몫이 아닌 다른 표현도 있다. 를 직교사영행렬 로 두면 표현이 유일해진다(, ). 이론적으로 깔끔하고 거리 정의에도 편하지만 을 들고 다녀야 해서, 이 큰 문제에서는 기저 표현이 이긴다. 그리고 직교여공간을 취하면 라는 쌍대성이 있어, 이면 여공간 쪽에서 계산하는 게 항상 싸다.
특수한 경우로 은 원점을 지나는 직선 전체, 즉 실사영공간 이다. 구면에서 대척점을 붙여 놓은 공간이라고 보면 된다.
3. 주각 — 부분공간 사이의 각도[편집]
두 부분공간이 얼마나 다른지는 주각(principal angle) 로 잰다. 정의는 재귀적이지만 계산은 SVD 한 방이다. 를 각각의 정규직교기저라 하면
즉 의 특이값이 주각의 코사인이다. 특이값은 자동으로 에 들어간다. 인 방향은 두 부분공간이 공유하는 방향이고, 는 완전히 직교하는 방향이다.
그리고 여기서 나오는 가 주벡터를 준다 — 와 의 번째 열이 서로 만큼 벌어진 짝이다. 부분공간의 “정렬”이 직교 프로크루스테스 문제와 같은 SVD로 풀린다는 것이 우연이 아니다.
거리는 주각의 함수로 여러 개가 있고, 어느 것을 쓸지가 실무 선택이다.
| 이름 | 정의 | 성질 |
|---|---|---|
| 측지(아크) | 리만 계량이 주는 진짜 거리. 지름은 | |
| 코달(chordal) | 사영행렬의 유클리드 거리와 상수배 | |
| 사영 F-노름 | 코달의 배 | |
| 프로크루스테스 | ||
| 최대 주각 | 섭동론·고유공간 오차 상한의 단골 |
측지 거리만 리만 계량에서 오는 것이고 나머지는 “그럴듯한 거리”들이다. 그런데 실무에서는 오히려 코달 쪽이 더 자주 쓰인다 — 제곱 거리가 다항식이라 미분이 쉽고, 평균이 닫힌 형태로 나오며(프레셰 평균 참조), 작은 각에서 수치적으로 안정하기 때문이다. 모두 작은 에서는 서로 1차까지 일치하므로 “가까운 부분공간들”만 다룰 때는 아무거나 써도 결과가 비슷하다.
수치적으로 반드시 알아야 할 함정. 를 그대로 쓰면 작은 각에서 정확도가 완전히 망가진다. 가 1 근처일 때 의 미분이 발산하므로, 배정도에서 계산해도 의 상대오차가 수준까지 밀린다. 뵈르크와 골루브(1973)가 이 문제를 지적했고, 처방은 작은 각은 코사인이 아니라 사인으로 재는 것이다.
즉 를 의 직교여공간으로 사영한 뒤 특이값을 본다. 크냐제프와 아르젠타티(2002)의 알고리즘이 두 공식을 각도 크기에 따라 갈아 끼우는 방식으로 전 구간 정확도를 확보한다. “부분공간 거리가 밑으로 안 내려간다”는 증상은 십중팔구 를 그대로 쓴 탓이다.
4. 접공간·지수·로그[편집]
대표원 를 하나 고정하면 접공간은 수평공간으로 잡는다.
차원이 로 맞는다. 스티펠 다양체 접공간의 두 조각 중 조각만 남긴 것 — 부분공간을 실제로 움직이는 방향만 남기고 프레임 회전은 몫으로 버린 것이다. 사영은 로 끝난다.
여기서 스티펠과의 결정적 차이가 나온다. 스티펠에서는 매장 계량과 정준 계량의 측지선이 서로 달랐는데, 수평공간에서는 이라 정준 계량의 항이 통째로 사라진다.
즉 그라스만에는 계량 논쟁이 없다. 두 계량이 같은 것을 준다. 그라스만 코드가 스티펠 코드보다 짧고 논문마다 결과가 재현되는 이유의 절반이 이것이다.
지수사상과 로그사상은 SVD로 닫힌 형태다(에델만·아리아스·스미스 1998). 접벡터 의 얇은 SVD 를 라 하면
이고, 로그는 로 두었을 때
가 정확히 주각 이므로, 로 측지 거리와 정확히 맞아떨어진다. 계산은 두 경우 모두 이라 저렴하고, 지수사상이 이렇게 싼 다양체에서는 굳이 근사 레트랙션을 쓸 이유가 별로 없다.2
곡률은 음이 아니고 위로 유계다. 컴팩트하고 지름이 유한하며 양의 곡률이 있다는 뜻이라, 뒤에 나올 부분공간 평균의 유일성이 공짜가 아니다 — 이 문제는 프레셰 평균 문서에서 다룬다.
5. 응용[편집]
부분공간 추적. 스트리밍 데이터에서 신호가 사는 저차원 부분공간이 서서히 움직일 때, 매번 특이값 분해를 다시 하는 대신 그라스만 위에서 한 스텝씩 갱신한다. 대표가 GROUSE(Balzano·Nowak·Recht 2010)로, 관측이 심하게 결측된 상황에서도 한 샘플마다 계수 1(rank-1) 갱신으로 부분공간을 따라간다. 각 스텝이 라 온라인으로 돌아가고, 손실을 쓰는 GRASTA는 이상치에도 견딘다. 배경/전경 분리, 어레이 신호처리, 결측 행렬 완성이 전형적 무대다.
축소차수 모델의 기저 보간. 적합직교분해로 뽑은 POD 기저는 파라미터(마하수, 받음각, 물성치)마다 다르게 나온다. 새 파라미터에서 쓸 기저를 얻겠다고 POD 기저를 성분별로 보간하면 정규직교성이 깨지고 물리적으로도 말이 안 되는 물건이 나온다. 암살렘과 파르하(2008)의 처방이 정론이다: 기준점 에서 각 기저의 로그를 취해 접공간(선형공간!)으로 보낸 뒤, 거기서 평범하게 보간하고, 지수사상으로 다양체 위로 되돌린다.
로그 → 선형연산 → 지수라는 이 3단 구조는 다양체 위 데이터 처리의 만능 패턴이고, 회귀·필터링·주성분분석에도 그대로 재활용된다. 공탄성 해석에서 파라미터별 축소모델을 실시간으로 만들어 내는 데 실제로 쓰인다.
도메인 적응. 소스 도메인과 타깃 도메인의 주성분 분석 부분공간을 그라스만 위의 두 점으로 보고, 둘을 잇는 측지선 위를 훑으며 얻은 무한히 많은 중간 부분공간에 데이터를 사영한다. 그 무한 적분이 닫힌 형태의 커널로 정리된다는 것이 측지흐름 커널(Gong 등 2012)의 요점이다. “도메인 사이의 연속적 변화”를 명시적 모델 없이 기하로 표현한 드문 성공 사례라 도메인 적응 교과서에 남았다.
부분공간 부호화와 패킹. ” 위에 개의 점을 서로 최대한 멀게 뿌려라”는 그라스만 패킹 문제는 구면 패킹의 부분공간판이다. 다중안테나 통신에서 제한된 비트로 빔포밍 방향을 되먹임할 때 코드북이 정확히 이 패킹이고, 랭킨 한계 같은 고전적 상계가 여기서 나온다. 네트워크 부호화의 부분공간 부호(코터-크시샹 2008)도 유한체 위의 그라스만이다.
군집화·평균. 여러 부분공간의 “대표 부분공간”을 구하는 문제는 그라스만 위의 프레셰 평균이고, 거기에 k-평균 군집화를 얹으면 부분공간 군집화가 된다. 코달 거리를 쓰면 평균이 의 상위 고유공간이라는 닫힌 형태로 나와서, 측지 거리를 고집하지 않는 한 반복이 필요 없다.
6. 스티펠이냐 그라스만이냐[편집]
정리하면 판정은 한 줄이다. 목적함수가 를 모든 에 대해 만족하면 그라스만, 아니면 스티펠.
| 문제 | 무대 | 이유 |
|---|---|---|
| 그라스만 | 트레이스가 회전 불변 | |
| PCA·POD 부분공간 추정 | 그라스만 | 성분 순서가 결과에 무관할 때 |
| 프로크루스테스, ICA | 스티펠 | 프레임 자체가 답 |
| 축소기저 보간 | 그라스만 | 기저가 아니라 공간을 잇는 것 |
| 결합 대각화 | 스티펠 | 회전이 목적함수를 바꿈 |
그라스만 문제를 스티펠에서 푸는 것은 틀린 답을 주지는 않지만 헤세가 특이해져 2차 수렴을 잃고, 여러 번 돌리면 매번 다른 기저가 나와 재현성이 깨진다. 반대로 스티펠 문제를 그라스만에서 풀면 그냥 틀린다. 무대 선택은 취향이 아니다.
7. 관련 문서[편집]
- 리만 다양체 · 스티펠 다양체 · 프레셰 평균 · 직교 프로크루스테스 문제
- 특이값 분해 · QR 분해 · 주성분 분석 · 적합직교분해
- 고유값 문제 · 레일리 몫 · 조건수 · 란초스 알고리즘
- 경사하강법 · 신뢰 영역 방법 · k-평균 군집화
- 도메인 적응 · 차원 축소 · 저랭크 근사
8. Footnotes[편집]
-
SVD 기반 코드에서 “부호가 실행마다 바뀐다”고 버그 리포트를 받으면 대개 그 코드의 출력이 부분공간이어야 하는데 기저를 내보내고 있는 것이다. LAPACK 이 특이벡터 부호를 정하는 규약이 없기 때문인데, 라이브러리 잘못이 아니라 애초에 부호가 정보가 아니었던 게 맞다. 정 부호를 고정하고 싶으면 “각 열의 절댓값 최대 성분을 양수로” 같은 규칙을 스스로 정하는 수밖에 없다. ↩
-
그럼에도 굳이 레트랙션을 쓰고 싶다면 의 QR 을 취하면 된다. 그라스만에서는 이게 1차 레트랙션이고 구현이 세 줄이다. 다만 인 지수사상보다 절약되는 건 상수배뿐이라, ” 이 싫어서” 말고는 이유를 찾기 어렵다. ↩