728x90
반응형
검색과 추천의 차이
- 유저의 검색(Search): 사용자의 의도가 담긴 Query를 사용하여 데이터를 당겨옴 (Pull)
- 시스템의 추천 (Recommendation): 사용자의 취향을 분석한 데이터를 기반으로 상품을 추천 (Push)
추천 시스템에서 사용하는 정보
- 유저 관련 정보: 유저 프로파일링 → 식별자, 데모그래픽 정보, 행동 정보
- 아이템 관련 정보: 아이템 프로파일링 → 아이템 식별자, 아이템 고유 정보
- 유저 — 아이템 상호작용 정보: 유저가 아이템과 상호작용한 log → 추천 시스템을 학습하는 Feedback Data로 역할을 수행
- Explicit Feedback Data: 명시적 피드백 데이터 — 평점, 좋아요 여부 등
- Implicit Feedbakc Data: 암시적 피드백 데이터 — 클릭, 구매 여부 등
추천 시스템의 수행 역할
- 랭킹 (Ranking): 유저에게 적합한 아이템 Top K개를 추천
- Top K 선정을 위한 기준 및 스코어 필요! 정확한 선호도를 구할 필요는 없음
- 예) Precision@K, Recall@K, MAP@K, NDCG@K
- 예측 (Prediction): 유저의 아이템 선호도를 예측 (평점 등)
- 유저가 아이템을 평가할 값 혹은 구매할 확률 값들을 정확하게 예측하여, 유저 — 아이템 행렬을 채워야 함
- 예) MAE, RMSE, AUC
추천 시스템의 성능은 어떻게 평가할까?
- 비즈니스적 관점: 추천 시스템 적용으로 인한 매출 및 PV, CTR 증가 등
- 품질 관점: 연관성, 다양성, 새로움, 참신함
추천 시스템의 Offline Test
추천 모델을 검증하기 위해 가장 우선적으로 시행하는 단계 → 객관적인 성능 지표로 평가
랭킹 문제: Precision@K, Recall@K, MAP@K, NDCG@K, Hit Rate
예측 문제: RMSE, MAE — 머신러닝 메트릭과 유사
- Precision@K: 우리가 추천한 K개의 아이템 가운데 실제 유저가 관심있는 아이템의 비율
- Recall@K: 유저가 관심있어 하는 아이템 가운데 시스템이 추천한 아이템의 비율
- AP@K의 계산 과정: Average Precision, Precision@1부터 Precision @K까지의 평균값
- Precision K와 달리, 관련 아이템을 더 높은 순위에 추천할수록 Score가 상승함 → 아이템의 추천 순서를 고려할 수 있는 metric
- 해당 아이템을 사용자가 좋아했는지 여부를 나타내는 relevence 값이 곱해지는 경우도 있음
- MAP@K: 모든 유저에 대한 AP@K 값의 평균
- NDCG@K: 검색(Information Retrieval)에서 등장했지만, 추천 시스템에서 많이 사용되는 지표
- Top K 리스트 생성 → 순서에 따른 가중치 비교 → 성능 평가
- 성능 값이 1에 가까울 수록 좋음
- 연관성을 이진(binary)값이 아닌 수치로도 사용 가능 → 그에 따라 관련성 있는 아이템 상위 노출 가능
추천 시스템의 Onlline Test
Offline Test에서 검증된 가설 및 모델을 통해 실제 추천 결과를 서빙 → 동시에 대조군과 실험군의 실제 서비스 성능을 평가하여 결정 → 현업에서는 정량적 수치보다는 매출, CTR 등의 비즈니스 지표를 통해 최종 결정됨
728x90
반응형