안녕하세요, 우리를 힘들게 하는 선형대수에는 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)
여기서,
예를 들어, 다음과 같은 선형변환을 고려해 봅시다.
이 경우, 위의 두 가지 성질을 만족합니다. 예를 들어, 1,2와 3,4를 각각 선형 변환한 결과를 더하면 다음과 같이 계산됩니다.
반면, 1,2와 3,4를 더한 후에 선형 변환한 결과는 다음과 같습니다.
이 경우, 가산성 성질이 만족됩니다. 마찬가지로, 1,2를 2배 한 벡터와 3,4를 2배 한 벡터를 각각 선형 변환한 결과를 비교하면, 동차성 성질이 만족됨을 확인할 수 있습니다.
Eigenvector, Eigenvalue 고유벡터,고윳값
Linear Transformation에 대해 간단하게 이해했으니 이제 eigenvector, eigenvalue를 알아보면,
어떤 벡터를 선형 변환 했을 때, 크기길이만 다르고 방향은 같은 벡터는 무엇인가요?
여기서 물어보는 벡터가 eigenvector이고, 그래서 선형 변환을 거쳐 크기가 얼마냐 변했냐고 물어보면 eigenvalue배만큼 변했다고 하면 됩니다.
여기서
: 선형 변환 행렬A : 고유 벡터 Eigenvectorx : 고윳값 Eigenvalueλ
입니다. 계산 예제는 직접 써봤습니다.

명심할 점 몇가지는
- Eigenvector, eigenvalue는 어떤 선형 변환
에 대한 정보입니다. 선형 변환이 바뀌면 당연히 새로 구해야 합니다.A - Eigenvector는 0벡터가 아닌 벡터입니다.
- 하나의 Eigenvector에 대해 여러 개의 Eigenvalue가 존재할 수 있습니다.
- Eigenvalue와 Eigenvector는 쌍으로 존재합니다.
- Eigenvalue와 Eigenvector는 스칼라배의 관점에서만 의미가 있습니다. 즉, Eigenvector의 방향은 유지되고 크기만 변화합니다.
'기술 이야기 > 면접 꿀팁' 카테고리의 다른 글
[면접 꿀팁] Similarity Search에 대하여 0 | 2023.04.14 |
---|---|
[면접 꿀팁] Probability와 Likelihood의 차이점 2 | 2023.04.11 |
[면접 꿀팁] Python에서 메모리를 어떻게 관리하는가? 4 | 2023.04.02 |
[면접 꿀팁] 함수형 프로그래밍FunctionalProgramming이란? 0 | 2023.03.31 |
[면접 꿀팁] 배열Array과 링크드 리스트Linkedlist의 특징 0 | 2023.03.31 |
댓글