hre94.log
로그인
hre94.log
로그인
SVD
이정훈
·
2026년 2월 17일
팔로우
0
SVD
SVD (singular vector decomposition)
eigen decomposition에서 nxn 형태 밖에 안되던 문제를 mxn도 decomposition되도록 함
symetric metrix가 아니여도 decomposition 가능
세 개의 다른 행렬의 곱으로 분해할 수 있음 (
U
,
V
U, V
U
,
V
: orthogonal max)
A
=
U
Σ
V
T
A = U\Sigma V^T
A
=
U
Σ
V
T
SVD 증명
증명하는 과정을 서술하면 아래와 같음
A
T
A
A^T A
A
T
A
는 symetric행렬이니 서로 수직인 고유벡터(
V
V
V
)를 찾고, 이걸 행렬 A에 통과시켰더니
U
U
U
또한 서로 직교하는 고유벡터(U) 이다.
A
T
A
A^T A
A
T
A
의
고유벡터(
V
V
V
)
를 찾음
고유벡터(
V
V
V
)를 A로 보내면
길이가
σ
\sigma
σ
만큼 늘어난 벡터들(
U
U
U
)
변환된
U
U
U
벡터들도 여전히 서로 수직
이 관계를 식으로 쓰면
A
V
=
U
Σ
AV = U\Sigma
A
V
=
U
Σ
가 되고, 정리하면
A
=
U
Σ
V
T
A = U\Sigma V^T
A
=
U
Σ
V
T
가 됨 (
V
V
V
가 orthogonal하지 않다면 우변으로 정리 불가능)
Data 압축에 응용
SVD수식을 전개하면 아래와 같은 벡터들의 내적의 합으로 나타낼 수 있음.
σ
\sigma
σ
가 정보량을 의미하며 PCA와 같이 정보량의 합을 기준으로 나머지를 버리면 정보를 압축할 수 있음
A
=
σ
1
u
1
v
1
T
+
σ
2
u
2
v
2
T
+
σ
3
u
3
v
3
T
+
…
A = \sigma_1 \mathbf{u}_1 \mathbf{v}_1^T + \sigma_2 \mathbf{u}_2 \mathbf{v}_2^T + \sigma_3 \mathbf{u}_3 \mathbf{v}_3^T + \dots
A
=
σ
1
u
1
v
1
T
+
σ
2
u
2
v
2
T
+
σ
3
u
3
v
3
T
+
…
이정훈
AngDDo
팔로우
이전 포스트
Box-Cox 변환
다음 포스트
행렬 개념
0개의 댓글
댓글 작성