CF

Han Hanju·2023년 5월 29일
0
post-thumbnail

CF기반 영화 평점 예측

  • CBF와는 달리 유저가 아이템을 어떻게 평가했는지의 메트릭스로만 예측
  • 주어진 메트릭스의 빈칸을 찾아 나가는것

Item-Based Collaborative Filtering

  • 가정: 유사한 아이템에 내가 부여한 평점과 비슷한 평점을 부여

CBF와의 차이

  • CBF
    • 아이템간의 유사도를 아이템속성(메타 데이터)을 이용하여 계산
      • step1: TF-IDF를 이용하여 아이템을 vector로 표현
      • step2: 아이템간의 유사도를 sim로 계산
  • CF
    • 아이템간의 유사도를 사용자의 아이템 평가 이력을 이용하여 계산
      • step1: 평점 데이터를 이용하여 아이템 vector로 표현
      • step2: 아이템간의 유사도를 sim로 계산

Item Vector

  • 비교적 sparse한 vector 이다.

Item-Item Cosine Similarity

  • Null value handling
    • 두 vector에서 모두 null이 아닌 row만 사용

User-based CF

  • 나와 유사한 사용자들의 해당 아이템 평점과 비슷하게 부여
  • 사용자간의 유사도를 사용자의 아이템평가 이력을 이용하여 계산
    • step1: 평점 데이터를 이용하여 사용자를 vector로 표현
    • step2: 사용자간의 유사도를 sim로 계산

User Vector

  • Sparse vector

Rating Prediction using User Similarity

item-based vs user-based

  • item-based
    • 장점: 아이템간의 유사도는 충분한 데이터가 축적된 이후 많이 바뀌지 않는다 -> batch주기를 길게 설정 할 수 있다
    • 단점: 일반적으로 더 낮은 정확도
  • user-based
    • 장점: 일반적으로 더 높은 정확도
    • 단점: 일반적으로 사용자수가 아이템수보다 많고 자주 바뀜

고려사항

  • Similarity 신뢰도
    • 데이터가 적은경우 유사도에 대한 신뢰도가 떨어진다
      • 평가 이력이 적은 아이템 혹은 사용자
    • 아이템 1과 2를 동시에 평가한 사용자가 1명인 경우
    • 아이템 1과 2를 동시에 평가한 사용자가 2명인경우
  • 해결
    • 평가 이력수가 적은 경우 유사도 계산을 하지 않는다
    • Smoothing
      • ex) 이력수가 k개보다 작은경우 sim/k값으로 보정

Rating Prediction

  • 모든 아이템/사용자 가 아니라 다음과 같이 한정하기도 한다
    • 가장 유사한 Top-k아이템/사용자
    • 유사도가 threshold이상인 아이템/사용자
    • Sim matrix storage cost가 낮아진다
profile
Data Analytics Engineer

0개의 댓글