모든 데이터분석의 근원같은 개념: 고유값 분해
SVD(특이값분해),
Pseudo-Inverse,
선형연립방정식의 풀이,
PCA(주성분분석) 등
주요 응용이 eigenvalue, eigenvector를 그 밑바탕에 깔고 있기 때문
Eigenvalue, Eigenvector이 뭐길래?
정방행렬 * 고유벡터 = 고유값 * 고유벡터
- 고유벡터(eigenvector) : 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터
- 고유값(eigenvalue) : 이 상수배 값
고유벡터/고유값은 정방행렬(square matrix)에서만 존재한다.
단, 고유벡터/고유값은 최소 0개부터 최대 n개까지 존재할 수 있다.
고유값과 고유벡터가 왜 중요한가?
1. 고유벡터가 중요한 이유
: 변화하는 방향이 일정하다면, 해당 방향으로 변하는 모든 움직임은 상수배로 설명가능하다.
2. 왜 고유값이 중요한가?
- 고유값은 성질의 대표값이면서 변하지 않는 유일한 값이다. 반면 고유벡터는 상수배를 곱하면 수도 없이 많아질 수 있다.
- 고유값은 벡터가 서로 독립이어야 생긴다. 즉, 상수배나 선형결합으로 설명된다면 고유값도 고유벡터도 생길 수 없다.
따라서 행렬(정보)를 가장 핵심적으로 설명하는 변수를 찾는데 도움이 되고, 얼만큼의 정보량을 가지고 있는지 보여준다.
고유값분해는 뭔가?
정방행렬 * 고유벡터행렬 = 고유값행렬 * 고유벡터행렬
고유벡터를 고유벡터행렬로 확장해 생각해보자. 정방행렬에 고유벡터행렬을 곱해서 고유값행렬과 고유벡터행렬의 곱으로 만들 수 있다.
고유값분해(Decompositin) : 고유벡터행렬을 곱해서 고유값행렬(고유값 이외엔 0인 대각행렬)을 만드는 과정
*대각화(Diagonalization)이라고도 한다.
그렇게 고유값이 중요하다면, 약간의 변형으로 고유값을 항상 뽑아낼 수 없을까?
항상 n개의 고유값을 가지는 행렬이 대칭행렬 symmetric matrix이다.
즉, 모든 고유벡터가 서로 독립이기 때문에 고유값의 개수가 N개 되어 고유벡터행렬이 직교행렬(orthogonal)이 된다.
고유값행렬은 모든 고유값이 채워져 있는 대각행렬이 된다.
--> 대칭행렬의 성질을 잘 활용하면 모든 행렬에 대해서 고유값분해를 할 수 있겠다는 생각이 들지 않는가?
--> 그래서 등장한 것이 특이값분해와 주성분분석이다.
좋다, 대칭행렬을 만들어서 고유값행렬을 만들어보자. - 특이값분해
어떤 행렬이든 Transpose해서 자기자신과 곱하면 대칭행렬이 된다.
이 대칭행렬에 대해서 고유값분해를 하면 고유벡터행렬과 고유값행렬이 나온다.
But 행렬곱셈은 교환법칙이 성립하지 않는다.
따라서 Transpose matrix를 left/right 어느 방향으로 곱했는지에 따라 고유벡터행렬이 다르다.
그러면 고유값행렬도 다를까? 고유값은 똑같지만 고유값행렬의 크기는 다르다.
즉, 고유값행렬을 Transpose하면 다른 고유벡터행렬로 만들어진 고유값행렬과 똑같아진다.
동일한 행렬을
--> 좌측곱셈 고유벡터행렬과 sqrt(고유값행렬) 의 곱
--> 우측곱셈 고유벡터행렬과 sqrt(고유값행렬) 의 곱
으로 포현할 수 있다.
이를 합하면 행렬을
원래 행렬 왼쪽에 전치행렬을 곱한 고유벡터행렬(직교행렬)
원래 행렬 오른쪽에 전치행렬을 곱한 고유벡터행렬(직교행렬)
직사각형모양의 고유값행렬(대각행렬)
으로 분해해서 표현할 수 있다.
* 고유벡터행렬은 원래 행렬을 회전시키고, 고유값은 scale을 변형시킨다.
* Reduced SVD : 고유값행렬 중 고유값이 존재하는 벡터만 추려서 만든 행렬로 분해하는 SVD 축소버전이다.
용어에 대한 주의사항
이해했지? 특이값분해 어려운 개념아니다.
단, 용어사용에 주의하자.
Singular matrix : 고유값이 n이 아닌 squre matrix / 정방행렬에서만 singular이 사용가능함.
Pseudo inverse가 무엇이고 , 왜 필요한가?
현실적으로 대부분의 행렬이 정방행렬이 아니고 , 모두 고유값을 n개 가지지 않는다.
그러면 역행렬을 구할수 없다. 하지만 우리는 역행렬이 필요하다. 그래야 선형 방정식의 해를 구할 수 있다.
고유값을 얻기 위해 SVD를 했듯, 이를 활용해서 우회하는 방법으로 역행렬을 구하는 방식이다.
source : darkpgmr.tistory.com/105
'Statistics > Linear Algebra' 카테고리의 다른 글
선형대수 - 고유값분해~주성분분석 (SVD비교) (0) | 2021.02.24 |
---|