📚추천시스템 기본 용어 정리
• Recommendation System 이란?
: technical 하게 정의를 내리자면, "모든 고객에 대해서, 모든 아이템에 대한 예상 선호도를 예측하는 시스템" 이라고 볼 수 있다.
• 명시적(Explicit) 데이터 vs 묵시적(Implicit) 데이터
명시적 데이터 : 명확하게 자신의 취향을 나타내는 데이터 |
묵시적 데이터 : 취향을 추론할 수 있는 데이터 |
- 점수(별점) - 좋아요, 구독 - 구매 - 장바구니 담기 |
- Click → 머무는 시간, 방문 횟수 - 시청 여부, 시청 시간 - 구매 (?) - 장바구니 담기 |
장바구니의 경우 명시/묵시 둘 다에 포함될 수 있다. 구매로 이어지는 확실한 단계이기는 하지만, 일부 경우에는 단순 가격 비교를 위한 수단으로 사용할 수 있다. 구매 여부도 강력한 명시적 데이터로 사용되지만, 일부 고객들은 자신의 취향이 아닌 다른 사람을 위한 상품을 구매할 수도 있기 때문에 도메인에 따라서 이를 고려해야 한다.
실제 데이터를 수집하여 RS를 만드는 과정에서 명시적 데이터를 얻기가 쉽지 않으므로 묵시적 데이터를 잘 활용하는 것이 매우 중요하다.
📚 추천시스템의 평가
• 평가 방식 : 사용자들의 행동을 파악할 때
Lab Experiment | Field Experiment |
- 통제된 환경에서 행동 데이터 수집 가능 → 추천에 대한 사용자들의 구체적인 행동 변화를 파악 가능 -external validity가 부족함 (일반화 가능성 부족함) -논문에서 많이 사용 |
- 집단을 나누고 다른 조건을 부여해서 결과 비교 - 수많은 변수가 존재하기 때문에 internal validity는 부족하지만, external validity 확보가 가능함 - 실무에서 많이 사용 - 필드 실험의 종류 ① Between subjects : 두 그룹을 완전히 분리해서 서로 다른 조건 부여 ② Within subjects : 동일한 대상에게 두 가지 조건 모두 테스트 → 같은 사람을 대상을 테스트 하기 때문에 개인별 특징 통제 가능, but 앞선 조건에 영향을 받을 수도 있다 ③ Mixed design |
• 평가 지표 : 주어진 데이터가 있을 때
(1) 연속형 변수의 경우
· 일반적인 머신러닝 처럼 train / test 분리해서 평가 가능
· MAE, MSE, RMSE, NRMSE 등 사용
→ 이 중에서 RMSE가 많이 사용되고, Scale이 다른 경우 Normalized RMSE 사용
(2) 범주형 변수의 경우
· 현실적으로는 Precision이 많이 사용된다. Accuracy의 경우 전체 품목에서 구입하는 품목보다 구입하지 않는 품목의 수가 압도적으로 많다. 따라서 값이 매우 낮아져서 유의미한 지표로 사용하기가 어렵다. 즉, 전체 제품에서 고객들이 구매할 비율이 굉장히 낮을 경우 Precision을 사용함.
· Recall과 Precision이 trade-off 관계이기 때문에, 이를 고려하여 F1 Score 또한 추천시스템 성과 평가에 사용되기도 한다.
📚 추천시스템 관련 이슈
• 국내 온라인 쇼핑몰의 경우 제대로 추천시스템을 이용하는 기업들이 많이 없다. 아마존, 넷플릭스와는 추천의 정확도나 만족도가 다르다. 그 이유는 국내 이커머스 플랫폼의 경우 상품을 구분하는 유니코드를 등록하지 않아도 된다. 따라서 상품의 설명이나 이미지로 동일/유사 상품을 구분해야 하는데 현실적으로 쉽지가 않다. 추천시스템 성능의 차이는 결국 데이터의 차이임.
• 넷플릭스의 경우 추천 시스템이 더 중요하다. 영상 컨텐츠의 경우 취향을 많이 타기 때문에 비교적 추천이 정확하다. 하지만 호흡이 긴 영화 컨텐츠 같은 경우 유저 입장에서는 만족스럽지 않을 경우에 기회비용이 크다. 추천 받은 영화를 30분 정도 봤는데 만족스럽지 않을 경우에 30분의 손해를 본다. 이러한 경우 만족도가 급감하고 구독을 취소할 가능성도 높아진다.
• 구글의 검색엔진도 추천시스템이라고 볼 수 있다. 정보의 양이 굉장히 많아졌기 때문에 해당 유저의 과거 검색 내역을 바탕으로 검색 결과를 띄워준다.
• 고관여 제품의 경우 추천의 효용성이 떨어진다. (ex: 자동차, 집 등)
📚 참고 자료
• "Python을 이용한 개인화 추천시스템", 임일, 청람
'추천시스템' 카테고리의 다른 글
컨텐츠 기반 추천(Content Based Filtering) (0) | 2022.01.10 |
---|---|
협업필터링 - 사용자의 평가 경향 고려 (0) | 2021.12.27 |
협업필터링 - 아이템 기반(IBCF) (0) | 2021.11.04 |
협업필터링 + KNN (0) | 2021.10.11 |
협업필터링 기본 (1) | 2021.10.11 |
댓글