Ax = λx 을 만족할 때,
x를 행렬 A의 고유벡터(eigenvector), λ를 행렬 A의 고윳값(eigenvalue)이라고 합니다.
여기서 A는 nxn 정방행렬이어야 합니다.
고유벡터 x는 선형변환 했을 때, 방향은 유지되고 크기만 달라지게 됩니다.
예를 들어 행렬 A와 A의 고유벡터 x가 다음과 같을 때 x와 Ax 벡터의 방향은 같습니다.
고윳값과 고유벡터를 구하는 이유는 행렬의 대각화와 관련이 있으며,
행렬을 대각화를 통해 제곱 연산, 주성분 분석 등 여러 분야에 활용될 수 있습니다.
고윳값을 구하기 위해서 Ax = λx을 기반으로 특성방정식 (characteristic equation)을 이용합니다.
(A - λI)가 가변행렬이 아닐 경우에만 고윳값을 계산할 수 있기 때문에
det(A - λI) 가 0이 되어야 하며, 이것을 특성방정식이라고 합니다.
특성방정식을 이용하여 2x2 행렬 A의 고윳값 3, -7을 구할 수 있습니다.
고유벡터는 계산된 고윳값을 이용하여 구할 수 있으며, 고윳값이 2개이기 때문에 고유벡터도 2개입니다.
행렬의 대각화는 다음과 같이 정의됩니다.
S는 고유벡터 행렬이며, Λ는 고윳값 대각 행렬 입니다.
위 식을 기반으로 아래 식을 유도할 수 있습니다.
좌우변 왼쪽에 S를 곱한 후, 오른쪽에 S의 역행렬을 곱해줍니다.
행렬 A의 k제곱은 A를 k번 곱해야 하는데, 이러한 행렬의 곱 연산량은 k가 클수록 많아집니다.
하지만 행렬의 대각화를 이용해 연산을 빠르게 계산할 수 있습니다.
아래 예제와 같이 A를 여러번 곱할 필요 없이 두 번째 열(column)의 6의 제곱 계산으로만 해결할 수 있습니다.
'AI > Machine Learning' 카테고리의 다른 글
[Machine Learning] 통계학 - 확률 변수와 확률 분포 (0) | 2022.08.10 |
---|---|
[Machine Learning] 선형대수 - 특이값 분해 (0) | 2022.08.09 |
[Machine Learning] 데이터 전처리 (0) | 2022.07.11 |
[Machine Learning] Sklearn을 이용한 머신러닝 데이터 불러오기 (0) | 2022.07.08 |
[Machine Learning] 머신 러닝이란 (0) | 2021.04.02 |