-
추천시스템 평가하기카테고리 없음 2022. 4. 5. 13:35
어떤 추천이 좋은 추천일까
좋은 추천시스템을 만들기 위해 고려해야할 항목
- 성능 좋고, 빠르고 설명 가능한 추천 알고리즘
- 추천시스템에 필요한 적절한 데이터(User 또는 Item Profiling)
- 추천시스템의 목적
- 플렛폼 내에서 추천시스템의 역할
- 플렛폼의 사용자
좋은 추천시스템을 위해 고려해야할 사항
- 좋은 아이템을 추천하는 것만이 꼭 좋은 해결책은 아니다.
- 사용자와 플랫폼 간의 소통이 필요하다
- 정보 검색과 정보 추천 차이의 극대화
추천시스템의 성능을 확인하는 방법-1
1. Business 또는 Service 관점
- 추천시스템을 적용하기 전과 후에 따라 달라진 점 파악
- 매출, 구독 등 실제 수익 향상 여부
- Click Through Rate(CTR) 등 방문자의 행동 변화 여부
2. Technique과 Operation 관점
- 다양성: 추천하는 아이템 종류의 변화
- 참신함: 사용자가 한번도 보지 못한 아이템 또는 뜻밖의 아이템이 추천되는지 여부
- 관련성: 사용자와 얼마나 관련이 있는지, 실제 구매로 이어졌는지 여부
추천시스템의 성능을 확인하는 방법-2
1. A/B Testing
- 마케팅과 Web 분석에서 주로 활용하는 실험 방법
- A와 B 2가지 서로 변형된 방법을 사용하여 진행하는 대조 실험
- 가설을 직관이 아닌 데이터 또는 결과로 증명하여 의사결정에 도움을 줄 수 있다.
2. Offline Evaluation
- 추천알고리즘 구현에 사용한 데이터응 Train/Valid/Test로 나누어 평가
- RMSE 등 정량적인 지표를 활용한 객관적인 평가 가능
- 수집된 데이터를 바탕으로 평가가 이루어지므로 실제 서비스 상황에서 다르게 적용될 수 있음
- 다양한 추천알고리즘을 쉽고 빠르게 평가할 수 있음
3. Online Evaluation
- 추천시스템이 적용된 플랫폼에서 실제 사용자의 피드백, 평점 등을 활용
- 수집할 수 있는 데이터의 한계가 있으나 실제 사용자의 데이터이기 때문에 정확한 평가 가능
- 수집한 데이터는 추천서비스 향상에 직접적인 도움을 줄 수 있음
추천시스템 평가하기
Root Mean Square Error(RMSE)
- 평균 제곱근 편차
- 실제 값과 모델의 예측 값의 차이를 하나의 숫자로 나타낸 값
- 예측 대상 값에 영향을 받는다
- 같은 0.01의 에러 값도 어떤 y_pred와 y_actual을 사용했느냐에 따라 다른 의미를 갖는다.
- 잔차의 제곱을 산술평균한 값의 제곱근 = 표준편차 = RMSE (관측값과 실제값 사이의 오차)
- 평점 등 prediction problem의 추천 성능을 평가할 때 사용하는 지표
- RMSE가 낮을 수록 추천알고리즘의 성능이 더 좋다고 정량적으로 평가 가능(1.2에서 0.9로 RMSE가 25% 향상됨)
Normalized Discounted Cumulative Gain(NDCG)
- 랭킹 추천에 많이 사용되는 평가 지표
- 기존 정보검색에서 많이 사용했던 지표
- Top-N 랭킹 리스트를 만들고 더 관심있거나 관련성 높은 아이템 포함 여부를 평가
- 순위에 가중치를 주고 단순한 랭킹이 아닌 데이터의 성향을 반영하기 위한 평가 지표
- MAP, Top K Precision/Recall 등 평가방법 보안
- 검색엔진, 영상, 음악 등 컨텐츠 랭킹 추천에서 주요 평가지표로 활용
- rel -> 관련여부 또는 문제에 따라 세분화된 값
- 상위 아이템 p개의 관련성을 합한 cumulative gain (동일한 비중으로 합함)
- 개별 아이템 관련성에 log nomalization을 적용하여 순위가 낮을수록 가중치를 감소시킴
- 랭킹에 따라 비중을 discount하여 관련성을 계산 -> 하위권에 penalty 부여
- 이상적인 DCG(ideal DCG)를 계산하고 최종 NDCG를 계산함
- IDCG는 전체 p개의 결과 중 가질 수 있는 가장 큰 DCG 값
- 1에 가까울수록 좋은 랭킹
Other Evaluation Metrics
- Precision @ K (Top-K)
- Mean Average Precision (MAP)
- Precision/Recall, AUC
참고-패스트캠퍼스, 딥러닝을 활용한 추천시스템 구현 강의