Ch 05-3. 자카드, 피어슨 유사도

Yeonghyeon·2022년 7월 28일
0

Recommender System

목록 보기
12/33

본 포스팅은 Fastcampus 강의를 수강하며 일부 내용을 정리한 글임을 밝힙니다. 보다 자세한 내용은 아래 강의를 통해 확인해주세요.
참고 : Fastcampus 딥러닝을 활용한 추천시스템 구현 올인원 패키지 Online


Ch 05. Neighborhood-based Collaborative Filtering


자카드 유사도 - Jaccard Similarity

  • 집합의 개념을 이용한 유사도 계산

  • 집합 A와 B사이의 유사도: 얼마나 많은 아이템이 겹치는지

  • 합집합과 교집합 사이의 비율로 유사도 계산

  • 공통 아이템 없으면 0, 모두 겹치면 1

  • 주로 여러 단어로 구성된 문서 또는 문장이 유사한지 판단할 때 사용


    J(A,B)=ABAB=ABA+BABJ(A,B)=\frac{|A\cap B|}{|A\cup B|}=\frac{|A\cap B|}{|A|+|B|-|A\cap B|}

  • ex) 사용자가 각 영화마다 키워드들을 매겨놨을 때, 그 키워드들을 이용해 두 영화의 자카드 유사도를 구할 수 있음


피어슨 유사도 - Pearson Similarity

  • Vector X, Y 사이의 상관계수를 계산(=피어슨 상관계수)

  • 각 Vector의 표본 평균으로 각 vector를 정규화하고 코사인 유사도를 구함

  • 1: 양의 상관관계, -1: 음의 상관관계, 0: 상관관계 없음

  • ex) 유저 A는 모든 영화에 평점 5점을 주고 유저 B는 모든 영화에 평점 1점을 주었을 때, 이를 5점과 1점으로 이루어진 벡터 2개로 만들고 코사인 유사도를 구해보면 1이나옴 ➡️ 두 유저의 취향은 완전 반대임에도 불구하고 코사인 유사도는 두 유저는 취향이 비슷하다고 잘못 판단 내릴 수 있다

  • 이러한 경우에서 피어슨 유사도를 이용해 보완 가능!


Review

유사도를 구하는 것이 협업필터링 구현에 있어 굉장히 중요한 부분이기때문에 여러 유사도를 고려하여 구해보자!

0개의 댓글