맨위로가기

특잇값 분해

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

특잇값 분해(SVD)는 실수 또는 복소수 행렬을 세 개의 행렬 곱으로 분해하는 방법이다. 이는 m × n 행렬 M을 UΣV* 형태로 나타내며, 여기서 U는 m × m 유니터리 행렬, Σ는 m × n 대각 행렬(대각선 외 원소는 0), V*는 V의 켤레 전치인 n × n 유니터리 행렬이다. Σ의 대각 성분은 특잇값이며, U와 V의 열은 각각 좌측 및 우측 특이 벡터를 나타낸다. SVD는 임의의 직사각 행렬에 적용 가능하며, 행렬의 기하학적 변환, 유사역행렬 계산, 낮은 랭크 행렬 근사, 분리 가능한 모델 분석 등 다양한 분야에 활용된다. 또한, 얇은 SVD, 컴팩트 SVD, 잘린 SVD와 같은 축소된 형태로 계산될 수 있으며, Ky Fan 노름, 힐베르트-슈미트 노름과 같은 행렬 노름과 관련이 있다. 야코비 방법과 수치적 접근 방식을 통해 계산할 수 있으며, 신호 처리, 영상 처리, 빅데이터, 자연어 처리, 수치 일기 예보 등 광범위한 응용 분야에서 활용된다.

더 읽어볼만한 페이지

  • 행렬 분해 - QR 분해
    QR 분해는 행렬을 직교 행렬과 상삼각 행렬의 곱으로 분해하는 방법으로, 실수 또는 복소수 행렬을 직교/유니터리 행렬 Q와 상삼각 행렬 R의 곱으로 표현하여 선형대수학의 계산 및 분석에 활용되며, 그람-슈미트 과정, 하우스홀더 변환, 기븐스 회전 등 다양한 계산 방법이 존재한다.
  • 행렬 분해 - 조르당 표준형
    조르당 표준형은 대수적으로 닫힌 체 위에서 정사각 행렬을 유사 변환하여 얻을 수 있는 특정한 형태의 행렬로, 조르당 블록으로 구성되며 고윳값, 중복도, 특성/최소 다항식과 관련 있고, 스펙트럼 사영 정리, 케일리-해밀턴 정리 등 다양한 정리 증명과 행렬 계산에 응용된다.
  • 행렬론 - 행렬식
    행렬식은 정사각 행렬에 대해 정의되는 값으로, 선형 방정식의 해를 구하고 선형 독립성을 확인하며 기저의 방향과 부피를 계산하는 데 사용되며, 가우스 소거법 등의 계산 기법과 가역성 판단, 고유값 연관성 등의 성질을 갖는다.
  • 행렬론 - 행렬 분해
    행렬 분해는 주어진 행렬을 특정 성질을 갖는 여러 행렬의 곱으로 표현하는 방법으로, 수치 해석에서 행렬 알고리즘 구현 및 선형 연립 방정식 해를 구하거나 행렬 특성 분석에 활용되며 LU 분해, QR 분해, 특잇값 분해 등이 있다.
  • 수치선형대수학 - 가우스 소거법
    가우스 소거법은 연립 일차 방정식의 해를 구하기 위해 행렬을 사다리꼴로 변환하는 알고리즘이며, 기본 행 연산을 통해 전진 소거와 후퇴 대입 단계를 거쳐 해를 계산하고, 행렬식 계산 등 다양한 분야에 응용된다.
  • 수치선형대수학 - LINPACK
    LINPACK은 부동소수점 연산 성능을 평가하는 벤치마크 프로그램이자 FORTRAN 라이브러리로, 슈퍼컴퓨터 성능 측정 기준으로 사용되는 HPLinpack 벤치마크의 기반이 되었으며, TOP500 목록에서 고성능 컴퓨터 순위를 결정하는 데 기여한다.
특잇값 분해
개요
유형행렬 분해
분야선형대수학
표기M = UΣV⁎
설명m × n 실수 또는 복소수 행렬 M을 특이 벡터를 열로 가지는 유니타리 행렬 U, 특이값을 대각 원소로 가지는 직사각 대각 행렬 Σ, 그리고 V⁎로 분해하는 것
행렬
M분해할 m × n 행렬
Um × m 유니타리 행렬
Σm × n 직사각 대각 행렬 (특이값)
Vn × n 유니타리 행렬
V⁎V의 켤레 전치 행렬
활용
응용 분야데이터 분석
신호 처리
영상 처리
기계 학습

2. 정의

실수복소수로 이루어진 ''K''의 원소로 구성되는 ''m'' × ''n'' 행렬 ''M''에 대해, ''M''은 다음과 같은 세 행렬의 곱으로 분해할 수 있다.

:M = U\Sigma V^*\!

여기에서 각 행렬은 다음과 같은 성질을 가진다.


  • U는 ''m'' × ''m'' 크기를 가지는 유니터리 행렬이다.
  • \Sigma는 ''m'' × ''n'' 크기를 가지며, 대각선상에 있는 원소의 값은 음수가 아니며 나머지 원소의 값이 모두 0인 대각행렬이다.
  • V^{*}는 ''V''의 켤레전치 행렬로, ''n'' × ''n'' 유니터리 행렬이다.


행렬 ''M''을 이와 같은 세 행렬의 곱으로 나타내는 것을 ''M''의 특잇값 분해라고 한다.

일반적으로 Σ 행렬은 더 큰 값이 먼저 나오도록, 즉 (\Sigma)_{i,i} \ge (\Sigma)_{i+1, i+1}이 되도록 구하며, 이렇게 할 경우 Σ는 ''M''에 따라 유일하게 결정된다.

계수 ''r''의 ''m''행 ''n''열 행렬 ''M''의 요소는 ''K''(실수체 '''''R''''' 또는 복소수체 '''''C'''''')의 원이다. 이때, 다음과 같은 ''M''의 분해가 존재한다[34][35].

:M = U\Sigma V^*

여기서 ''U''는 ''m''행 ''m''열의 유니타리 행렬, V^*는 ''n''행 ''n''열의 유니타리 행렬 ''V''의 수반 행렬(켤레 전치 행렬)이다. 또한 반정부호 행렬 MM^* (또는 M^*M)의 양의 고유값의 제곱근 \sigma_1 \ge \dots \ge \sigma_r > 0가 존재하여, q = min(m, n), \sigma_{r+1} = \dots = \sigma_q = 0라고 하면, ''m''행 ''n''열의 행렬 Σ는 다음 형태가 된다.

:\Sigma = \begin{cases}

\begin{bmatrix}

\Delta &O

\end{bmatrix}

&(m
\Delta

&(m=n) \\

\begin{bmatrix}

\Delta \\

O

\end{bmatrix}

&(m>n)

\end{cases} \quad \text{where } \Delta = \operatorname{diag}(\sigma_1, \sigma_2, \dotsc, \sigma_q)

여기서 Δ는 \sigma_1, \dots, \sigma_q를 대각 성분으로 하는 ''q''차 대각 행렬, 부분 행렬 ''O''는 영 행렬이다. 이 분해를 '''특잇값 분해''', \sigma_1, \dots, \sigma_q를 행렬 ''M''의 '''특잇값'''이라고 부른다[34][35].

입력 정보를 ''n''차 열 벡터 '''v'''로 나타내고, 출력으로 ''M'''v'''를 얻는 모델을 생각하면, 행렬 ''M''의 특잇값 분해에 의해 얻어지는 유니타리 행렬과 특잇값에 대해 다음과 같은 해석을 할 수 있다.

  • 행렬 ''V''의 각 열은 ''M''의 ''입력'' 공간의 정규 직교 기저를 나타낸다.
  • 행렬 ''U''의 각 열은 ''M''의 ''출력'' 공간의 정규 직교 기저를 나타낸다.
  • 특잇값은 ''증폭율''을 나타내며, 입력 성분이 각각 몇 배로 증폭되어 출력되는지를 나타낸다.


Σ의 대각 성분의 순서는 자유롭지만, 응용상 취급을 간단하게 하기 위해 내림차순으로 정렬하는 경우가 많다. 이렇게 하면, ''U''와 ''V''는 유일하게 결정되지 않지만, Σ는 유일하게 결정된다.

3. 역사

에우제니오 벨트라미카미유 조르당은 1873년과 1874년에 각각 독립적으로, 행렬로 표현되는 쌍선형 형식의 특잇값이 직교 치환 하에서 쌍선형 형식에 대한 완전 불변 집합의 불변량을 형성한다는 것을 발견했다. 제임스 조지프 실베스터는 1889년에 벨트라미와 조르당과는 별개로 실수 정사각 행렬에 대한 특잇값 분해에 도달했다.[29] 레옹 오톤은 1915년에 극분해를 통해 특잇값 분해를 발견했다. 1936년 칼 에카르트와 게일 J. 영은 직사각 행렬 및 복소 행렬에 대한 특잇값 분해의 첫 번째 증명을 제시했다.

1907년 에르하르트 슈미트는 적분 연산자에 대한 특잇값의 유사체를 정의했다. 1910년 에밀 피카르는 σk의 숫자를 처음으로 ''특잇값''(프랑스어로 ''valeurs singulières'')이라고 불렀다.

에르반트 코그베틀리안츠와 마그누스 헤스테네스는 1954-1955년과 1958년에 각각 SVD를 계산하는 실용적인 방법을 제시했는데,[30] 이는 자코비 고유값 알고리즘과 매우 유사하며 평면 회전 또는 기븐스 회전을 사용한다. 그러나 이러한 방법은 1965년 진 골럽과 윌리엄 카한이 발표한 방법으로 대체되었으며,[31] 이 방법은 하우스홀더 변환 또는 반사를 사용한다. 1970년 골럽과 크리스티안 라인쉬는[32] 오늘날 가장 많이 사용되는 골럽/카한 알고리즘의 변형을 발표했다.

4. 특잇값과 특이벡터

실수복소수로 이루어진 ''K''의 원소로 구성되는 ''m'' × ''n'' 행렬 ''M''에 대해 다음 두 조건을 만족하는 벡터 u \in K^mv \in K^n이 존재할 때, 음수가 아닌 실수 σ를 '''특잇값'''이라 부른다.[34][35]

:Mv = \sigma u \, , M^{*} u = \sigma v. \,\!

또한 ''u''와 ''v''를 각각 '''좌측 특이벡터'''와 '''우측 특이벡터'''라 부른다.

특잇값 분해 M = U \Sigma V^*\!에서 Σ의 대각선 성분들은 ''M''의 특잇값이 되고, ''U''와 ''V''의 열들은 각각의 특잇값에 해당하는 좌측 특이벡터와 우측 특이벡터가 된다. 또한 위 식으로부터 다음과 같은 사실도 알 수 있다.


  • ''m'' × ''n'' 행렬 ''M''은 최소한 한 개, 최대 ''p'' = min(''m'', ''n'')개의 서로 다른 특잇값을 갖는다.
  • ''M''의 좌측 특이벡터들을 포함하는, ''K''''m''유니터리 기저를 항상 찾을 수 있다.
  • ''M''의 우측 특이벡터들을 포함하는, ''K''''n''유니터리 기저를 항상 찾을 수 있다.


하나의 특잇값에 대해, 2개 이상의 선형 독립인 우(또는 좌) 특이 벡터가 존재하는 경우, 그 특잇값은 '''축퇴'''하고 있다고 한다. 축퇴가 없는 특잇값에 대해서는 항상 좌우 특이 벡터가 각각 (위상의 차이를 제외하고) 유일하게 존재한다. 결과적으로, 만약 행렬 ''M''의 모든 특잇값이 양수이고 축퇴가 없는 경우, 특잇값 분해는 (유니타리 행렬 ''U'', ''V''의 각 열에 걸리는 위상의 차이를 제외하고) 유일하게 정해진다.

축퇴가 있는 특잇값 \sigma_{deg}에 대해, 좌특이 벡터 u_1, u_2의 정규화된 선형 결합 u_c = \alpha u_1 + \beta u_2를 생각하면, 좌특이 벡터의 선형 결합 u_c 또한 특잇값 \sigma_{deg}의 좌특이 벡터가 된다. 비슷한 것이 우특이 벡터에 대해서도 성립한다. 특잇값 분해의 유니타리 행렬 ''U'', ''V''의 특잇값 \sigma_{deg}에 대응하는 열 벡터는, 특이 벡터의 선형 결합 중에서 자유롭게 선택할 수 있기 때문에, 결과적으로 행렬 ''M''의 분해는 유일하지 않게 된다.

5. 고유값 분해와의 관계

특잇값 분해는 정사각행렬만 분해할 수 있는 고윳값 분해보다 훨씬 일반적인 행렬을 다룰 수 있지만, 두 분해는 서로 관련되어 있다.[34][35]

양의 정부호인 에르미트 행렬 ''M''의 모든 고윳값은 음이 아닌 실수이다. 이때 ''M''의 특잇값과 특이벡터는 ''M''의 고윳값과 고유벡터와 같아진다.

더 일반적으로, ''M''의 특잇값 분해가 주어졌을 때 다음과 같은 두 식이 성립한다.

:M^* M = V \Sigma^* U^* U \Sigma V^* = V (\Sigma^* \Sigma) V^* \!

:M M^* = U \Sigma V^* V \Sigma^* U^* = U (\Sigma \Sigma^* ) U^* \!

두 식의 우변은 좌변의 고윳값 분해를 나타낸다. 즉, ''M''의 0이 아닌 특잇값들의 제곱은 ''M''*''M'' 과 ''MM''*의 고윳값들과 같다. 또한 ''U''는 ''MM''*의 고유벡터이고 ''V''는 ''M''*''M''의 고유벡터이다.

고유값 분해가 정방 행렬에 대해서만 적용 가능한 데 반해, 특잇값 분해는 임의의 직사각 행렬에 대해 적용이 가능하다.[34][35] 또한, 행렬 ''M''이 정부호의 에르미트 행렬(따라서 정방 행렬)인 경우, ''M''의 고유값은 실수이고 비음수이며, 이 때 ''M''의 특잇값과 특이 벡터는 각각 ''M''의 고유값과 고유 벡터에 일치한다.

6. 기하학적 의미

2차원 실수 전단 행렬 '''M'''의 특잇값 분해 애니메이션.


특잇값 분해의 행렬 곱셈 시각화.


M영어이 m × m영어 실수 정사각 행렬인 특수한 경우, 행렬 U영어와 V^*영어는 실수 m × m영어 행렬로 선택할 수 있다. 이때 "유니타리"는 "직교 행렬"과 같다. 공간 R^m영어선형 변환 x ↦ Ax영어로 해석하면, 행렬 U영어와 V^*영어는 공간의 회전 또는 반사를 나타내고, Σ영어는 각 좌표 x_i영어를 σ_i영어 배만큼 스케일링한다. 따라서 SVD 분해는 R^m영어의 모든 선형 변환을 회전 또는 반사(V^*영어), 좌표별 스케일링(Σ영어), 또 다른 회전 또는 반사(U영어)의 세 가지 기하학적 변환의 합성으로 분해한다.

특잇값은 2차원 타원의 반축의 크기로 해석할 수 있다. 이 개념은 n영어차원 유클리드 공간으로 일반화할 수 있으며, n × n영어 정사각 행렬의 특잇값은 n영어차원 타원체의 반축의 크기로 볼 수 있다.

U영어와 V영어는 유니타리 행렬이므로, U영어의 열은 K^m영어정규 직교 기저를 형성하고, V영어의 열은 K^n영어의 정규 직교 기저를 형성한다(이 공간에서의 표준 스칼라 곱 기준).

선형 변환



T : \left\{\begin{aligned}

K^n &\to K^m \\

x &\mapsto \mathbf{M}x \end{aligned}\right.



은 이러한 정규 직교 기저에서 다음과 같이 간단히 표현된다.



T(\mathbf{V}_i) = \sigma_i \mathbf{U}_i, \qquad i

= 1, \ldots, \min(m, n),



여기서 σ_i영어는 Σ영어의 i영어번째 대각 성분이고, i > min(m,n)영어이면 T(V_i) = 0영어이다.

따라서 SVD 정리의 기하학적 의미는 다음과 같이 요약할 수 있다. 모든 선형 사상 T : K^n → K^m영어에 대해, T영어가 K^n영어의 i영어번째 기저 벡터를 K^m영어의 i영어번째 기저 벡터의 음이 아닌 배수로 사상하고 나머지 기저 벡터를 0으로 보내도록 K^n영어과 K^m영어의 정규 직교 기저를 찾을 수 있다. 이 기저에서 사상 T영어는 음이 아닌 실수 대각 성분을 갖는 대각 행렬로 표현된다.

실수 벡터 공간에서 반지름이 1인 n영어차원 구 S영어를 생각하면, 선형 사상 T영어는 이 구를 m영어차원 타원체로 사상한다. 0이 아닌 특이값은 이 타원체의 단반지름 길이이다. 특히 n = m영어이고 모든 특이값이 서로 다르며 0이 아닌 경우, 선형 사상 T영어의 SVD는 세 가지 연속적인 움직임으로 쉽게 분석할 수 있다.

7. 응용

특잇값 분해(SVD)는 다음과 같이 여러 분야에 걸쳐 폭넓게 응용된다.


  • 선형 역 문제 및 정칙화: SVD는 선형 역 문제 연구에 적용되며, 티호노프 정칙화와 같은 방법 분석에 유용하다.
  • 통계학, 신호 처리, 패턴 인식: 주성분 분석, 대응 분석과 관련되어 해당 분야에서 널리 사용된다.
  • 모드 분석: 비확장된 모드 형상을 특이 벡터로부터 결정하는 출력 전용 모드 분석에 사용된다.
  • 잠재 의미 분석: 자연어 텍스트 처리의 잠재 의미 분석에 활용된다.
  • 수치 계산: 선형 또는 선형화된 시스템의 "조건수" (\kappa := \sigma_\text{max} / \sigma_\text{min})를 통해 계산 방식의 오류율 또는 수렴율을 제어한다.[10][11]
  • 양자 정보: 슈미트 분해를 통해 두 양자 시스템의 상태를 분해하여 양자 얽힘의 필요충분 조건을 제공한다.
  • 수치 일기 예보: 수치 일기 예보에서 란초스 방법과 함께 사용되어 가장 빠르게 성장하는 섭동을 추정하고, 앙상블 예측 생성에 기여한다.
  • 차수 축소 모델링: 복잡한 시스템의 자유도를 줄이는 데 적용된다.
  • 중력파 파형 모델링: 지상 기반 중력파 간섭계 aLIGO의 중력파 파형 모델링 개선에 사용된다.[13]
  • 추천 시스템: 사용자의 항목 평가 예측에 활용된다.[14]
  • 질병 감시: 질병 발병 감지 및 실시간 이벤트 감지를 위해 적용된다.[16][17]
  • 천체역학: 전이 궤적 설계 및 궤도 유지를 위한 기동 방향 결정에 사용된다.[18][19]
  • 기타: 신호 처리,[4] 영상 처리[5], 빅데이터(예: 유전체 신호 처리)[6][7][8][9]

7. 1. 의사 역행렬

특잇값 분해는 행렬의 유사역행렬을 계산하는 데 사용될 수 있다. 특잇값 분해 M = U\Sigma V^*를 갖는 행렬 M의 유사역행렬은 다음과 같다.

: M^+ = V \Sigma^+ U^*,

여기서 \boldsymbol \Sigma^+\boldsymbol \Sigma의 유사역행렬이며, 이는 모든 0이 아닌 대각선 항목을 그 역수로 바꾸고 결과 행렬을 전치하여 형성된다.[34][35] 유사역행렬은 선형 최소 제곱 문제를 해결하는 한 가지 방법이다.

7. 2. 영 공간, 값역 및 계수

SVD는 행렬 의 값역과 영 공간을 명시적으로 나타낸다. 의 영값을 갖는 특이값에 해당하는 오른쪽 특이 벡터는 의 영 공간을 생성하며, 0이 아닌 특이값에 해당하는 왼쪽 특이 벡터는 의 값역을 생성한다. 예를 들어, 앞선 예시에서 영 공간은 의 마지막 행에 의해 생성되고, 값역은 의 처음 세 열에 의해 생성된다.[34]

결과적으로, 의 계수는 0이 아닌 특이값의 수와 같으며, 이는 \mathbf \Sigma의 0이 아닌 대각선 요소의 수와 같다. 수치 선형대수학에서 특이값은 반올림 오차로 인해 계수가 부족한 행렬에서 작지만 0이 아닌 특이값이 발생할 수 있으므로 행렬의 "유효 계수"를 결정하는 데 사용될 수 있다. 상당한 간격 이후의 특이값은 수치적으로 0과 동일하다고 가정한다.[35]

7. 3. 낮은 랭크 행렬 근사

특정 응용 분야에서는 행렬 을 특정 랭크 을 갖는 또 다른 행렬 \tilde{\mathbf{M}}(이하 "잘린 행렬")로 근사하는 문제를 해결해야 한다. \operatorname{rank}(\tilde{\mathbf{M}}) = r이라는 제약 조건 하에서 과 \tilde{\mathbf{M}} 사이의 차이(프로베니우스 노름)를 최소화하는 경우, 그 해는 의 특잇값 분해(SVD)를 통해 얻어진다.[34][35]

:\tilde{\mathbf{M}} = \mathbf{U} \tilde{\mathbf \Sigma} \mathbf{V}^*

여기서 \tilde{\mathbf \Sigma}\mathbf \Sigma에서 가장 큰 특잇값 개만 남기고 나머지 특잇값은 0으로 대체한 행렬이다. 이는 에카르트-영 정리로 알려져 있다.

7. 4. 분리 가능 모델

특잇값 분해(SVD)는 행렬을 가중된, 정렬된 분리 가능한 행렬의 합으로 분해하는 것으로 생각할 수 있다. 여기서 분리 가능(separable)이란 행렬 '''A'''가 두 벡터의 외적으로 쓰일 수 있다는 뜻이다. ('''A''' = '''u''' ⊗ '''v''') 즉, 좌표로 표현하면 Aij = uivj이다. 구체적으로, 행렬 '''M'''은 다음과 같이 분해될 수 있다.

:'''M''' = Σi '''A'''i = Σi σi '''U'''i ⊗ '''V'''i.

여기서 '''U'''i와 '''V'''i는 해당 SVD 행렬의 i번째 열이고, σi는 정렬된 특잇값이며, 각 '''A'''i는 분리 가능하다. SVD는 이미지 처리 필터를 분리 가능한 수평 및 수직 필터로 분해하는 데 사용될 수 있다.[1] 0이 아닌 σi의 수는 행렬의 랭크와 정확히 일치한다. 분리 가능한 모델은 종종 생물학적 시스템에서 발생하며, SVD 분해는 이러한 시스템을 분석하는 데 유용하다. 예를 들어, 시각 영역 V1의 일부 단순 세포의 수용 필드는 공간 영역에서 가버 필터에 시간 영역의 변조 함수를 곱하여 잘 설명될 수 있다.[1] 따라서, 예를 들어 역 상관을 통해 평가된 선형 필터가 주어지면, 두 개의 공간 차원을 하나의 차원으로 재정렬하여 SVD를 통해 분해할 수 있는 2차원 필터(공간, 시간)를 얻을 수 있다. SVD 분해에서 '''U'''의 첫 번째 열은 가버이고 '''V'''의 첫 번째 열은 시간 변조를 나타낸다(또는 그 반대). 그런 다음 분리 가능성 지수를 다음과 같이 정의할 수 있다.

:α = σ12 / Σi σi2,

이것은 분해에서 첫 번째 분리 가능한 행렬이 차지하는 행렬 M의 전력의 비율이다.[2]

7. 5. 기타 응용

총 최소 자승법 문제는 \| \mathbf x \| = 1 제약 조건 하에서 벡터 의 2-노름을 최소화하는 벡터 를 찾는 것이다. 해는 가장 작은 특잇값에 해당하는 의 오른쪽 특이 벡터이다.

동차 선형 방정식 집합은 행렬 와 벡터 에 대해 으로 쓸 수 있다. 일반적인 상황은 가 알려져 있고 방정식을 만족하는 영(0)이 아닌 를 결정해야 하는 경우이다. 이러한 는 의 영 공간에 속하며 때때로 의 (오른쪽) 영 벡터라고 불린다. 벡터 는 0인 특잇값에 해당하는 오른쪽 특이 벡터로 특징지을 수 있다. 이 관찰은 가 정방 행렬이고 소멸하는 특잇값이 없는 경우, 방정식은 해로서 영이 아닌 를 갖지 않는다는 것을 의미한다. 또한 소멸하는 특잇값이 여러 개 있는 경우, 해당 오른쪽 특이 벡터들의 임의의 선형 결합이 유효한 해가 된다.[3] (오른쪽) 영 벡터의 정의와 유사하게, 가 의 켤레 전치를 나타내는 을 만족하는 영이 아닌 는 의 왼쪽 영 벡터라고 불린다.

정방 행렬 의 특잇값 분해를 사용하여 에 가장 가까운 직교 행렬 를 결정할 수 있다. 근접성은 의 프로베니우스 노름으로 측정된다. 해는 곱 이다. 이는 직관적으로 이해가 되는데, 직교 행렬은 의 분해를 가지며, 여기서 는 항등 행렬이므로, 만약 라면 곱 는 특잇값을 1로 대체하는 것과 같다. 이와 동등하게, 해는 신장과 회전의 순서로 극분해 \mathbf M = \mathbf R \mathbf P = \mathbf P' \mathbf R의 유니타리 행렬 이다.

Kabsch 알고리즘 (다른 분야에서는 Wahba의 문제라고 함)은 특잇값 분해를 사용하여 한 점 집합을 해당 점 집합에 정렬하는 최적의 회전(최소 자승법을 기준으로)을 계산한다. 분자 구조를 비교하는 등 여러 응용 분야에 사용된다.

형상 분석에서 유사한 문제로, 를 에 가장 가깝게 매핑하는 직교 행렬 를 찾는 직교 프로크루스테스 문제가 있다. 구체적으로,



\mathbf{O} = \underset\Omega\operatorname{argmin} \|\mathbf{A}\boldsymbol{\Omega} - \mathbf{B}\|_F \quad\text{subject to}\quad \boldsymbol{\Omega}^\operatorname{T}\boldsymbol{\Omega} = \mathbf{I},



여기서 \| \cdot \|_F는 프로베니우스 노름을 나타낸다.

이 문제는 주어진 행렬 \mathbf M = \mathbf A^\operatorname{T} \mathbf B에 가장 가까운 직교 행렬을 찾는 것과 같다.

특잇값 분해와 의사 역행렬은 신호 처리,[4] 영상 처리[5] 및 빅데이터(예: 유전체 신호 처리)에 성공적으로 적용되어 왔다.[6][7][8][9]

특잇값 분해(SVD)는 선형 역 문제 연구에도 광범위하게 적용되며, 티호노프와 같은 정칙화 방법 분석에도 유용하다. 이는 주성분 분석 및 대응 분석과 관련되어 통계학, 신호 처리, 패턴 인식 분야에서 널리 사용된다. 또한 비확장된 모드 형상을 특이 벡터로부터 결정할 수 있는 출력 전용 모드 분석에도 사용된다. 또 다른 사용 예는 자연어 텍스트 처리의 잠재 의미 분석이다.

일반적으로 선형 또는 선형화된 시스템과 관련된 수치 계산에서 문제의 규칙성 또는 특이성을 특징짓는 보편적인 상수, 즉 시스템의 "조건수" \kappa := \sigma_\text{max} / \sigma_\text{min}이 있다. 이는 종종 이러한 시스템에 대한 주어진 계산 방식의 오류율 또는 수렴율을 제어한다.[10][11]

SVD는 슈미트 분해라고도 불리는 형태를 통해 양자 정보 분야에서 중요한 역할을 한다. 이를 통해 두 양자 시스템의 상태가 자연스럽게 분해되어, 이들이 양자 얽힘을 가질 수 있는 필요 충분 조건, 즉 \mathbf \Sigma 행렬의 랭크가 1보다 큰지를 제공한다.

SVD를 비교적 큰 행렬에 적용한 사례 중 하나는 수치 일기 예보에서 란초스 방법을 사용하여 주어진 초기 순방향 시간 동안 중앙 수치 일기 예보에 대한 가장 빠르게 선형적으로 성장하는 몇 가지 섭동을 추정하는 것이다. 즉, 해당 시간 간격 동안 전 지구 날씨에 대한 선형화된 전파 연산자의 가장 큰 특잇값에 해당하는 특이 벡터이다. 이 경우 출력 특이 벡터는 전체 기상 시스템이다. 이러한 섭동은 완전한 비선형 모델을 통해 실행되어 앙상블 예측을 생성하여 현재 중앙 예측 주변에서 허용해야 하는 불확실성의 일부를 처리한다.

SVD는 차수 축소 모델링에도 적용되었다. 차수 축소 모델링의 목표는 모델링할 복잡한 시스템의 자유도를 줄이는 것이다. SVD는 방사형 기저 함수와 결합되어 3차원 비정상 유동 문제에 대한 해를 보간했다.[12]

SVD는 지상 기반 중력파 간섭계 aLIGO에 의해 중력파 파형 모델링을 개선하는 데 사용되었다.[13] SVD는 중력파 탐색을 지원하고 두 가지 다른 파형 모델을 업데이트하기 위해 파형 생성의 정확도와 속도를 높이는 데 도움이 될 수 있다.

특이값 분해는 사람들의 항목 평가를 예측하기 위해 추천 시스템에서 사용된다.[14] 상용 컴퓨터 클러스터에서 SVD를 계산하기 위해 분산 알고리즘이 개발되었다.[15]

낮은 랭크 SVD는 질병 발병 감지에 적용하여 시공간 데이터로부터 핫스팟을 감지하는 데 적용되었다.[16] SVD와 고차 SVD의 조합은 질병 감시에서 복잡한 데이터 스트림(공간 및 시간 차원을 갖는 다변량 데이터)으로부터 실시간 이벤트 감지를 위해 적용되었다.[17]

천체역학에서 SVD와 그 변형은 전이 궤적 설계를 위한 적절한 기동 방향 결정[18] 및 궤도 유지를 위한 옵션으로 사용된다.[19]

8. 축소 SVD

응용 분야에서 행렬의 영공간에 대한 전체 유니타리 분해를 포함하는 전체 SVD가 필요한 경우는 드물다. 대신, SVD의 축소된 버전을 계산하는 것으로 충분한 경우가 많다(저장 공간 측면에서 더 빠르고 경제적이다). 랭크가 $r$인 $m \times n$ 행렬 $M$의 경우 다음과 같은 축소 SVD를 활용할 수 있다.

축소된 SVD 변형 시각화

8. 1. 얇은 SVD

행렬 M영어의 얇은, 또는 축소된 SVD는 다음과 같이 표현된다.[25]

:

여기서 이고, 행렬 U영어k와 V영어k는 U영어와 V영어의 처음 개의 열만 포함하며, Σ영어k는 Σ영어의 처음 개의 특잇값만 포함한다. 따라서 행렬 U영어k는 이고, Σ영어k는 대각 행렬이며, V영어*k는 이다.

얇은 SVD는 일 경우 공간과 계산 시간을 상당히 적게 사용한다. 이 계산의 첫 번째 단계는 일반적으로 M영어QR 분해가 되며, 이 경우 계산을 상당히 빠르게 할 수 있다.

8. 2. 컴팩트 SVD

행렬 '''M'''의 축소 특잇값 분해는 다음과 같다.

: math'''M''' = '''U'''r '''Σ'''r '''V'''r*.math

0이 아닌 특잇값 math'''Σ'''rmath에 해당하는 math'''U'''math의 r개 열 벡터와 math'''V'''*math의 r개 행 벡터만 계산된다. math'''U'''math와 math'''V'''*math의 나머지 벡터는 계산되지 않는다. 이는 r << min(m,n)인 경우 얇은 특잇값 분해보다 빠르고 경제적이다. 따라서 행렬 math'''U'''rmath는 m × r이고, math'''Σ'''rmath는 r × r 대각 행렬이며, math'''V'''r*math는 r × n이다.

8. 3. 잘린 SVD

많은 응용 분야에서 0이 아닌 특잇값의 수 ''r''가 커서 Compact SVD를 계산하는 것조차 실용적이지 않다. 이러한 경우, 가장 작은 특잇값을 잘라내어 ''t'' << ''r'' 개의 0이 아닌 특잇값만 계산해야 할 수 있다. 잘린 SVD(Truncated SVD)는 더 이상 원래 행렬 '''M'''의 정확한 분해가 아니라, 고정된 랭크 ''t''의 행렬에 의한 최적의 낮은 랭크 행렬 근사를 제공한다.

영어 = '''U'''t'''Σ'''t'''V'''*t

여기서 행렬 '''U'''t는 ''m'' × ''t'', '''Σ'''t는 ''t'' × ''t'' 대각 행렬이고, '''V'''*t는 ''t'' × ''n''이다. ''t''개의 가장 큰 특잇값 '''Σ'''t에 해당하는 '''U'''의 ''t''개의 열 벡터와 '''V'''*의 ''t''개의 행 벡터만 계산된다. 이는 ''t'' << ''r''인 경우 Compact SVD보다 훨씬 빠르고 경제적일 수 있지만, 완전히 다른 도구 세트의 수치 해석기를 필요로 한다.

행렬 '''M'''의 무어-펜로즈 역행렬에 대한 근사가 필요한 응용 분야에서는 '''M'''의 가장 작은 특잇값이 중요하며, 이는 가장 큰 특잇값보다 계산하기가 더 어렵다.

잘린 SVD(Truncated SVD)는 잠재 의미 분석에 사용된다.[26]

9. 노름

행렬 노름의 일종인 Ky Fan norm|카이 팡 노름영어과 힐베르트-슈미트 노름에 대해서는 하위 섹션에서 더 자세히 설명한다.

9. 1. Ky Fan 노름

''k''개의 가장 큰 특잇값의 합은 행렬 노름이며, '''M'''의 카이 팡 ''k''-노름이다.[27]

카이 팡 노름 중 첫 번째인 카이 팡 1-노름은 Euclidean norm|유클리드 노름영어에 대한 선형 연산자로서의 '''M'''의 작용소 노름과 동일하다. 즉, 카이 팡 1-노름은 표준 \ell^2 유클리드 내적에 의해 유도된 작용소 노름이다. 이러한 이유로 작용소 2-노름이라고도 한다.

카이 팡 노름 중 마지막인 모든 특잇값의 합은 트레이스 노름(핵 노름이라고도 함)으로 정의된다.

9. 2. 힐베르트-슈미트 노름

힐베르트-슈미트 내적은 다음과 같이 정의된다.

:\langle \mathbf{M}, \mathbf{N} \rangle = \operatorname{tr} \left( \mathbf{N}^*\mathbf{M} \right).

따라서 유도된 노름은 다음과 같다.

:\| \mathbf{M} \| = \sqrt{\langle \mathbf{M}, \mathbf{M} \rangle} = \sqrt{\operatorname{tr} \left( \mathbf{M}^*\mathbf{M} \right)}.

대각합은 유니터리 동치 아래에서 불변이므로 다음이 성립한다.

:\| \mathbf{M} \| = \sqrt{\vphantom\bigg|\sum_i \sigma_i ^2}

여기서 \sigma_i\mathbf M의 특잇값이다. 이를 \mathbf M의 '''프로베니우스 노름''', '''샤텐 2-노름''', 또는 '''힐베르트-슈미트 노름'''이라고 한다. 직접 계산하면 \mathbf M = (m_{ij})의 프로베니우스 노름은 다음과 같다.

:\sqrt{\vphantom\bigg|\sum_{ij} | m_{ij} |^2}.

10. 계산

특잇값 분해(SVD)는 다음 관찰을 통해 계산할 수 있다.


  • M의 왼쪽 특이 벡터는 M M^*의 직교 고유 벡터 집합이다.
  • M의 오른쪽 특이 벡터는 M^* M의 직교 고유 벡터 집합이다.
  • M의 0이 아닌 특잇값(Σ의 대각선 항목)은 M^* M과 M M^* 모두의 0이 아닌 고유값의 제곱근이다.


일반적으로 행렬 M의 SVD는 두 단계 절차로 계산된다.

1. 첫 번째 단계에서 행렬을 이중대각 행렬로 축소한다. m >= n이라고 가정할 때, 이는 빅 오 표기법으로 O(mn^2) 부동 소수점 연산(플롭)이 소요된다.

2. 두 번째 단계에서는 이중대각 행렬의 SVD를 계산하는데, 이는 반복법(고유값 알고리즘 등)으로만 수행 가능하다. 실제로는 기계 엡실론과 같은 특정 정밀도까지 SVD를 계산하는 것으로 충분하다. 이 정밀도가 상수라고 가정하면, 두 번째 단계는 O(n) 반복을 수행하며 각 반복은 O(n) 플롭을 소요한다.

따라서 첫 번째 단계가 더 비싸며, 전체 비용은 O(mn^2) 플롭이다.[22]

첫 번째 단계는 하우스홀더 반사를 사용하여 특잇값만 필요하고 특이 벡터가 필요하지 않다고 가정하면 4mn^2 - 4n^3/3 플롭의 비용으로 수행할 수 있다. m이 n보다 훨씬 크면 먼저 행렬 M을 QR 분해로 삼각 행렬로 축소한 다음 하우스홀더 반사를 사용하여 행렬을 이중대각 형태로 더 축소하는 것이 유리하며, 결합된 비용은 2mn^2 + 2n^3 플롭이다.[22]

두 번째 단계는 고유값 계산을 위한 QR 알고리즘의 변형으로 수행할 수 있으며, 이는 처음 골루브(Golub)와 카한(Kahan)에 의해 설명되었다. LAPACK 서브루틴 DBDSQR[22]은 특잇값이 매우 작은 경우를 처리하기 위해 일부 수정 사항과 함께 이 반복법을 구현한다.[23] 하우스홀더 반사를 사용한 첫 번째 단계와, 적절한 경우 QR 분해와 함께, 이것은 특잇값 분해 계산을 위한 DGESVD 루틴을 형성한다.

동일한 알고리즘이 GNU 과학 라이브러리(GSL)에 구현되어 있다. GSL은 또한 2단계에서 일방적인 자코비 직교화를 사용하는 대안적인 방법을 제공한다. 이 방법은 자코비 고유값 알고리즘이 일련의 2 x 2 고유값 방법을 해결하는 방식과 유사하게 일련의 2 x 2 SVD 문제를 해결하여 이중대각 행렬의 SVD를 계산한다. 2단계에 대한 또 다른 방법은 분할 정복 고유값 알고리즘의 아이디어를 사용한다.

고윳값 분해를 명시적으로 사용하지 않는 대안적인 방법도 존재한다.[24]

10. 1. 야코비 방법

일방적 야코비 알고리즘은 행렬을 반복적으로 직교 열을 가진 행렬로 변환하는 반복 알고리즘이다.[21] 기본적인 반복은 야코비 회전으로 주어진다.



M\leftarrow MJ(p, q, \theta),



여기서 야코비 회전 행렬 J(p,q,θ)영어의 각도 θ영어는 회전 후 p영어와 q영어 번호의 열이 직교하도록 선택된다. 인덱스 (p,q)영어는 순환적으로 (p=1…m,q=p+1…m)영어 와 같이 표현되고, 여기서 m영어은 열의 개수이다.

알고리즘이 수렴된 후, 특잇값 분해 M=USVT영어는 다음과 같이 복구된다. 행렬 V영어는 야코비 회전 행렬의 축적이고, 행렬 U영어는 변환된 행렬 M영어의 열을 정규화하여 주어지며, 특잇값은 변환된 행렬 M영어의 열의 노름으로 주어진다.

양방향 자코비 SVD 알고리즘은 자코비 고유값 알고리즘의 일반화된 형태로, 정방 행렬을 반복적으로 대각 행렬로 변환하는 반복 알고리즘이다. 행렬이 정방 행렬이 아닌 경우 먼저 QR 분해를 수행한 다음 R영어 행렬에 알고리즘을 적용한다. 기본 반복 단계는 오프 다이어고널 요소 쌍을 먼저 기븐스 회전을 적용하여 대칭화한 다음, 자코비 변환을 적용하여 0으로 만든다.



M \leftarrow J^TGMJ



여기서 G영어는 주어진 오프 다이어고널 요소 쌍이 회전 후에 같아지도록 각도를 선택한 기븐스 회전 행렬이고, J영어는 이러한 오프 다이어고널 요소를 0으로 만드는 자코비 변환 행렬이다. 이 반복은 자코비 고유값 알고리즘과 정확히 동일하게 진행된다. 즉, 모든 오프 다이어고널 요소에 대해 순환적으로 반복한다.

알고리즘이 수렴된 후 결과 대각 행렬은 특잇값을 포함한다. 행렬 U영어와 V영어는 다음과 같이 축적된다.

U←UGTJ영어,

V←VJ영어.

10. 2. 수치적 접근

고윳값 분해를 명시적으로 사용하지 않는 대안적인 방법이 있다.[24] 일반적으로 행렬 M의 특잇값 문제는 MM^*, M^*M, 또는 다음과 같은 등가 대칭 고윳값 문제로 변환된다.



\begin{bmatrix}

\mathbf{0} & \mathbf{M} \\

\mathbf{M}^* & \mathbf{0}

\end{bmatrix}.


참조

[1] 논문 Receptive-field dynamics in the central visual pathways 1995-10
[2] 논문 Spectro-temporal response field characterization with dynamic ripples in ferret primary auditory cortex 2001-03
[3] 문서 The Singular Value Decomposition in Symmetric (Lowdin) Orthogonalization and Data Compression http://www.wou.edu/~[...]
[4] 논문 Local spectral variability features for speaker verification https://erepo.uef.fi[...] 2016-03
[5] 서적 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) https://ieeexplore.i[...] IEEE 2023-01-19
[6] 논문 Singular Value Decomposition for Genome-Wide Expression Data Processing and Modeling 2000-09
[7] 논문 Integrative Analysis of Genome-Scale Data by Using Pseudoinverse Projection Predicts Novel Correlation Between DNA Replication and RNA Transcription 2004-11
[8] 논문 Singular Value Decomposition of Genome-Scale mRNA Lengths Distribution Reveals Asymmetry in RNA Gel Electrophoresis Band Broadening 2006-08
[9] 논문 SVD Identifies Transcript Length Distribution Functions from DNA Microarray Data and Reveals Evolutionary Forces Globally Affecting GBM Metabolism 2013-11
[10] 논문 On the distribution of a scaled condition number http://math.mit.edu/[...]
[11] 논문 On the singular values of Gaussian random matrices
[12] 논문 Reduced order modelling for unsteady fluid flow using proper orthogonal decomposition and radial basis functions
[13] 논문 Enhancing gravitational waveform model through dynamic calibration
[14] 논문 Application of Dimensionality Reduction in Recommender System – A Case Study https://apps.dtic.mi[...]
[15] 논문 Dimension Independent Matrix Square Using MapReduce https://stanford.edu[...]
[16] 논문 Eigenspace method for spatiotemporal hotspot detection 2014-09
[17] 논문 EigenEvent: An Algorithm for Event Detection from Complex Data Streams in Syndromic Surveillance 2015-05
[18] 논문 Stretching directions in cislunar space: Applications for departures and transfer design 2023
[19] 논문 Leveraging stretching directions for stationkeeping in Earth-Moon halo orbits 2022
[20] 문서 To see this, we just have to notice that \operatorname{Tr}(\mathbf{V}_2^* \mathbf{M}^* \mathbf{M} \mathbf{V}_2) = \|\mathbf{M} \mathbf{V}_2\|^2, and remember that \|A\| = 0 \Leftrightarrow A = 0.
[21] 논문 A one-sided Jacobi algorithm for computing the singular value decomposition on a vector computer
[22] 문서 Netlib.org http://www.netlib.or[...]
[23] 문서 Netlib.org http://www.netlib.or[...]
[24] 문서 mathworks.co.kr/matlabcentral/fileexchange/12674-simple-svd http://www.mathworks[...]
[25] 서적 Templates for the Solution of Algebraic Eigenvalue Problems https://www.cs.ucdav[...] Society for Industrial and Applied Mathematics
[26] 논문 Software suite for gene and protein annotation prediction and similarity search https://doi.org/10.1[...]
[27] 논문 Maximum properties and inequalities for the eigenvalues of completely continuous operators 1951
[28] 간행물 A Generalized Matrix Inverse that is Consistent with Respect to Diagonal Transformations http://faculty.misso[...]
[29] 논문 The approximation of one matrix by another of lower rank
[30] 논문 Inversion of Matrices by Biorthogonalization and Related Results
[31] 문서 Golub, Kahan, 1965
[32] 논문 Singular value decomposition and least squares solutions
[33] 문서 Autonne, L. (1915). Sur les matrices hypohermitiennes et sur les matrices unitaires (Vol. 38). Rey.
[34] 서적 数値解析入門 サイエンス社 2003-06
[35] 웹사이트 Singular Value Decomposition. http://mathworld.wol[...] MathWorld--A Wolfram Web Resource



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com