본문 바로가기
기술 이야기/면접 꿀팁

[면접 꿀팁] Eigenvalue와 Eigenvector 설명

by 넌 꿈이 뭐야? 2023. 4. 15.

안녕하세요, 우리를 힘들게 하는 선형대수에는 eigenvalue, eigenvector라는 개념이 밥 먹듯 등장합니다. 다른 분야는 잘 모르겠지만 컴퓨터 비전을 공부한다면 누구나 맞닥뜨릴 Linear Transformation(선형 변환), Eigenvalue(고윳값), Eigenvector(고유 벡터)에 대해 간단히 리뷰하면 좋을 것 같습니다.

Linear Transformation (선형 변환)

Linear Transformation이란 무엇일까요? 거두절미하고 다음의 두 가지 성질을 만족하면 됩니다.

  • 가산성(additivity): 두 벡터를 선형 변환한 결과를 더한 값은, 두 벡터를 각각 선형 변환한 결과를 더한 것과 같습니다.
    $$T(u+v) = T(u) + T(v)$$
  • 동차성(homogeneity): 상수(constant, scalar)배한 벡터를 선형 변환한 결과는, 해당 벡터를 선형 변환한 결과에 스칼라를 곱한 것과 같습니다.
    $$T(cu) = cT(u)$$

여기서, \(T\)는 선형 변환을 의미하고, \(u\)와 \(v\)는 벡터, \(c\)는 스칼라입니다.

예를 들어, 다음과 같은 선형변환을 고려해 봅시다.

$$T(x, y) = (3x - 2y, 2x + y)$$

이 경우, 위의 두 가지 성질을 만족합니다. 예를 들어, (1, 2)와 (3, 4)를 각각 선형 변환한 결과를 더하면 다음과 같이 계산됩니다.

$$T(1, 2) + T(3, 4) = (1, 8) + (7, 14) = (8, 22)$$

반면, (1, 2)와 (3, 4)를 더한 후에 선형 변환한 결과는 다음과 같습니다.

$$T((1, 2) + (3, 4)) = T(4, 6) = (10, 14)$$

이 경우, 가산성 성질이 만족됩니다. 마찬가지로, (1, 2)를 2배 한 벡터와 (3, 4)를 2배 한 벡터를 각각 선형 변환한 결과를 비교하면, 동차성 성질이 만족됨을 확인할 수 있습니다.


Eigenvector, Eigenvalue (고유 벡터, 고윳값)

Linear Transformation에 대해 간단하게 이해했으니 이제 eigenvector, eigenvalue를 알아보면,

어떤 벡터를 선형 변환 했을 때, 크기(길이)만 다르고 방향은 같은 벡터는 무엇인가요?

 

여기서 물어보는 벡터가 eigenvector이고, 그래서 선형 변환을 거쳐 크기가 얼마냐 변했냐고 물어보면 eigenvalue(배)만큼 변했다고 하면 됩니다.

$$\mathbf{A}\mathbf{x} = \lambda\mathbf{x}$$

여기서

  • \(\mathbf{A}\): 선형 변환 행렬
  • \(\mathbf{x}\): 고유 벡터 (Eigenvector)
  • \(\lambda\): 고윳값 (Eigenvalue)

입니다. 계산 예제는 직접 써봤습니다.

어떤 선형 변환에 대한 Eigenvector, Eigenvalue 구하는 법

명심할 점 몇가지는

  1. Eigenvector, eigenvalue는 어떤 선형 변환 \(\mathbf{A}\)에 대한 정보입니다. 선형 변환이 바뀌면 당연히 새로 구해야 합니다.
  2. Eigenvector는 0벡터가 아닌 벡터입니다.
  3. 하나의 Eigenvector에 대해 여러 개의 Eigenvalue가 존재할 수 있습니다.
  4. Eigenvalue와 Eigenvector는 쌍으로 존재합니다.
  5. Eigenvalue와 Eigenvector는 스칼라배의 관점에서만 의미가 있습니다. 즉, Eigenvector의 방향은 유지되고 크기만 변화합니다.
반응형

댓글