아이겐벡터와 아이겐값의 정의
아이겐벡터는 "특별한 방향을 가진 화살표"라고 생각할 수 있습니다.
수학에서 아이겐벡터는 특정한 변환 (이미지를 회전, 늘리기, 줄이기 등) 후에도 원래 방향이 변하지 않는 특별한 벡터를 말합니다.
이때 벡터의 크기를 조정하는 값이 바로 아이겐값이에요.
수식으로는 다음과 같이 표현합니다.
- A : 변환을 나타내는 행렬
- v : 아이겐벡터 (원래 방향이 변하지 않는 벡터)
- λ : 아이겐값 (벡터의 크기를 조정하는 값)
예제 : 2x2 행렬
다음과 같은 행렬 A가 있다고 가정해보면, 이 행렬 A가 변환하는 동안 방향이 변하지 않는 벡터 v를 찾아봅니다.
Av = λv
(A - λI)v = 0 (I : 단위행렬)
벡터 v가 0이 아닌 해를 가지려면 다음의 조건을 성립해야 합니다.
det(A - λI) = 0
여기서 det 는 행렬식(determinant)의 약자로, 행렬이 어떤 도형을 얼마나 크게 또는 작게 변환시키는지를 나타냅니다.
만약 행렬식이 0이라면, 그 행렬은 어떤 차원(평면 등)을 줄여서 선이나 점으로 만들어버린다는 뜻입니다.
반대로 행렬식이 양수나 음수라면 크기와 방향이 변하지만 여전히 같은 차원의 공간을 유지한다는 뜻이죠.
수식으로는 다음과 같이 표현할 수 있어요.
최초에 A 행렬에 대한 det를 계산해보면
det(A) = (4*3) - (1*2) = 12-2 = 10
행렬식의 값이 10이라는 것은, 이 행렬이 변환을 통해 만든 2d도형의 "크기"가 원래보다 10배 커졌다는 뜻입니다.
그래서,
아이겐벡터와 아이겐값을 구할때는 det( A - λI) = 0 이라는 조건을 이용하는 이유는
행렬식이 0이라는 것은 행렬 A - λI 가 "특정 방향"으로 데이터를 압축하거나 줄여버려서
그 방향으로의 변환이 불가능하다는 것을 의미하기 때문이에요.
이 "특정 방향"이 우리가 찾는 아이겐벡터의 방향이고, 그에 대응하는 값이 아이겐값입니다.
위 예제에서 det 값을 만족하는 아이겐값을 정리하면 λ = 5 또는 λ = 2 두개입니다.
각각의 아이겐값에 대한 아이겐 벡터를 구하면
왜 아이겐벡터를 사용해야 할까?
아이겐벡터를 사용하는 이유는,
데이터를 분석하거나 시스템을 이해할 때 중요한 정보를 빠르고 효율적으로 얻을 수 있기 때문이에요.
데이터를 압축하거나 복잡한 문제를 단순화할 때 유용합니다.
- 중요한 정보 찾기 : 많은 데이터 중에서 진짜 중요한 방향(패턴)을 찾을 수 있습니다.
- 복잡한 문제를 단순화 : 복잡한 문제를 더 쉽게 풀 수 있도록 "핵심만 뽑아내는데" 도움을 줍니다.
- 효율적인 계산 : 시스템의 중요한 특징만 남기고 나머지는 버릴 수 있어요.
머신러닝에서 아이겐벡터의 응용
머신러닝에서는 데이터를 이해하고 분석할 때 아이겐벡터를 자주 사용하는데요.
우리가 가지고 있는 데이터는 숫자들로 이루어진 큰 테이블이라고 정의할 수 있고,
이 데이터를 아이겐벡터를 이용해 간단히 정리하고 중요한 정보를 골라낼 수 있습니다.
PCA (주성분 분석)
주성분분석(PCA)는 데이터를 요약하고, 가장 중요한 특징(패턴)을 찾는 방법입니다.
예를 들어 사진 여러 장에서 가장 대표적인 패턴(색상, 형태 등)을 추려내는 거죠.
이 과정에서 아이겐벡터를 사용해 데이터의 중요한 축(방향)을 찾아요.
이렇게 하면 데이터를 훨씬 더 작고 간단하게 표현할 수 있어요.
추천 시스템
영화 추천 시스템을 예를 들어보면 사람들의 영화 선호 데이터를 분석할 때,
아이겐벡터를 사용해 사람들의 취향이 비슷한 그룹을 찾거나, 어떤 영화가 다른 영화와 비슷한 지 계산할 수 있습니다.
이렇게 해서 개인에게 맞는 영화를 추천할 수 있습니다.
이미지와 영상 처리
아이겐벡터는 이미지를 압축하거나 복원하는데도 사용됩니다.
예를 들어, 큰 이미지를 저장할 공간이 부족하다면, 중요한 패턴만 남겨서 데이터를 압축할 수 있겠죠.
네트워크 분석
아이겐벡터는 웹사이트나 소셜 네트워크에서 중요한 노드(예: 영향력이 있는 사람 또는 웹페이지)를 찾는 데 사용됩니다.
예를 들어, 구글의 페이지 랭크 알고리즘도 아이겐벡터를 사용해 인터넷에서 중요한 웹페이지를 찾습니다.
'Data Science' 카테고리의 다른 글
Contrastive Learning (2) | 2024.11.12 |
---|---|
트랜스포머 (Transformer) 모델 (1) | 2024.11.09 |
딥러닝 처음 접할 때 어려워하는 몇가지 핵심 개념들 (0) | 2024.11.08 |
Activation Functions (0) | 2024.11.07 |
precision & recall (4) | 2010.11.30 |
댓글