Codong's Development Diary RSS 태그 관리 글쓰기 방명록
2021-01-15 11:18:56

알고리즘 종류

1. 콘텐츠 기반 필터링(Contents-based Filtering)

  • 각각의 사용자와 아이템에 대하여 프로필 작성, 이를 기반으로 추천.
  • 특징은 사람들 간을 비교하지 않고, 아이템 특성만을 비교한다는 점입니다. 사용자가 적은 초반의 추천 시스템의 경우 사용

1.1 가장 기본적인 것이 코사인 유사도( 코사인 각도 기반의 벡터 유사도)

  1. 직각(90도)이면 0
  2. 다른방향(180도)이면 -1
  3. 같은방향(0도)이면 1

1.2 사용되는 머신러닝 기술

  • KNN Classification (nearest neighbor)
  • Linear Classification

※ 한계점

  • 데이터 셋 구성하기가 어렵다. ex. 영화-> 모든 영화에 대한 일일이 프로필 작성 불가능.
  • 개인적 주관에 영향이 크다. -> 추천의 객관성 떨어짐.

2. 협업 필터링(Collaborative Filtering)

  • 다른 사용자들을 통해 현재 사용자의 취향을 추측. 프로필 데이터 없이, 사용자의 과거 행동 데이터만 가지고 추천

2.1 최근접 이웃 협업 필터링

  1. 사용자 기반 : 비슷한 평점 부여한 사용자 찾아 추측
  2. 아이템 기반 : 비슷한 평점을 받은 아이템 찾아 추측

2.2 잠재 요인

  • 잠재요인을 토대로 행렬 분해해서 추측
  • 잠재 요인은 알 수 없는데, 장르가 될 수도 있고 키워드가 될 수도 있다.

※ 한계점

  • 신규 사용자의 경우, 관찰된 행동 데이터가 없거나 적다. -> 추천의 정확도가 급격히 떨어지는 cold start 문제 발생

대표적인 모델

1. Prediction Version

  • Matrix Completion Problem
  • 사용자와 아이템 간의 평가 점수를 예측하는 것입니다.
  • m명의 user, n개의 item이 있을 때, m x n matrix를 계산하는 방식입니다.

2. Ranking Version

  • Top-k Recommendation Problem
  • 특정 유저에게 k개의 적합한 아이템을 추천해주는 방식입니다.

최신 알고리즘

1. hybrid 추천 시스템

  • 위 두가지의 한계점을 보완하기 위해 함께 사용.
  • 데이터가 일정 수 이상 쌓이는 시점을 기준으로 추천 알고리즘을 다르게 적용

1.1 Combining Filtering 기법

  • 두 가지 알고리즘을 모두 적용하고, 이의 가중 평균(Weighted Average)를 구함.

1.2 Collaboration via Content 기법

  • 평점 데이터와 아이템 프로필을 조합하여 사용자 프로필을 만들어 추천

2. 머신러닝 추천 시스템(Machine Learning Recoomender Systems)

  • 사용자에게 추천할 후보군을 먼저 보여주고 기계가 그에 대한 사용자 반응을 학습하며 점점 더 정교한 결과를 도출해내는 방식

  • 사용자의 단순한 콘텐츠 소비를 넘어서, 상품 조회 및 페이지 클릭 등 사소한 행동까지 학습.


참고자료

'공부' 카테고리의 다른 글

챗봇 정리  (0) 2021.01.15