본문 바로가기
Python과 확률

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

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

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

 

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

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

shyu0522.tistory.com

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

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

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

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

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

 

강의에서의 예제

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

UAAT을 하면 정방이 되니, 그것을 고유값 분해하여 얻은 직교행렬을 구합니다. (m X m)

VATA을 하면 정방이 되니, 그것을 고유값 분해하여 얻은 직교행렬을 구합니다. (m X n)

ΣAAT의 고유값의 루트를 씌우면 됩니다. (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

댓글