추천시스템
사용자와 상품 (사용자와 상품간 연관관계를 찾는다)
사용자 정보
- 사용자 고유 정보(나이, 성별, 지역)
- 사용자 로그 분석(행동 패턴 등)
아이템 정보
사용자 정보를 수집하기 위한 방법
- 직접적인 (explicit) 방법: 설문조사, 평가, 피드백 등 (ex)밀크티의 정오답 데이터, 직접적 평가
- 간접적인 (Implicit) 방법: 웹페이지 머무는 시간, 클릭 패턴, 검색 로그 (ex) 밀크티 머무는 시간
추천시스템 : 데이터 종류
items
- Low: 뉴스는 내용에 기반하여 추천하므로 단순함
- high: 사용자별로 신용등급이 다르기에 복잡함
User
Transaction
추천 시스템이 풀고자하는 문제
1. 랭킹문제
- 특정 아이템을 좋아할만한 Top-k유저
- 특정 유저가 좋아할만한 Top-k 아이템
- 추천만 할뿐 점수를 랭킹화할 필요는 없음
- 예측문제
- 모든 사용자가 모든 영화를 볼 수 없으니 빈칸이 있음 유저-아이템 행렬 채우는 예측
- 유저-아이템 사이 평점 예측

컨텐츠 기반 추천시스템
- 사용자가 과거에 좋아했던 아이템을 파악하고 그 아이템과 비슷한 아이템 추천
- 유저가 과거에 접하고 만족한 아이템
- 유저가 좋아했던 아이템 중 일부 또는 전체와 비슷한 아이템 선정
- 선정된 아이템을 유저에게 추천
협업필터링
- 비슷한 성향을 같는 다른 유저가 좋아한 아이템을 현재 유저에게 추천 (유저간 관계까지 파악)
- 유저 A와 유저B 모두 같은 아이템에 대해 비슷한 평가를 했다
- 이 때 유저 A는 다른 아이템에도 비슷한 호감을 나타냈다.
- 따라서 유저 A,B의 성향은 비슷할 것이므로, 다른 아이템을 유저 B에게 추천한다.

추천시스템 한계

인기가 많은 상품은 노출이 많이 되고 축적도 빠르게 됨
SVD

특성 행렬을 곱하여 공백이 복원이 될 수 있음
추천시스템의 성능을 확인하는 방법
A/B TEST
A와 B 2가지 서로 변형된 방법을 사용하여 진행하는 대조 실험

Offline Evaluation
- RMSE 등 정량적인 지표를 활용한 객관적인 평가 가능
Online Evaluation
- 실제 사용자의 피드백, 평점 등 활용
- 데이터의 한계가 있으나 실 사용자의 데이터이므로 정확한 평가 가능
RMSE

RMSE가 낮다고 반드시 좋은 모델은 아니다.
추천시스템 평가 지표
추천 시스템에서 특정 영역을 좋아한다 좋아하지 않는다 혹은 정오답 등 분류 문제를 검증할때 precision/ Precll/ AUC를 사용함