머신러닝(Machine Learning)/추천 시스템(Recommendation System)

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

leebaro 2017. 11. 28.
728x90

책이나 인터넷을 찾아보면 SVD 이론에 대한 내용은 많이 있지만, 추천 시스템을 개발 관점에서 SVD을 사용해야 되는 이유와 코드를 이용한 설명이 부족한 것 같습니다.


그래서 이번 기회에 정리해 보려고 합니다.  수학적으로는 선형대수학을 알아야 하지만 개발자 입장에서는 수식보다 코드를 보고 다양한 데이터를 대입해보면서 이해하는 것이 훨씬 빠를것 같습니다. 그래서 코드를 통해 쉽게 이해할수 있도록 정리해보겠습니다.


정리 순서는 아래와 같습니다.



  1. 차원 축소 정의
  2. SVD 정의
  3. SVD를 사용한 차원 축소
  4. SVD 계산
  5. R을 이용한 SVD 이해
  6. R을 이용한 추천 시스템에서 SVD 사용하기
  7. R을 이용한 비어있는 값이 많은 고객 데이터에서 SVD를 이용한 고객 예상 점수 예측하기


위의 내용은 아래 링크를 보시면 확인할 수 있습니다.


http://leebaro.tistory.com/entry/SVD%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%B6%94%EC%B2%9C-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0


728x90