본 포스팅은 Fastcampus 강의를 수강하며 일부 내용을 정리한 글임을 밝힙니다. 보다 자세한 내용은 아래 강의를 통해 확인해주세요.
참고 : Fastcampus 딥러닝을 활용한 추천시스템 구현 올인원 패키지 Online
Hybrid Recommender System;
하이브리드 ➡️ 뭐든지 합친다 (성능 향상 기대, 어떤 효과 있을지, 어떤 장단점 있을지)
즉, contents-based recommder system과 collaborative filtering의 장점만 합쳐보는 작업
Contents-based vs. Collaborative Filtering
Contents-based
장점
-
다른 사용자에 의존할 필요 X
-
새로운 아이템 추천 가능
단점
-
아이템의 비슷한 분류를 주로/계속 추천할 수 밖에 없음
-
눈에 보이는 특징만 활용가능, 아이템의 잠재적 의미 활용하기 어려움
Collaborative Filtering
장점
-
집단지성 활용 ➡️ 평가(추천성)의 품질 높아짐
-
잠재적 특징 활용 ➡️ 폭넓은 추천 가능 (in Model-based CF
)
-
Implicit feedback 활용 가능
-
데이터가 쌓일 수록 추천 품질 향상
단점
-
한번도 평가되지 않은 아이템을 추천할 확률 적음 (cold-start
)
-
과거 데이터에 의존 ➡️ 초기(또는 데이터가 부족한) 사용자에게는 추천 품질 떨어짐
-
과거 데이터와 큰 사이즈 데이터에 굉장히 의존 (더 배울 수 있는 것이 많아지고, 잠재적 특징 더 발견 가능)
Hybrid란
-
다양한 데이터와 다양한 알고리즘 조합하는 방식
- 유저와 아이템 프로필, 유저와 아이템의 상호관계, 유저 주변의 다른 유저 정보, 아이템과 비슷한 다른 아이템 정보
-
가용할 수 있는 최대 정보(지식)을 다양한 source로부터 얻어서 활용하는 방식
-
다양한 추천알고리즘의 장점만 모아서 성능 좋고 뛰어난 시스템 만드는 방식
➡️ Robust한 inference 가능
Hybrid Recommender System이란
하이브리드의 목적
0점을 60점대로 올리는 것이 아닌, 60점대의 여러 모델을 하이브리드해서 최종 70점대를 찍는 것
Simple Hybrid Method
wegithed Ensemble
- 여러 모델의 추천 결과(score, 유사도, 평점 등)를 하나로 ensemble 하는 기법
- 각 모델마다 weight가 있다고 가정하고, 모델 별로 나타낸 결과에서 각 weight를 곱해서 ensemble 결과 도출
- 이때 모델의 weight를 정하는 방법: 모델 별로 test셋에 대한 성능을 기준으로 가장 높은 성능을 낸 모델은 큰 weight, 가장 성능이 낮은 모델은 작은 weight를 줌
Other Hybrid Methods
- Weighted Ensemble
- Soft Ensemble(점수) 또는 Hard Vote(다수결)와 같은 방법으로 여러 모델의 추천결과를 하나로 합쳐서 최종 추천 아이템 정하는 방식
- Mixed
- 추천시스템이 적용될 플랫폼에 특징이 다른 여러 추천알고리즘 활용하고, 이때 알고리즘의 추천 결과를 모두 보여주는 방식
- Switch
- 플랫폼 내 사용자 or 서비스 상태 등 특정 상황 고려하여 여러 추천 알고리즘의 추천 결과를 선택적으로 보여주는 방식
- ex) 사용자 접속 기기: 모바일 기기 ➡️ content-based, 컴퓨터 ➡️ collaborative filtering
- Feature Combination
- 보유하고 있는 데이터로부터 얻을 수 있는 다양한 feature를 모두 조합하여 추천 알고리즘을 학습하고 추천하는 방식 (하나의 추천 알고리즘에 모든 feature 때려 넣음)
- 여러 추천 알고리즘을 활용할 때 첫번째 모델이 다음 모델의 input이 되면서 서로가 서로의 정보를 학습하여 추천하는 방식
- 다음 모델은 더 나은 추천모델이 될 수 있음 (이전 모델이 잘한 것(장점)을 바탕으로 다음 모델은 더 잘하겠지)
Evaluation for Hybrid Methods
1. Service Perspective
- Business KPI: 사업 목표 달성했는지
- Online/Offline evaluation
- Accuracy, Coverage, Popularity
- Diversity, Serendipity(Novelty), Scalability : 수치화된 점수들이 더 좋아졌는지 다양한 지표로 측정
- Personlization
- Rating Prediction: RMSE, NDCG