SVD (Singular Value Decomposition) 정보

2837 단어 MachineLearning
기본적으로이 기사는 기계 학습 초보자 나 자신을 위해 메모 감각으로 작성한 것입니다. 많은 어려운 곳을 볼 수 있습니다. 실례합니다. 세세하게 갈 생각이 아니고, 어디까지나 general idea가 잡는 것이 목표입니다.

SVD란?



이 동영상을 보면 이해하기 쉽습니다 (htps //w w. 요츠베. 이 m/와 tch? v=P5ml91아 s1c)
SVD는 Data Dimensionality Reduction 기법 중 하나다. 다음은 Definition과 상세.



3행렬의 product가 SVD.

A는 m*n의 행렬. 문서 행렬에서 비유하면 row가 문서, column이 단어로 각 문서에 각 단어가 출현했는지 하지 않는지를 0 또는 1의 value로 나타낸다. 또는, movie, user 행렬로 비유하면 row가 movie, column가 user로, 그 user가 있는 movie를 본지 보지 않았는지 0,1로 나타낸다.

Σ는 r * r의 대각 행렬 (대각선 위 이외는 0). 전제로서 값은 descending order(가장 큰 것이 최초, 두 번째가 다음...).

U와 V는 왼쪽 or 오른쪽 벡터. r은 행렬 A의 랭크의 의미.

다음은 Graphical에 포착해 보자. 아래 세부 사항.



input A를 받는다. 보시다시피, m * r 행렬, 대각 행렬, n * r Transpose 행렬을 곱합니다. 즉 아래의 이미지의 뜻이 아니야.



그런 다음 속성.

A를 SVD로 변환 할 때 세 행렬은 입력 A에 대해 하나씩만 존재합니다.

다음은 실례.


A is the user * movie matrix. The value is from 0 to 5, which indicate how much you like(5) or dislike(0) each movie. A can be divided, the scifi movies, romance-movies, third one is others which can be ignored.

U is user-to-concept matrix. First column is SciFi-concept. As you can see, first 4 user shows favorableness to scifi-concept, so the values ​​are high. So as romance-movie is.

Sigma shows strength of each concept. This means scifi-concept is important in this matrix, but third one is the least important in this matrix.

V shows movie-to-concept matrix. This shows how much each movie corresponds to each concept.

이상이 SVD의 general idea. 즉 행렬 A의 특징을 추출해, 각 특징의 Strength(중요도?)에 근거해 data matrix를 approximate 해 버리는 느낌일까. 그리고 PCA(주성분 분석)와 사고방식(각 feature의 대표적 특징을 추출하자는 점)이 비슷할까. How it works in detail? What does the rank mean? 라든지 세세한 의문은 많이 있지만, 목적은 완수했기 때문에 다음 번의 즐거움.

좋은 웹페이지 즐겨찾기