기존 추천 시스템은 두 가지 전략으로 나뉨
Content Based
각 유저 혹은 아이템의 특징을 통해 매칭
데이터 수집 및 구성하는 과정 필요
Collaborative Filtering
유저-아이템 매트릭스를 통해 유사성을 기반으로 매칭
Cold-start problem에 취약
입력 데이터 또한 두 가지로 나뉨
Explicit Feedback
유저가 직접 표현한 선호도 (별점 등)
Implicit Feedback
유저 행동 기반 관측치 (구매 내역, 검색 히스토리 등)
Explicit data는 수집이 어렵기에, Implicit Feedback을 활용한 연구에 집중할 필요가 있음
Implicit feedback은 scale이 모두 다르기에 유사도 계산이 힘듬
즉 적용하기 힘든 방법론
유저 아이템 매트릭스를 두 잠재 벡터의 행렬곱으로 표현할 수 있다는 가정 하에 잠재 벡터를 예측하는 모델
본 논문은 Implicit feedback에 적용할 수 있는 Latent factor model을 제안
선호도를 나타내는 변수(preference)를 유저 u가 아이템 i에 행동을 했으면 1, 아니면 0으로 정의
다만 이 변수만으로는 관측치에 대한 설명이 부족
따라서 기존 변수가 커질수록 강한 선호의 지표로 증가함수인 confidence 변수를 추가 (알파는 사용자가 정의하는 값)
이후 다음과 같은 Loss function을 최소화 하는 user/item latent factor를 찾는 것이 본 모델의 목적
SGD, ALS 방식 둘다 가능하나 본 논문에서는 ALS 방법이 효율적이라고 강조
ALS는 X를 학습할 때 Y를 상수 취급하고, Y를 학습할 때는 거꾸로 적용하는 것
ALS를 진행하였을 때 Loss fnc을 X로 미분하면 다음과 같은 식이 유도
따라서 preference는 u 번째 x vector와 i 번째 y vector의 내적이기에, 다음과 같이 선호도를 신뢰도와 유사도로 표현할 수 있음
즉 설명가능한 추천을 가능케 함
TV 프로그램별 시청시간 데이터를 4주간 학습하여 마지막 1주의 시청기록을 테스트
각 test data의 item이 train에도 존재한다면 제거
지속적으로 시청하는 program을 추천하는 것은 의미가 없음
test data에서 0.5시간 이하로 본 데이터는 0으로 처리
즉 유저가 좋아하지 않는다고 판단
연속적인 program들은 down-weighting
틀어놓고 가만히 있는 경우라고 판단
Implicit data는 비선호를 나타낼 수 없기에 추천에 대한 반응을 알 수 없음, 즉 precision이 아닌 recall 기반 지표를 사용해야 함
Precision = TP / TP + FP 인데, 예측이 실패한(FP) 값을 구할 수 없기 때문
rank_ui가 0%이면 item i에 대해 가장 추천된 item을 의미하고, 50%이면 중간 정도로 추천 됨을 의미
낮은 rank_bar 일수록 우수한 모델
당시 다른 모델과 비교하였을때 본 논문의 모델이 가장 좋은 성능을 보임
본 논문에서 제안한 모델은 Implicit dataset에서 당시 기준 높은 성능을 얻음