나뭇잎 교과서

고윳값과 고유벡터

행렬을 곱하면 대부분의 벡터는 방향이 바뀌지만, 어떤 방향의 벡터는 늘어나거나 줄어들 뿐입니다. 이런 벡터가 고유벡터, 늘어나는 배율이 고윳값입니다. 고윳값은 \(\det(A - \lambda I) = 0\)을 풀어 구합니다. 이 절에서는 단위원을 따라 벡터를 돌리며 고유 방향을 직접 찾아보고, 검색 엔진이 고유벡터로 페이지의 순위를 정하는 방법을 따라가 봅니다.

본문

고윳값과 고유벡터

본문

행렬 \(A = \begin{pmatrix}2 & 1\\ 1 & 2\end{pmatrix}\)을 평면의 여러 벡터에 곱해 보았다. \((1, 0)\)은 \((2, 1)\)로 가서 방향이 바뀌고, \((0, 1)\)은 \((1, 2)\)로 가서 역시 방향이 바뀐다. 그런데 \((1, 1)\)은 \((3, 3)\)으로 가서 방향은 그대로이고 길이만 3배가 되었다. \((1, -1)\)도 \((1, -1)\)로 가서 방향이 그대로이다. 이렇게 행렬을 곱해도 방향이 바뀌지 않는 벡터는 어떻게 찾고, 그 벡터는 행렬에 대해 무엇을 알려 줄까?

벡터 vAv방향배율 (1, 0)(2, 1)바뀜 (1, 1)(3, 3)그대로3 (1, −1)(1, −1)그대로1 방향이 그대로인 벡터가 고유벡터, 배율이 고윳값이다.
그림 1. 대부분의 벡터는 방향이 바뀌지만, 두 방향의 벡터는 늘어나거나 그대로일 뿐이다.
먼저 알아야 할 것행렬식(행렬식), 선형변환과 행렬, 이차방정식.

3.1.1늘이기만 하는 방향

영벡터가 아닌 벡터 \(\vec v\)에 대해 \(A\vec v = \lambda\vec v\)인 수 \(\lambda\)가 있으면, \(\vec v\)를 \(A\)의 고유벡터, \(\lambda\)를 그에 대한 고윳값이라 한다. 고유벡터 방향의 직선 위의 점들은 변환 뒤에도 같은 직선 위에 남고, 원점에서의 거리만 \(\lambda\)배가 된다. 그래서 고유벡터는 행렬이 공간을 어떤 축을 따라 늘이고 줄이는지를 알려 준다. \(\lambda\)가 음수이면 방향이 반대로 뒤집히고, 0이면 그 방향의 벡터가 영벡터로 납작해진다.

정리 3.1.1 특성방정식

\(A\vec v = \lambda\vec v\)는 \((A - \lambda I)\vec v = \vec 0\)과 같고, 영벡터가 아닌 해가 있으려면 \[\det(A - \lambda I) = 0\]이어야 한다. \(2\times2\) 행렬에서 이 식은 \(\lambda^2 - (\mathrm{tr}\,A)\lambda + \det A = 0\)이다. 고윳값의 합은 \(\mathrm{tr}\,A\), 곱은 \(\det A\)이다.

\(A - \lambda I\)가 역행렬을 가지면 \((A - \lambda I)\vec v = \vec 0\)의 해는 영벡터뿐이다. 그래서 영벡터가 아닌 고유벡터가 있으려면 \(A - \lambda I\)가 공간을 납작하게 눌러야 하고, 그 조건이 행렬식이 0이라는 특성방정식이다. 특성방정식을 풀어 고윳값을 먼저 구하고, 각 고윳값을 넣은 연립방정식을 풀어 고유벡터를 구한다. 회전 행렬처럼 특성방정식의 근이 실수가 아니면, 평면에서 방향이 그대로인 벡터가 없다.1

3.1.2거듭 곱하면 큰 고윳값이 이긴다

어떤 벡터에 \(A\)를 거듭 곱하면, 그 벡터를 고유벡터들의 일차결합으로 나눈 각 부분이 고윳값의 거듭제곱만큼 늘어난다. 고윳값이 3인 부분은 \(3^n\)배, 1인 부분은 그대로이므로, 여러 번 곱하면 가장 큰 고윳값의 고유벡터 방향이 압도한다. 검색 엔진이 웹 페이지의 중요도를 매기는 방법도 이 성질을 쓴다. 페이지 사이의 링크로 만든 행렬을 거듭 곱하면, 가장 큰 고윳값 1의 고유벡터에 다가가고, 그 성분이 각 페이지의 중요도가 된다.

nAⁿ(1, 0)두 성분의 비 1(2, 1)0.5 3(14, 13)0.929 6(365, 364)0.997, 고유벡터 (1, 1)에 다가감
그림 2. 거듭 곱하면 가장 큰 고윳값 3의 고유벡터 방향으로 점점 기울어진다.

3.1.3예제 풀이

예제 3.1.2

처음 질문의 행렬 \(A\)의 고윳값과 고유벡터를 구하여라. \((1, 0)\)을 고유벡터의 일차결합으로 나타내고, \(A^n(1, 0)\)을 구하여라.

특성방정식은 \(\lambda^2 - 4\lambda + 3 = 0\)이므로 \(\lambda = 3\), \(\lambda = 1\)이다. \(\lambda = 3\)이면 \((A - 3I)\vec v = \vec 0\)은 \(-x + y = 0\)이므로 고유벡터는 \((1, 1)\)이고, \(\lambda = 1\)이면 \(x + y = 0\)이므로 \((1, -1)\)이다. 고윳값의 합 4와 곱 3이 각각 \(\mathrm{tr}\,A\)와 \(\det A\)와 같다.

\((1, 0) = \tfrac12(1, 1) + \tfrac12(1, -1)\)이므로 \(A^n(1, 0) = \tfrac12\cdot3^n(1, 1) + \tfrac12(1, -1) = \left(\dfrac{3^n + 1}{2}, \dfrac{3^n - 1}{2}\right)\)이다. \(n = 6\)이면 \((365, 364)\)로 그림 2와 같다. 행렬을 여섯 번 곱하지 않고도 고윳값의 거듭제곱만으로 결과를 얻은 것이다. 즉 고유벡터는 행렬을 곱해도 방향이 바뀌지 않는 벡터이고 고윳값은 그 배율이며, 특성방정식 \(\det(A - \lambda I) = 0\)으로 구하고, 행렬을 거듭 곱한 결과를 쉽게 계산하게 해 준다.

아래 탐구 카드에서 벡터를 돌려 가며 행렬을 곱해도 방향이 그대로인 벡터를 찾아보고, 검색 엔진이 페이지 순위를 매기는 방법을 고유벡터로 알아보자.

  1. 고유라는 말은 독일어 eigen에서 왔는데, 그 행렬이 본래 가진 고유한 값이라는 뜻이다. 다리나 건물이 흔들릴 때의 고유 진동수도 운동 방정식 행렬의 고윳값으로 구하며, 바람이나 발걸음의 박자가 이 진동수와 맞으면 크게 흔들린다.
마무리

\(A\vec v = \lambda\vec v\)인 영벡터가 아닌 \(\vec v\)가 고유벡터, \(\lambda\)가 고윳값이며, 고유벡터 방향은 변환 뒤에도 그대로이고 길이만 \(\lambda\)배가 된다. 고윳값은 특성방정식 \(\det(A - \lambda I) = 0\)으로 구하고, 그 합과 곱은 대각합과 행렬식이며, 행렬을 거듭 곱하면 가장 큰 고윳값의 고유벡터 방향이 압도한다. 처음 질문의 행렬은 고윳값 3, 1에 고유벡터 \((1, 1)\), \((1, -1)\)을 가져, 두 방향의 벡터만 방향이 바뀌지 않는다.

탐구 1

행렬을 곱해도 방향이 그대로인 벡터가 있을까?

고윳값과 고유벡터 · 도전
\(\vec{v}\)
—
\(A\vec{v}\)
—
두 벡터 사이의 각
—

찾은 방향 없음

  1. 질문행렬을 곱하면 대부분의 벡터는 방향이 바뀐다. 그런데 어떤 특별한 방향의 벡터는 늘어나거나 줄어들 뿐 방향이 그대로이다. 그런 방향은 몇 개나 있을까? 하나도 없을 수도 있을까?
  2. 복원\(A\vec{x} = \vec{0}\)이 \(\vec{0}\) 아닌 해를 가질 필요충분조건은 \(\det A = 0\)이다.
  3. 설명\(A\vec{v} = \lambda\vec{v}\) \((\vec{v} \ne \vec{0})\)이면 \(\lambda\)를 고윳값, \(\vec{v}\)를 고유벡터라고 한다. 식을 \((A - \lambda I)\vec{v} = \vec{0}\)으로 바꾸면 \(\vec{0}\) 아닌 해가 있어야 하므로 \(\det(A - \lambda I) = 0\)이다. 이 \(\lambda\)에 대한 방정식이 특성방정식이고, \(2 \times 2\)이면 \(\lambda^2 - (\mathrm{tr}\,A)\lambda + \det A = 0\)이다. 고윳값마다 \((A - \lambda I)\vec{v} = \vec{0}\)을 풀어 고유벡터를 얻는다.
  4. 연결특성방정식이 실근을 갖지 않으면(회전) 실수 고유벡터가 없고, 중근이면 고유 방향이 하나뿐일 수 있다(밀기). 진동하는 다리의 고유진동수, 다음 카드의 페이지랭크가 모두 고윳값 문제이다.
  5. 적용빨간 벡터 끝을 원을 따라 끌어 파란 \(A\vec{v}\)와 같은 직선 위에 놓이는 방향을 모두 찾자. 반대 방향(고윳값이 음수)도 같은 직선이다. 네 행렬에서 찾은 방향의 수를 비교해 보자.
  6. 판단고유벡터는 방향이 중요하고 길이는 상관없다. \(\vec{v}\)가 고유벡터이면 \(2\vec{v}\), \(-\vec{v}\)도 같은 고윳값의 고유벡터이다. 그래서 "고유벡터는 \((1, 1)\)"은 "\((1, 1)\) 방향의 0이 아닌 벡터 모두"라는 뜻이다.

확인조건이 달라지면

\(A = \begin{pmatrix} 4 & 1 \\ 2 & 3 \end{pmatrix}\)의 고윳값은?

탐구 2

검색 엔진은 어떤 페이지를 맨 위에 올릴까?

고윳값 1의 고유벡터 · 예측→확인

먼저 예측해 보자. 가장 중요한 페이지는 어디일까?

—

  1. 질문링크를 많이 받는 페이지가 중요해 보인다. 그런데 중요한 페이지에서 받은 링크 하나가 이름 없는 페이지에서 받은 링크 열 개보다 값질 수도 있다. "중요도"를 이렇게 돌고 도는 정의로 정하면 계산이 끝날까?
  2. 복원\(A\vec{v} = \lambda\vec{v}\)이면 \(\vec{v}\)는 고유벡터, \(\lambda\)는 고윳값이다. 확률의 합은 1이다.
  3. 설명각 페이지는 자기 중요도를 나가는 링크 수로 나누어 링크한 페이지에 나눠 준다. 이것을 행렬 \(M\)으로 쓰면 "모든 페이지가 받은 만큼이 자기 중요도"는 \(M\vec{x} = \vec{x}\), 곧 고윳값 1의 고유벡터이다. 실제로는 15%의 확률로 아무 페이지로나 옮겨 간다고 보고 \(G = 0.85M + 0.15\cdot\frac{1}{n}J\) (\(J\)는 성분이 모두 1인 행렬)를 쓴다. 아무 벡터에서 시작해 \(G\)를 거듭 곱하면 그 고유벡터로 다가간다(거듭제곱법).
  4. 연결1998년 브린과 페이지가 발표한 페이지랭크가 이 생각이다. 링크를 따라 무작위로 돌아다니는 사람이 각 페이지에 머무는 시간의 비율과 같다. 3단원 마지막 절의 마르코프 연쇄와 같은 구조이다.
  5. 적용먼저 가장 중요한 페이지를 예측해 보자. 그다음 \(G\)를 한 번씩 곱하며 원의 크기가 어떻게 바뀌는지 보고, 무작위 서퍼의 방문 비율과 비교해 보자. 연결망 2에서는 링크 하나만 바뀌었다.
  6. 판단받은 링크 수만 세면 순위를 쉽게 조작할 수 있다(가짜 페이지를 많이 만들어 링크하기). 중요도를 고유벡터로 정하면 가짜 페이지들 자체의 중요도가 낮아 효과가 줄어든다. 실제 검색 엔진은 이 밖에도 많은 기준을 함께 쓴다.

확인조건이 달라지면

페이지 두 개가 서로만 링크하고(\(A \to B\), \(B \to A\)), 순간 이동이 없으면 중요도 벡터는?

AI 출제 문항연습문제 풀어보기13문항
Esc

↑↓ 고르기Enter 열기