인공지능 수학 - 고윳값 고유 벡터 간단 문제 & 해설

2024. 10. 16. 15:20카테고리 없음

전공서에 적혀있는

고윳값의 개념이 전혀 이해가 되지 않는다면,

잘 찾아오셨습니다 :)

 

여러분들이 이해하기 쉽도록 잘 설명해보겠습니다.

 

 

우선, 벡터는 방향과 크기를 가진 성분입니다.

 

그리고 벡터를 행렬로 표시하면 $\begin{bmatrix}
x_{1} \\ x_{2}
\end{bmatrix}$ 이런 형태입니다. 

 

이는 (0,0) 에서 $( x_{1}, x_{2} )$ 를 향하는 벡터를 의미합니다. 

 

$\begin{pmatrix}
2 \\3
\end{pmatrix}$ 은, (0,0) 에서 (2,3)을 향하는 벡터를 의미하는 것이죠.

 

 

그리고 행렬은 이러한 벡터들의 집합으로 이해할 수 있습니다.

예를 들어 \begin{bmatrix}
2 & 4 \\
3 & 5\\
\end{bmatrix}이 행렬은 두 개의 열 벡터 $\begin{bmatrix}
2 \\3
\end{bmatrix}$ 와$\begin{bmatrix}
4 \\5
\end{bmatrix}$
로 이루어진 벡터들의 모음입니다.

 

 

------

 

그럼 고윳값이란 무엇일까요?

 

고윳값은, 벡터가 선형 변환을 거친 후에도 크기나 방향이 변하지 않도록 하는 값을 말합니다.

 

조금 더 쉽게 말하면, 이렇습니다. 

 

 

 

벡터가 행렬을 지나는 것을 '선형 변환' 이라 합니다. 

 

선형 변환의 결과로는,

1. 크기와 방향이 같은 경우

2. 크기가 변한 경우

3. 방향이 변한 경우

4. 크기와 방향이 모두 변한 경우 로 나뉘는데

 

벡터의 크기와 방향이 모두 변하지 않게 한 값을 고윳값이라 하는 것입니다.

 

 

고윳값은 보통 λ 로 나타냅니다. 

 

자.. 그럼 전공서에 뭐라고 적혀있는지 보겠습니다.

 

제 책에는,

 

n차 정방행렬 A에 대하여 Ax =  λ x를 만족하는 벡터 x ≠ 0이 존재할 때, 
λ를 A의 고윳값이라 하고 x를 이에 대응하는 고유벡터라고 한다. 

 

 

라고 적혀있습니다. 

 

 

그림으로 나타내면 이런 느낌이겠죠.

 

A는 nxn 인 정방행렬이고,

0이 아닌 벡터 x가 존재한다고 합니다. (x가 고유벡터라는 말도 있네요.)

 

여기서 Ax =  λ x 라는 식이 만족하는데,   λ는 고윳값이라고 하네요. 

 

 

네, 어려워보이는 말이지만,  사실 이게 전부입니다.

 

 

 

그럼 이제 고윳값을 구할 수 있을 것 같은데 .. 

문제가 하나 있습니다.

 

Ax는 nxn 의 행렬 형태를 띄지만,  λ x 는 그 형태를 띄지 않아 값을 구하기 어렵습니다.

 

따라서, 수에 아무런 영향을 미치지 않는 단위 행렬 I 를 좌항에 곱해줍니다. 

곱하기 1을 해준 것 처럼요.

 

그렇게 되면, 

 

 

이제 행과 열이 둘 다 nXn 으로 맞춰져서 연산 가능하게 됩니다. 

 

λ 값을 구하기 위해  전부 우항 (또는 좌항)으로 이항시켜, 한 쪽을 0으로 만들어줍니다. 

 

1이나 2번 식으로 나오겠죠 편한대로 하시면 됩니다.

 

이 때, x는 0이 아니라고 했으므로, 식이 성립하려면 괄호 안의 값이 0이 되어야 합니다. 

또한, 그러기 위해선  (λ I-A)는 비가역적인 (역행렬이 존재하지 않는) 행렬이어야 하므로,

 

(λ I-A) 의 행렬식이 0이어야 합니다. [ det (λ I-A) = 0 ]

 

 

그럼 이제 고윳값을 구하는 간단한 예제를 풀어보겠습니다.

 

 

 

행렬 $A= \begin{bmatrix} 2 & 3 \\ 3& 2\\ \end{bmatrix}$ 의 고윳값을 구하라



 

 

 

풀이는 이렇습니다.

우선 Ax  = λI x 를 먼저 적어둔 뒤에, 

 

주어진 A가 몇 곱하기 몇 행렬인지 확인합니다.

여기서는 2x2 행렬이므로, 단위행렬 I 도 2x2 행렬로 나타내주고

λ 와 곱해주면 됩니다. 

 

λ는 정수이므로 .. 행렬과 정수의 연산에 의해 I의 모든 원소에 λ를 곱해준 것입니다. 

 

이제  (λI - A) 도 행렬의 빼기 연산으로 계산해주고, 

행렬식을 구해 λ 값을 구해주면, A의 고윳값을 구할 수 있는 것입니다. 

 

 

 

 

 

 

행렬 $A=\begin{bmatrix}
1 & 2 & 3 \\
0 & 4 & 5 \\
0 & 0 & 6 \\
\end{bmatrix}$ 의 고윳값을 구하라




 

 

 

3x3 행렬의 경우에도 과정은 똑같습니다. 

 

A가 3x3 행렬이므로 단위행렬 I도 3x3 행렬로 맞추어주고, λ에 곱해주면 됩니다.

 ( λI - A) 을 빼기 연산 해준 뒤, 행렬의 행렬식을 구해주면

 

고윳값 λ가 1, 4, 6임을 알 수 있습니다. 

 

 

 

다음은 고유 벡터입니다. 

 


아까 봤던 이 식에서, $ \begin{bmatrix}
x_{1} \\ x_{2}
\end{bmatrix}$ 이 부분을 고유벡터라고 합니다. 

 

고유벡터를 구하기 위해선 고윳값이 필요하므로, 

고윳값을 먼저 구해주어야 합니다. 

 

 

그렇다면 바로 전 문제를 이렇게 고쳐보도록 하겠습니다.

 

 

 

행렬 $A= \begin{bmatrix} 2 & 3 \\ 3& 2\\ \end{bmatrix}$ 의 고윳값과 고유벡터를 구하라

 

 

λ = -1, 5 임을 이미 구했으므로, 

 

λ = -1 인 경우와 λ = 5 인 경우로 나누어 각각의 고유벡터를 구합니다. 

 

λ 에 고윳값을 넣고, 고유벡터 x를 곱해주었을 때 나오는 연립 방정식을 풀어주면

 

고유벡터를 쉽게 구할 수 있습니다. 

 

 

 

-----------------------------------------------------------------------------

 

 

고윳값 문제 예제를 찾기가 힘들어서 들어오신 분들과

 

예제 문제를 더 풀어보고 싶으신 분들은 아래 사이트를 이용해주시면 좋겠습니다. 

 

https://matrixcalc.org/ko/vectors.html

 

고유 값과 고유 벡터

행렬 A: 구하기 더 자세한 내용: 대각선 행렬 조던 분해 행렬 지수 특이 해 분리

matrixcalc.org

 

이 주소를 눌러주면, 이런 창이 뜨는데

 

 

(좌측의 고유값 계산기를 클릭 -> 행렬 임의로 입력 -> 구하기)

 

A 행렬에 아무 숫자나 넣고 계산해보신 뒤에 결과가 맞는지 확인해 보시면 됩니다. :)

 

 

 

 

위의 $\begin{bmatrix}
2 &3  \\
 3& 2 \\
\end{bmatrix}$ 를 돌려보면, 고유값과 고유벡터가 이렇게 나오는 것을 확인할 수 있습니다.