Machine Learning in Action ch.14.3 특이 값 분해(SVD) (FINAL!!!)
14.3 협력적 여과 기반 추천 엔진
협렵적 여과는 추천하고자 하는 사용자 데이터에 대한 데이터 집합을 가지고 다른 사용자의 데이터와 비교하는 작업을 수행하는 것을 뜻한다.사용자 또는 아이템의 유사도를 알고 있다면 기존 데이터를 사용하여 알려지지 않은 선호도를 예측할 수 있다.
아이템 기반과 사용자 기반 유사도 측정에 대해 알아볼 것이다.
14.3.1 유사도 측정
우선 아이템 기반과 사용자 기반에 대해 설명한다.
위처럼 데이터 집합이 존재한다고 가정해보면
아이템 기반 유사도 측정은 열에 대해 유사도 측정하는 것이고,
사용자 기반 유사도 측정은 행에 대해 유사도 측정하는 것이다.
예를 들면, 유사도 측정 방법 중 유클리드 거리를 사용해보면,
트리 팁과 폴드 포크간의 유사도는
sqrt((2-2)^2+(3-3)^2+(1-1)^2) = 0
우나기 돈과 폴드 포크간의 유사도는
sqrt(4+9+1+1+4+25+1) = sqrt(45) 이므로
거리가 더 짧은 트리 팁과 폴드 포크가 더 유사하다고 매우 보여진다.
이제 유사도 측정법에 대해 나열한다.
1. 유클리드 거리
2. 피어슨 상관관계
3. 코사인 유사도
자세한 설명은 생략한다.
14.3.2 추천 엔진 평가하기
우리에게는 예측을 위한 목적 값이 없기 때문에 교차검증을 사용하여야한다.측정 방법은 제곱 평균 제곱근(RMSE)이다.
드디어 끝났다..
이제 Building Machine Learning Systems with Python 이라는 책을 통해 실습하며 실력을 쌓아야겠다.
우선 선형대수부터 공부해야할 것 같긴 하다...
댓글
댓글 쓰기