선형대수를 배우다 보면 고윳값과 고유벡터라는 개념이 나옵니다. 처음 봤을 때 솔직히 왜 배우는지 몰랐습니다. 행렬에 벡터를 곱했는데 방향이 안 바뀐다는 게 무슨 의미인지 감이 안 왔거든요. 근데 이게 PCA, 추천 시스템, 구글 페이지랭크 알고리즘까지 연결된다는 걸 알고 나서 완전히 다르게 보이기 시작했습니다.
고윳값과 고유벡터는 행렬이 공간을 어떻게 변형하는지를 가장 핵심적으로 보여주는 개념입니다. 이 글에서는 기하학적 직관부터 실제 계산, 그리고 AI에서 어떻게 쓰이는지까지 순서대로 따라가 보겠습니다.

행렬은 공간을 어떻게 변형하는가
행렬을 벡터에 곱하면 그 벡터가 변형됩니다. 방향이 바뀌기도 하고, 크기가 늘어나거나 줄어들기도 하고, 회전하기도 합니다. 예를 들어 2 ×2 행렬을 2차원 벡터에 곱하면 그 벡터가 2차원 평면 위에서 어딘가로 이동합니다.
대부분의 벡터는 행렬을 곱하면 방향이 달라집니다. 그런데 특별한 벡터들이 있습니다. 행렬을 곱해도 방향이 그대로 유지되는 벡터입니다. 크기는 변할 수 있지만 방향은 바뀌지 않습니다. 이게 고유벡터입니다. 그리고 크기가 얼마나 변했는지를 나타내는 값이 고윳값입니다.
고유벡터란 무엇인가: 방향이 바뀌지 않는 벡터
수식으로 쓰면 이렇습니다.
A는 행렬, v는 고유벡터, λ(람다)는 고윳값입니다. 행렬 A를 벡터 v에 곱했더니 그냥 v에 λ를 곱한 것과 같다는 뜻입니다. 방향은 그대로고 크기만 λ배 변했다는 거예요.
예를 들어 λ = 3이라면 행렬을 곱했을 때 그 벡터가 같은 방향으로 3배 늘어난 겁니다. λ = 0.5라면 절반으로 줄어든 거고요. λ가 음수면 방향이 반대로 뒤집히면서 크기가 변합니다. 방향은 고유벡터가, 변화의 배율은 고윳값이 담당합니다.
고윳값이란 무엇인가: 늘어나는 배율
행렬 하나에 고유벡터와 고윳값이 여러 개 있을 수 있습니다. n×n 행렬이면 최대 n개의 고유벡터와 고윳값 쌍이 존재합니다. 각각의 고유벡터는 서로 다른 방향을 나타내고, 고윳값은 그 방향으로 얼마나 변형이 일어나는지를 나타냅니다.
고윳값이 크다는 건 그 방향으로 데이터가 많이 퍼져있다는 의미입니다. 작다는 건 그 방향으로는 거의 변화가 없다는 뜻이고요. 이게 나중에 PCA에서 중요한 역할을 합니다. 고윳값이 큰 방향일수록 데이터에서 중요한 정보를 담고 있습니다.
고윳값 고유벡터 직접 계산해보기
간단한 예시로 직접 계산해 보겠습니다. 행렬 A = [[3, 1], [0, 2]]의 고윳값을 구해보겠습니다.
고윳값을 구하려면 det(A - λI) = 0을 풀어야 합니다. I는 단위행렬입니다.
det(A - λI) = (3-λ)(2-λ) - 1×0 = 0
(3-λ)(2-λ) = 0
λ = 3 또는 λ = 2
고윳값이 3과 2로 나왔습니다. 이제 λ = 3일 때 고유벡터를 구해봅니다.
[[0, 1], [0, -1]] × [x, y] = [0, 0]
y = 0, x는 자유
고유벡터 v₁ = [1, 0]
λ = 2일 때는 고유벡터 v₂ = [1, -1]이 나옵니다. 검증해 보면 A× [1,0] = [3,0] = 3 × [1,0] 맞고, A× [1,-1] = [2,-2] = 2 × [1,-1] 맞습니다.
| 고윳값 λ | 고유벡터 v | 검증 (Av = λv) | 의미 |
|---|---|---|---|
| 3 | [1, 0] | [3, 0] = 3×[1, 0] ✅ | x 방향으로 3배 늘어남 |
| 2 | [1, -1] | [2, -2] = 2×[1, -1] ✅ | 해당 방향으로 2배 늘어남 |
기하학적으로 이해하기
숫자로 보면 복잡한데, 기하학적으로 보면 훨씬 직관적입니다. 행렬은 공간을 늘리고 회전시키는 변환입니다. 이때 대부분의 벡터는 변환 후 방향이 바뀝니다. 근데 고유벡터는 그 변환의 축 역할을 하는 벡터입니다. 변환이 일어나도 이 축 방향은 유지됩니다.
고무판을 잡아당기는 걸 상상해 보세요. 가로로 3배, 세로로 2배 늘린다면 가로 방향벡터와 세로 방향벡터는 방향이 바뀌지 않습니다. 그냥 각각 3배, 2배 늘어납니다. 이 두 방향이 고유벡터이고 3과 2가 고윳값입니다. 다른 각도의 벡터들은 잡아당기면 방향이 달라집니다.
PCA에서 고유벡터가 하는 역할
PCA(주성분 분석)는 고차원 데이터를 저차원으로 압축하는 방법입니다. 100개의 특성이 있는 데이터를 2~3개의 핵심 특성으로 줄이는 거예요. 이때 고유벡터와 고윳값이 핵심 역할을 합니다.
데이터의 공분산 행렬을 구하고 그 행렬의 고유벡터를 찾으면, 데이터가 가장 많이 퍼져있는 방향들이 나옵니다. 고윳값이 가장 큰 고유벡터 방향이 데이터의 분산이 가장 큰 방향입니다. 이 방향이 데이터에서 가장 중요한 정보를 담고 있습니다.
예를 들어 키와 몸무게 데이터가 있다면 이 두 변수는 비슷한 방향으로 움직이는 경향이 있습니다. PCA를 쓰면 이 상관관계를 고유벡터로 잡아내고, 가장 중요한 방향 하나로 데이터를 요약할 수 있습니다. 이미지 압축, 얼굴 인식, 노이즈 제거에 모두 이 원리가 쓰입니다.
구글 페이지랭크와 고유벡터
구글이 검색 결과 순위를 매기는 페이지랭크 알고리즘도 고유벡터를 씁니다. 웹페이지들을 노드로, 링크를 화살표로 표현한 거대한 행렬을 만들고 그 행렬의 고유벡터를 구합니다.
여기서 고윳값이 1인 고유벡터가 각 페이지의 중요도를 나타냅니다. 많은 페이지에서 링크를 받는 페이지일수록 고유벡터의 해당 성분이 큽니다. 수십억 개의 웹페이지로 이루어진 거대한 행렬에서 고유벡터를 구하는 게 구글 검색의 기반입니다.
행렬 곱셈이 공간을 변형한다는 선형대수의 기본 개념이, 인터넷 전체를 정렬하는 알고리즘으로 이어진다는 게 꽤 인상적입니다. 고윳값과 고유벡터를 처음 배울 때 왜 배우는지 몰랐던 게 이해가 되는 부분입니다.
'데이터 과학 수학' 카테고리의 다른 글
| 머신러닝의 엔진, 행렬 연산과 선형대수학이 필수적인 이유 (0) | 2026.04.08 |
|---|---|
| 데이터의 뼈대만 남기다, 주성분 분석(PCA)의 마법과 원리 (0) | 2026.04.07 |
| 데이터의 그릇, 벡터와 행렬의 본질과 머신러닝 연산 (0) | 2026.04.05 |
| 정보의 측정, 엔트로피와 딥러닝 손실 함수의 수학적 배경 (0) | 2026.04.05 |
| 데이터의 함정, 상관관계와 인과관계를 혼동하지 않는 법 (0) | 2026.04.05 |