특이값 분해

위키백과 ― 우리 모두의 백과사전.

이 문서는 en:Singular value decomposition에서 한국어로 번역 중입니다. 원문은 글 안에 주석 처리되어 있습니다. 같이 번역해 주세요.

선형대수학에서 특이값 분해(Singular Value Decomposition, SVD)는 직사각행렬을 분해하는 중요한 방법 중 하나로 신호처리와 통계학 분야에서 많이 쓰인다.

특이값 분해는 행렬의 스펙트럼 이론을 임의의 직사각행렬에 대해 일반화한 것으로 볼 수 있다. 스펙트럼 이론을 이용하면 직교 정사각행렬을 고유값을 기저로 하여 대각행렬로 분해할 수 있다.

[편집] 정의

K의 원소로 이루어진 m × n 행렬 M을 가정하자. 그러면 M은 다음과 같이 세 행렬의 곱으로 나타낼 수 있다.

M = U\Sigma V^*\!

여기서 Um × m 유니터리 행렬이고, m × n 행렬 Σ는 대각선에 음수가 아닌 수를 갖고 나머지는 모두 0인 행렬이며 V*n × n 유니터리 행렬 V의 켤레행렬을 가리킨다. 이와 같은 세 행렬의 곱으로 나타내는 것을 M의 특이값 분해라 부른다.

일반적으로 Σi, i는 큰 값이 더 앞에 오도록 쓰며, 이렇게 쓸 경우 Σ는 M에 따라 유일하게 결정된다.

[편집] 특이값과 특이벡터

m × n 행렬 M에 대해 다음 두 조건을 만족하는 벡터 u \in K^mv \in K^n이 존재할 때, 음수가 아닌 실수 σ를 특이값이라 부른다.

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

또한 uv를 각각 좌측 특이벡터우측 특이벡터라 부른다.

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

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

[편집] 고유값 분해와의 관계

특이값 분해는 직교 정사각행렬만을 분해할 수 있는 고유값 분해보다 훨씬 일반적인 행렬을 다룰 수 있지만, 두 분해는 서로 관련되어 있다.

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

M = V \Lambda V^* \!

더 일반적으로는, 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*MMM*의 고유값들과 같다. 또한 UMM*의 고유벡터이고 VM*M의 고유벡터이다.