인공지능을 위한 선형대수학 기초

고유값과 고유벡터

최 수빈 2025. 1. 7. 16:13

 

고유값과 고유벡터

 

고유값 : 변형 강도

고유벡터 : 특별한 방향

 

행렬이 어떤 "변환"을 할 때, 변하지 않는 핵심적인 특징을 찾아주는 도구

 

고유값 분해(Eigenvalue Decomposition)

 

정방행렬을 고유값과 고유벡터를 통해 분해하는 방법

행렬의 구조적 정보를 추출, 계산 단순화

 

정의

  • Av = λv 형태의 방정식을 만족하는 값과 벡터:
    • λ (고유값) : 행렬이 특정 방향으로 벡터를 변형할 때의 스케일
    • v (고유벡터) : 행렬 작용 후에도 방향이 변하지 않는 벡터

고유값 분해의 수식적 표현

  • 행렬 A를 다음과 같이 분해:
    A = PDP⁻¹
    • P: 고유벡터를 열로 갖는 행렬
    • D: 고유값을 대각 원소로 갖는 대각행렬

고유값 분해는 행렬의 거듭제곱, 지수함수 등을 계산하는 데 유용

 

활용

행렬 계산 최적화

Aⁿ = PDⁿP⁻¹ : 행렬 거듭제곱 계산 간소화

행렬 지수 eᴬ, 로그, 루트 계산 등

 

주성분 분석(PCA)

공분산 행렬의 고유값과 고유벡터를 이용하여 데이터의 주요 변동 방향(주성분)을 찾음

 

물리학 및 신호 처리

진동 모드, 양자역학 등에서 고유값과 고유벡터 사용

 

 

NumPy를 사용하여 행렬의 고유값과 고유벡터를 계산하는 방법

import numpy as np

A = np.array([[4, -2], [1, 1]])

#고유값과 고유벡터 계산
eigenvalues, eigenvectors = np.linalg.eig(A)

print("고유값:", eigenvalues)
print("고유벡터:\n", eigenvectors)

"""
고유값: [3. 2.]
고유벡터:
 [[0.89442719 0.70710678]
 [0.4472136  0.70710678]]

"""

 

특이값 분해(Singular Value Decomposition, SVD)

 

정방행렬뿐 아니라 모든 형태의 행렬을 분해할 수 있는 일반화된 방법 (임의의 직사각 행렬을 분해하는 방법)

  • 행렬 A를 다음과 같이 분해
    A = UΣVᵀ
    • U : AAᵀ의 고유벡터로 이루어진 직교행렬
    • V : AᵀA의 고유벡터로 이루어진 직교행렬
    • Σ : 특이값을 대각 원소로 갖는 대각행렬

 

활용

 

차원 축소

데이터의 주요 정보를 보존하며 차원을 축소

노이즈 제거 및 데이터 압축에 사용

 

추천 시스템

사용자-아이템 행렬을 분해해 잠재 요인을 추출하여 추천에 활용

 

기계 학습

순환신경망(RNN)의 기울기 소실 문제에서 가중치 행렬의 특이값을 분석해 해결책을 도출

SVD로 데이터의 내재적 구조 분석

 

스펙트럴 클러스터링

라플라시안 행렬의 고유벡터 사용

 

페이지랭크(PageRank)

전이 행렬의 주 고유벡터 계산

 

☞ 특이값 분해는 고유값 분해의 확장판

 

 

NumPy를 활용한 SVD 예시

import numpy as np

A = np.array([[3, 1], [1, 3]])

#특이값 분해
U, S, VT = np.linalg.svd(A)

print("U:\n", U)    #왼쪽 특이 벡터
print("Σ:\n", S)    #특이값
print("V^T:\n", VT) #오른쪽 특이 벡터

"""

U:
 [[-0.70710678 -0.70710678]
 [-0.70710678  0.70710678]]
Σ:
 [4. 2.]
V^T:
 [[-0.70710678 -0.70710678]
 [-0.70710678  0.70710678]]
 
 """

 

 

고유값과 특이값의 차이점

구분 고유값 분해(Eigenvalue Decomposition) 특이값 분해(SVD)
대상 행렬 정방행렬만 가능 모든 형태의 행렬 가능
분해 방식 A = PDP⁻¹ A = UΣVᵀ
결과 고유값과 고유벡터 특이값, 왼쪽/오른쪽 특이벡터
목적 방향과 크기의 주요 특징 찾기 데이터의 주요 특징 분리 및 압축
응용 PCA, 동역학, 그래프 분석 등 데이터 압축, 추천 시스템, 노이즈 제거, 차원 축소

'인공지능을 위한 선형대수학 기초' 카테고리의 다른 글

최적화 기법  (1) 2025.01.08
선형 변환  (0) 2025.01.06
행렬식과 역행렬  (2) 2025.01.03
행렬과 행렬 연산  (1) 2025.01.03
벡터 공간과 기저  (5) 2024.12.24