본문 바로가기
Python과 확률

선형대수 행렬 기초적인 내용들 정리 - (Singular Values and Vector (특이값, 특이벡터))

by Yoo Sung Hyun 2022. 8. 15.
728x90

2022.07.03 - [Python과 확률] - 선형대수 행렬 기초적인 내용들 정리 - (대각, 항등, 직교, Eigen(고유), 대칭)

 

선형대수 행렬 기초적인 내용들 정리 - (대각, 항등, 직교, Eigen(고유), 대칭)

경력이 늘어난다는 것은, 어떻게 보면 필드에서의 노하우가 많이 생기며, 다양한 실생활적인 리스크를 피해가는 지식은 쌓이는 것 같다. 근데 계속 학문을 정진하지 않으면, 결국 기초적인 논리

shyu0522.tistory.com

이전 시간에, 특이값과 특이벡터를 구하기 위한 여러 벡터들의 성질과 특성을 살펴보고,

특이값과 특이벡터가 왜 필요하고 중요할지 살짝 생각해보는 시간까지 진행을 했었습니다.

근데 옛날에도 봤을때, 당장에 모든 상황이 정방행렬처럼 주어지지는 않을건데, 어떻게 고유값을 찾을 수 있는가?
특이값(\(\sigma \)) 분해로 가능하게 합니다. (이젠 더 이상 고유값이 아님)
\(A=U\Sigma V^{T}\) with \(U^{T}U=I\) and \(V^{T}V=I\)
\(AV=\Sigma U\)가 되는 셈이고, 시그마는 결국 고유값과 같은 의미로 해석할 수 있다.

\(V\)와 \(U\)는 직교행렬(전치와 곱하면 단위 행렬이 나옴)로 방향을 바꿔주는 역할을 수행하며 \(V^{T}\)로 수직으로 바꿔주고, \(U\)로 다시 원복이 가능하게 해줍니다.

그리고 시그마가, 고유값의서의 람다와 같은 역할을 하게되며, 특이값이라고 이야기하게 되죠.

 

강의에서의 예제

\(A\)로 주어진 벡터가 정방이라 \(U\)와 \(V\)가 정방처럼 나오지만, 사실은 m x n이어도 계산 가능합니다.

\(U\)는 \(AA^{T}\)을 하면 정방이 되니, 그것을 고유값 분해하여 얻은 직교행렬을 구합니다. (m X m)

\(V\)는 \(A^{T}A\)을 하면 정방이 되니, 그것을 고유값 분해하여 얻은 직교행렬을 구합니다. (m X n)

\(\Sigma\)는 \(AA^{T}\)의 고유값의 루트를 씌우면 됩니다. (n X n)

이렇게하면 형태가 (m X m) x (m X n) x (n X n) 이 되어서, 결국 (m X n)이 구해지는 과정처럼 동작하게 됩니다.

다만 정방을 이용했으므로 sigma는 m X n이더라도, 특정 행, 열이 0이 되는 정방은 아니지만 정방처럼 행렬이 만들어지게 되어, 결과적으로는 행과 열이 다른 벡터 A를 정방행렬과 비슷하게 분해하는 효과를 얻을 수 있을 것 같습니다. (행과 열이 달라도 정방행렬 여러개 인 것처럼 간단하게 분해되며, 필요없는 값은 없애서 압축할 수 있음)

(제가 지금 맥이 끊겨서 정확하게 증명을 이해하진 못했지만, 기능적 효과는 위의 정리한 내용으로 설명할 수 있을 것 같습니다.)

 

고유값 분해에 대한 방법과 sigma가 루트를 씌워야 되는 계산은,

https://rfriend.tistory.com/185

 

[선형대수] 특이값 분해 (SVD, Singular Value Decomposition)

지난번 포스팅에서는 행과 열의 개수가 같은 정방행렬(square matrix)에 대해 고유값 분해(eigenvalue decompositon)를 활용한 대각화(diagonalization)와, 이를 마아코프 과정(Markov Process)의 안정상태확률..

rfriend.tistory.com

를 참고하는 것이 좋을 것 같습니다. 거의 1달 다되가는 내용이다보니, 뭔가 맥락이 끊겨서 설명이 잘 되지 않네요...ㅠㅠ

필요할 경우가 있을때 따로 찾아보는 것으로 해야겠습니다.

 

이렇게 계산을 하면, 통상 아랫쪽은 0이 되어서 무의미한 값이 되버리는데, 때문에, 중요한 부분들만 남기고 데이터를 압축하거나 중요한 부분들만 알고 싶을때 주로 사용하는 것 같습니다.

https://darkpgmr.tistory.com/106?category=460967 

 

[선형대수학 #4] 특이값 분해(Singular Value Decomposition, SVD)의 활용

활용도 측면에서 선형대수학의 꽃이라 할 수 있는 특이값 분해(Singular Value Decomposition, SVD)에 대한 내용입니다. 보통은 복소수 공간을 포함하여 정의하는 것이 일반적이지만 이 글에서는 실수(real

darkpgmr.tistory.com

이미지를 압축하고, 선형 방정식을 풀이하는데 실제로 특이값 분해를 사용하는 예제입니다.

 

강의는 Ax = 0이 되는 문제를 풀이하는 마지막 강의 1가지만 남아있는 상태인데, 하도 맥이 끊긴 상태에서 실무도 진행하지 않는 와중에 호기심으로 봤던 강의다보니 내용이 제대로 이어지지 않아, 다음 강의는 언제쯤 보고서 올릴 수 있을지 모르겠습니다. (기억이 안나다보니 흥미가 떨어진 점이 가장 크게 작용하는 것 같습니다...)

 

저도 개인적으로 리마인드 공부를 다시 할 필요도 있을 것 같고, 여러모로 시간에 쫓기면서 쓰게된 내용이다보니 많이 부실한 것 같아 안타깝네요

 

이후에 추가적으로 지식이 쌓이면 내용을 보강하고 추가하도록 하겠습니다.

728x90

댓글