Recommendation System Introduce
Recommendation System이란 사용자가 관심을 가질만한 Content를 추천하는 것으로 사용자의 선호도 및 과거 행동을 토대로 적합한 Content를 제공하는 System을 의미합니다
추천 시스템에서의 Deep Learning 활용
Deep Learning은 Machine Learning과 달리 대용량 콘텐츠를 가공없이 Input으로 사용할 수 있어 Feature Extraction(특징추출)에 유리
또한, 선형모델과 달리 비선형성 덕분에 User-Content 간에 복잡한 관계 추출 가능
ML에 비해 많은 데이터를 학습시켰을 때 학습 데이터와 거리가 먼 데이터에 대해 유연한 처리가 가능
추천 시스템의 목표
Prediction version of problem : 학습 데이터를 통해 User의 선호도 예측
Ranking version of problem : Ranking을 고려해 Top - k Item 선정
사용되는 데이터 종류
Explicit Data : User가 선호도를 직접적으로 표현한 데이터(평점, 좋아요/싫어요 등등)
Implicit Data : User가 선호도를 간접적으로 표현한 데이터(검색기록, 구매내역 등등)
추천 시스템 종류
- Content Based Recommendation System
- Collaborative Filtering
- Memory - Based Algorithm
- Model - Based Algorithm
- Hydrid Recommendation System
- CF 기반 추천 시스템 : Cold Start 문제
- Content Based 기반 추천 시스템 : 사용자의 이전 이력을 기반으로 추천하기 때문에, 새로운 사용자에 대한 추천이 어렵다
- 따라서, 이 둘의 단점을 보완하기 위해 2개 이상이 추천 시스템을 조합하여 추천한다
- Knowledge Based Recommendation System
- 자주 구매하지 않는 상품(부동산,명품 등)의 경우 평점 정보가 부족하고 상세 옵션 등 종류가 너무 다양하다. 따라서 충분한 정보가 없기 때문에 좋은 성능을 기대하기 어렵다
- 제약(Constraint) 기반 추천 시스템 : 사용자가 Item에 대한 요구 사항과 제한 사항을 직접 기입하여 그 결과에 맞는 상품을 추천
- 사용자 요구 -> 논리적 제약식 구성(ex. 무게 1.5kg이하) -> Item 속성 비교 -> 추천
- 사례(Case) 기반 추천 시스템 : 과거 유사한 사용자 사례(Case)를 참조하여 현재 사용자의 요구에 적합한 Item을 추천한다.
- 사용자 Query(요구사함) -> Query와 유사한 Case 탐색(유사도 측정) -> 추천
※ Ranking Matrix
User가 구매 후 평가하는 Explicit한 지표이거나 검색 기록 같은 Implicit 한 지표를 Matrix로 표현한 것
M 명의 User와 N개의 Item으로 구성된 상황에서 Rating Matrix R의 element인 $(r_{ui})$는 User u의 Item i에 대한 평가를 나타낸다
(Ranking Matrix에서는 보통 비어있는 Element들이 더 많습니다)