Chapter 5 - (2)

김동하·2023년 7월 20일

rec_sys

목록 보기
6/8

연관 규칙

  • 연관 규칙의 경우 협조 필터링 추천 중에서도 과거부터 지금까지 폭넓게 업계에서 활용되고 있다.
  • 연관 규칙에서는 대량의 구매 이력 데이터로부터 '아이템 A와 아이템 B는 동시에 구입하는 경우가 많다'는 규칙을 발견
  • '기저귀와 맥주'를 통하여 알 수 있다.
  • SQL로도 구현 가능할정도로 계산 방법 자체는 간단
아이템A아이템B아이템C
사용자1oo
사용자2oo
사용자3o
사용자4ooo

지지도

  • 지지도란 어떤 아이템이 전체 중에서 출현한 비율.

    지지도(A) = (A의 출현 수) / 전체 데이터 수 3/4 = 0.75
    지지도(B) = (B의 출현수) / 전체 데이터 수 3/4 = 0.75
    지지도(C) = (C의 출현수) / 전체 데이터 수 2/4 = 0.5
    지지도(A and B) = (A와 B의 동시 출현 수) / 전체 데이터 수 = 3/4 = 0.75

확신도

  • 아이템 A가 나타났을 때 아이템 B가 나타날 비율

    확신도(A -> B) = (A와 B의 동시 출현 수) / (A의 출현수) = 3/3 = 1.0

리프트값

  • 리프트값이란 아이템 A와 아이템 B의 출현이 어느 정도 상관관계를 갖는지 나타내는 것

리프트(A -> B) = 지지도(A and B) / (지지도(A) 지지도(B)) = 0.75 / (0.75 0.75) = 1.333

  • 서로 독립적인 아이템이라면 리프트값은 1이 된다.

  • 각 아이템의 양의 상관관계가 존재하면 리프트 값은 1보다 커지며 음의 상관관계의 경우 리프트 값은 1보다 작아진다.

  • 또한 이러한 리프트 값에 로그를 취하면 점별 상호정보량(PMI)(Point Mutual Information)이 된다.

  • 추천시스템의 경우 리프트 값이 높을 수록 아이템 A 출현과 아이템 B의 출현의 상관관계가 높으므로 아이템 A를 구입한 사용자에게 아이템 B를 추천하면 구입 확률이 높아질 가능성이 있다.

  • 엄밀하게는 인과 관계가 아니기 때문에 실제 추천을 통하여 검증해야한다.

  • mlxtend 라이브러리의 apriori를 통하여 구현가능

사용자-사용자 메모리 기반 방법 협조 필터링

  • 메모리 기반 방법에서는 추천 시스템이 사용될 때까지 시스템 내의 사용자 데이터를 축적하기만 하고 계산은 수행하지 않으며 추천하는 시점에서 축적된 데이터 중 필요한 것을 모두 사용하여 예측 계산을 수행
  • 예측 계산시 다른 알고리즘에 비해 시간이 걸리는 경우가 많다
  1. 미리 얻은 평갓값을 사용해 사용자 사이의 유사도를 계산하고 추천받을 사용자와 기호 경향이 비슷한 사용자를 찾는다
  2. 기호 경향이 비슷한 사용자의 평갓값으로 추천받을 사용자의 미지의 아이템에 대한 예측 평갓값을 계산
  3. 예측 평갓값이 높은 아이템을 사용자에게 추천한다.
  • Surprise 라이브러리를 활용하여 구현이 가능

회귀 모델

  • 미지의 아이템에 대한 평갓값을 회귀문제로 정식화함으로써 예측을 할 수 있다.
  • 사용자-사용자 메모리 기반 방법 협조 필터링에 비하면 성능이 떨어질 수 있다.
  • 무작위 추천과 비슷한 정확도를 보이는데, 평가 수에 일정한 임계값을 설정하면 이러한 현상을 피할 수 있다.

0개의 댓글