728x90

차원축소 2

SVD를 이용한 추천 시스템 구현하기

차원 축소 기법 중 하나인 SVD(Singular value Decomposition, 특이값 분해)을 추천 시스템에 어떻게 적용하는지 예제를 통해서 알아 보도록 하겠습니다. 차원 축소 알고리듬은 대표적으로 3가지가 있습니다. 1. PCA(Principal component analysis, 주성분 분석) 2. SVD(Singular Value Decomposition, 특이값 분해) 3. NMF(Non-negative Matrix Factorization,비음수 행렬 인수분해) 이 중에 SVD에 대해 최대한 수학적인 내용들을 제외하고 추천 시스템에 SVD를 적용하기 위한 예제 위주로 설명을 드리겠습니다. 이론적, 수학적으로 설명된 자료는 많으나 실제로 코드를 이용해서 어떻게 구현하는지 나와 있는 자료가..

추천시스템 개발을 위한 SVD(특이 값 분해, Singular-value decomposition) 이해

책이나 인터넷을 찾아보면 SVD 이론에 대한 내용은 많이 있지만, 추천 시스템을 개발 관점에서 SVD을 사용해야 되는 이유와 코드를 이용한 설명이 부족한 것 같습니다. 그래서 이번 기회에 정리해 보려고 합니다. 수학적으로는 선형대수학을 알아야 하지만 개발자 입장에서는 수식보다 코드를 보고 다양한 데이터를 대입해보면서 이해하는 것이 훨씬 빠를것 같습니다. 그래서 코드를 통해 쉽게 이해할수 있도록 정리해보겠습니다. 정리 순서는 아래와 같습니다. 차원 축소 정의SVD 정의SVD를 사용한 차원 축소SVD 계산R을 이용한 SVD 이해R을 이용한 추천 시스템에서 SVD 사용하기R을 이용한 비어있는 값이 많은 고객 데이터에서 SVD를 이용한 고객 예상 점수 예측하기 위의 내용은 아래 링크를 보시면 확인할 수 있습니다..

728x90