본문 바로가기

SeSAC 금융데이터 분석가/자연어 처리

10/28 금

728x90

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

SVD란 A가 m × n 행렬일 때, 다음과 같이 3개의 행렬의 곱으로 분해(decomposition)하는 것을 말한다.

 

A = U Σ V T


여기서 각 3개의 행렬은 다음과 같은 조건을 만족한다.

 

U : m × m   직교행렬   ( A A T = U ( Σ Σ T ) U T )
V : n × n   직교행렬   ( A T A = V ( Σ T Σ ) V T )
Σ : m × n   직사각 대각행렬

 

이때 SVD로 나온 대각 행렬의 대각 원소의 값을 행렬 A의 특이값(singular value)이라고 한다.

 

LSA(Latent Semantic Analysis, 잠재 의미 분석)의 경우 풀 SVD에서 나온 3개의 행렬에서 일부 벡터들을 삭제시킨 절단된 SVD(truncated SVD)를 사용하게 된다.

 

2. 행렬

1) 전치 행렬(Transposed Matrix)

: 원래의 행렬에서 행과 열을 바꾼 행렬

2) 단위 행렬(Identity Matrix)

: 주대각선의 원소가 모두 1이며 나머지 원소는 모두 0인 정사각 행렬

 

3) 역행렬(Inverse Matrix)

: 행렬 A와 어떤 행렬을 곱했을 때, 결과로써 단위 행렬이 나온다면 이때의 어떤 행렬을 A의 역행렬이라고 하며, A^{-1}라고 표현함

 

4) 직교 행렬(Orthogonal matrix)

: 실수 n × n 행렬 A에 대해서

A   ×   A T = I

를 만족하면서

A T   ×   A = I

을 만족하는 행렬 A

 

5) 대각 행렬(Diagonal matrix)

주대각선을 제외한 곳의 원소가 모두 0인 행렬

 

출처

728x90

'SeSAC 금융데이터 분석가 > 자연어 처리' 카테고리의 다른 글

11/2 수  (0) 2022.11.10
10/27 목  (0) 2022.10.28