반응형
행렬의 특잇값 분해는 아래와 같이 행렬 A를 U,D,V 세 행렬의 곱으로 나타내는 것입니다. (보통 D 대신 Σ 를 사용하는데, R 함수에서는 D를 사용합니다.)
$A=UDV^{T}$
특잇값 분해는 영어로 singular value decomposition 입니다. 줄어서 SVD 라고 부릅니다. R 함수 이름도 svd 입니다. singular value 를 한글로 옮긴 것이 '특잇값' 입니다.
A,U,D,V 에 대한 설명은 아래와 같습니다.
A : NxM 크기의 행렬
U : N차원 정방 직교 행렬
D : 대각행렬
V : M차원 정방 직교 행렬
아래는 R 예시입니다.
> A=matrix(1:6,2)
> A
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> svd(A)
$d
[1] 9.5255181 0.5143006
$u
[,1] [,2]
[1,] -0.6196295 -0.7848945
[2,] -0.7848945 0.6196295
$v
[,1] [,2]
[1,] -0.2298477 0.8834610
[2,] -0.5247448 0.2407825
[3,] -0.8196419 -0.4018960
반응형
'5. 자료구조 > 2) 행렬 | matrix()' 카테고리의 다른 글
[R 코딩] 행렬의 고유값과 고유벡터 (0) | 2020.12.24 |
---|---|
[R코딩] 행렬을 이용한 연립방정식의 해 (solve) (0) | 2020.12.21 |
[R코딩] 행렬 열별 평균 구하기 (colMeans) (0) | 2020.12.21 |
[R코딩] 행렬 열 별로 합 구하기 (colsums) (0) | 2020.12.21 |
[R코딩] 행렬의 행 별로 합 구하기 (rowSums) (0) | 2020.12.21 |
댓글