알고리즘 종류
1. 콘텐츠 기반 필터링(Contents-based Filtering)
- 각각의 사용자와 아이템에 대하여 프로필 작성, 이를 기반으로 추천.
- 특징은 사람들 간을 비교하지 않고, 아이템 특성만을 비교한다는 점입니다. 사용자가 적은 초반의 추천 시스템의 경우 사용
1.1 가장 기본적인 것이 코사인 유사도( 코사인 각도 기반의 벡터 유사도)
- 직각(90도)이면 0
- 다른방향(180도)이면 -1
- 같은방향(0도)이면 1
1.2 사용되는 머신러닝 기술
- KNN Classification (nearest neighbor)
- Linear Classification
※ 한계점
- 데이터 셋 구성하기가 어렵다. ex. 영화-> 모든 영화에 대한 일일이 프로필 작성 불가능.
- 개인적 주관에 영향이 크다. -> 추천의 객관성 떨어짐.
2. 협업 필터링(Collaborative Filtering)
- 다른 사용자들을 통해 현재 사용자의 취향을 추측. 프로필 데이터 없이, 사용자의 과거 행동 데이터만 가지고 추천
2.1 최근접 이웃 협업 필터링
- 사용자 기반 : 비슷한 평점 부여한 사용자 찾아 추측
- 아이템 기반 : 비슷한 평점을 받은 아이템 찾아 추측
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)
사용자에게 추천할 후보군을 먼저 보여주고 기계가 그에 대한 사용자 반응을 학습하며 점점 더 정교한 결과를 도출해내는 방식
사용자의 단순한 콘텐츠 소비를 넘어서, 상품 조회 및 페이지 클릭 등 사소한 행동까지 학습.