내용 기반 추천 시스템

사용자가 구매/만족했던 상품과 유사한 것을 추천하는 방법.


  • 상품 프로필 수집
    사용자가 선호했던 아이템에 대해 원-핫 인코딩으로 상품 프로필을 만든다.

  • 사용자 프로필 구성
    상품 프로필을 선호도를 사용하여 가중 평균하여 계산한다. (선호하는 정도를 가중치로)

  • 사용자 프로필과 다른 상품 프로필 매칭
    사용자 프로필 벡터와 상품 프로필 벡터의 코사인 유사도를 계산한다.



협업 필터링


  • 사용자-사용자 협업 필터링

대상 사용자와 유사한 사용자가 사용했던 아이템을 추천하는 방식

취향의 유사성을 측정하기 위해 상관계수를 이용한다.

취향의 유사도를 가중치로 사용한 평점의 가중 평균을 통해 평점을 추정한다.

\[사용자 \;x의 \;상품 \;s에 \;대한 \;평점 \;r_{xs}를 \;추정하는 \;경우를 \;생각해보자.\] \[상관계수를 \;이용하여 \;상품 \;s를 \;구매한 \;사용자 \;중에 \;x와 \;취향이 \;가장 \;유사한 \;k명의 \;사용자 N(x;s)를 \;뽑는다.\\] \[\hat{r}_{xs}\; = \; \frac{\sum_{y \in N(x;s)}sim(x,y) \cdot r_{ys}}{\sum_{y \in N(x;s)}sim(x,y)}\] \[취향의 \;유사도를 \;가중치로 \;사용한 \;평점의 \;가중 \;평균을\; 계산한다.\]


추정해서 나온 결과와 실제값의 오차를 측정한다.

MSE나 RMSE를 사용한다.

\[MSE : \frac{1}{|T|}\sum_{r_{xi} \in T}\,(r_{xi}\,-\,\hat{r}_{xi})^2 RMSE : \sqrt{\frac{1}{|T|}\sum_{r_{xi} \in T}\,(r_{xi}\,-\,\hat{r}_{xi})^2}\]