행렬은 벡터에 곱해지면 그 벡터의 크기와 방향을 함께 바꾸는 선형 변환으로 작동한다.
그런데 어떤 행렬을 곱해도 방향은 바뀌지 않고 크기만 변하는 특별한 벡터가 존재한다.
이 벡터를 고유 벡터, 그 크기 변화의 배율을 고유값이라 부른다.
고유값과 고유 벡터는 PCA(주성분 분석)를 비롯한 머신러닝 기법의 수학적 토대이므로 그 값이 어떻게 계산되어 나오는지 이해해 둘 필요가 있다.
1. 고유값과 고유 벡터의 정의
1️⃣ 기본 관계식
행렬 에 대해 어떤 벡터 가 존재하여, 를 곱해도 방향은 바뀌지 않고 크기(스칼라 배수)만 변하는 경우가 있다.
이때의 관계식은 다음과 같다.
Av = λv
여기서 (람다)는 고유값(eigenvalue), 는 고유 벡터(eigenvector)다.
이 식의 의미는 선형 변환 를 적용해도 방향이 유지되는 특별한 벡터가 이고, 그 벡터가 늘어나거나 줄어드는 배율이 라는 것이다.
2️⃣ 기하학적 의미
일반적인 벡터는 행렬을 곱하면 크기와 방향이 모두 변한다.
하지만 고유 벡터는 방향이 그대로 유지된 채 길이만 배로 바뀐다.

이 "방향이 보존되는 축"을 찾는 것이 고유값 분해의 핵심이며, PCA(주성분 분석)에서 데이터 분산이 가장 큰 방향을 찾는 계산도 결국 이 과정이다.
2. 고유값 찾기: 특성 방정식
1️⃣ 식 유도
를 한쪽으로 정리한다.
Av - λv = 0
여기서 를 그대로 빼면 차원이 맞지 않으므로, 단위 행렬 (대각선이 1, 나머지가 0인 행렬)를 끼워 넣는다.
이므로 식은 다음과 같이 정리된다.
(A - λI)v = 0
2️⃣ 행렬식이 0이어야 하는 이유
이 식은 이라는 자명한 해(trivial solution)를 항상 갖는다.
그러나 고유 벡터는 정의상 0이 아닌 벡터여야 의미가 있다.
이 0이 아닌 해를 가지려면, 행렬 가 역행렬을 가지면 안 된다.
만약 역행렬 이 존재한다면 양변에 곱해서 이라는 결론만 나오기 때문이다.
역행렬이 존재하지 않을 조건은 행렬식(determinant)이 0이라는 것이다.
det(A - λI) = 0
이 식을 특성 방정식(characteristic equation)이라 부른다.
3️⃣ 원본 행렬 대입
다음 행렬 로 계산을 진행한다.

를 구성한다.
[ 1 2 ] [ λ 0 ] [ 1-λ 2 ]
A - λI = [ ] - [ ] = [ ]
[ 4 5 ] [ 0 λ ] [ 4 5-λ ]
4️⃣ 행렬식 계산
2×2 행렬의 행렬식은 공식을 따른다.
det = (1-λ)(5-λ) - (2 × 4) = 0
전개한다.
(1-λ)(5-λ) - 8 = 0
(λ² - 6λ + 5) - 8 = 0
λ² - 6λ - 3 = 0
5️⃣ 근의 공식 풀이
에 근의 공식을 적용한다.
, , 이다.
-b ± √(b² - 4ac) 6 ± √(36 + 12) 6 ± √48
λ = ─────────────────── = ───────────────── = ───────── = 3 ± 2√3
2a 2 2
√3 이므로 2√3
λ₁ = 3 + 3.464 = 6.464
λ₂ = 3 - 3.464 = -0.464
두 개의 고유값 6.464와 -0.464가 이렇게 산출된다.
3. 고유 벡터 찾기
1️⃣ 고유값 대입
각 고윳값을 다시 에 넣어 벡터 를 구한다.
인 경우를 예로 든다.
[ 1-(-0.464) 2 ] [ x ] [ 0 ]
[ ] [ ] = [ ]
[ 4 5-(-0.464) ] [ y ] [ 0 ]
2️⃣ 연립방정식과 비율
첫 번째 행에서 다음 방정식을 얻는다.
1.464x + 2y = 0
이를 정리하면 와 의 비율이 고정된다.
y = -(1.464 / 2)x ≈ -0.732x
여기서 중요한 점은, 이 비율만 만족하면 해가 무수히 많다는 것이다.
특성 방정식으로 행렬식을 0으로 만든 순간 두 방정식이 종속 관계가 되므로, 해는 하나의 직선(방향)으로 결정될 뿐 특정 한 점으로 고정되지 않는다.
을 대입하면 가 되어 고유 벡터는 다음과 같게 된다.

4. 고유값 분해가 머신러닝에서 갖는 의미
앞서 유도한 고윳값과 고유 벡터는 단순한 선형대수 연산에 그치지 않는다.
머신러닝에서 고윳값 분해가 핵심 도구로 쓰이는 이유는, 복잡하고 방대한 데이터에서 가장 중요한 뼈대만 압축해 골라내는 수단이기 때문이다.
1️⃣ 데이터의 차원 축소
머신러닝 모델에 입력되는 데이터는 수십 개에서 수만 개의 차원(feature)을 갖는 경우가 많다.
예를 들어 1000×1000 픽셀의 이미지 데이터는 100만 개의 차원을 가진다.
이렇게 차원이 지나치게 커지면 학습에 필요한 데이터량이 폭증하고 모델 학습이 어려워지는 이른바 차원의 저주(curse of dimensionality) 가 발생한다.
고유값 분해는 이 문제를 다음 원리로 해결한다.
- 데이터가 가장 넓게 퍼져 있는 중요한 방향(고유 벡터) 과 그 방향의 중요도(고유값)를 산출한다.
- 고유값이 큰 상위 몇 개의 고유 벡터만 남기고 나머지를 버리면, 데이터 고유의 특성은 최대한 보존하면서 차원을 획기적으로 줄일 수 있다.

여기서 고유값의 크기가 곧 그 방향이 담고 있는 정보량(분산)의 크기이며, 이 값을 기준으로 방향을 정렬해 상위만 취하는 것이 차원 축소의 핵심이다.
2️⃣ 연산 속도 향상 및 리소스 절약
머신러닝 모델, 특히 딥러닝 모델은 방대한 양의 행렬 곱셈 연산을 수행한다.
- 차원 축소로 데이터 크기를 대폭 줄이면, 컴퓨터가 계산해야 할 행렬의 크기가 작아진다.
- 이는 모델의 학습 시간을 단축시키고 메모리를 비롯한 컴퓨팅 리소스를 크게 절약하여, 효율적인 학습을 가능하게 한다.
차원 축소가 곧 연산량 절감으로 직결되는 이유는, 행렬 곱셈의 연산량이 행렬의 크기에 따라 급격히 증가하기 때문이다.
입력 차원을 줄이는 것만으로 전체 학습 파이프라인의 부담이 낮아진다.
3️⃣ 노이즈 제거 및 과적합 방지
현실 세계의 데이터에는 학습에 방해가 되는 노이즈(불필요한 세부 정보나 오류)가 항상 섞여 있다.
- 고유값 분해 결과에서 가장 작은 고유값에 대응하는 고유 벡터들은 이러한 노이즈나 지엽적인 패턴을 나타내는 경우가 많다.
- 이 작은 고유값 성분들을 제거하면 데이터가 한결 깔끔해진다.
큰 고윳값 방향 ──▶ 데이터의 핵심 구조 (신호) → 유지
작은 고윳값 방향 ──▶ 지엽적 패턴·오류 (노이즈) → 제거
결과적으로 모델이 쓸데없는 디테일까지 학습하는 것을 막아, 처음 보는 새로운 데이터에 대해서도 예측을 잘하는 튼튼한 모델을 만들 수 있다.
즉 과적합(overfitting)이 방지된 모델을 얻게 된다.
'Journey to CS > 머신러닝' 카테고리의 다른 글
| [ML 스터디 4주차] 행렬식(Determinant)의 기하학적 의미 (0) | 2026.08.14 |
|---|---|
| [ML 스터디 4주차] p값과 통계적 유의성의 논리 구조 - 우연인가 진짠가? (0) | 2026.08.10 |
| [ML 스터디 4주차] 중심 극한 정리와 신뢰 구간 - 표본으로 모집단을 추론 (0) | 2026.08.09 |
| [ML 스터디 3주차] Z스코어 - 서로 다른 분포의 값을 비교하는 방법 (0) | 2026.08.09 |
| [ML 스터디 3주차] 확률밀도함수(PDF)와 누적분포함수(CDF) (0) | 2026.08.09 |