참고
[1] https://sungkee-book.tistory.com/13
[2] Paper - Collaborative Filtering for Implicit Feedback Datasets (Yifan Hu,, Yehuda Koren, Chris Volinsky)
Implicit Data의 특성 파악하기
Implicit Data란, 추천 시스템에서 얻을 수 있는 평점 정보와는 다른 특성을 가지고 있다. 평점 정보는 1~5점 등으로 유저의 명백한 아이템에 대한 선호도를 보여주고 있다면, Implicit Data는 클릭 이력 등의 로그를 기반으로 학 있기에 다른 특성을 가지고 있다.
- Negative한 feedback은 없다.
- data에 noise가 많다. 즉 사용자가 이 아이템에 대해 선호도가 있어 data가 생긴 것인지, 그저 우연인지 알 수 없다.
- 평가를 어떻게 해야 할 것인지에 대해 고민해봐야 한다.
- Numerical value로 표현은 가능하다. (반복적으로 일어난 이벤트에 대해서 횟수를 세는 방식이 가능)
그러나, 이 값이 꼭 선호로 바로 이어진다고 보기는 어려울수도 있다.
Implicit Data의 기존 분석 방법
우선 평점 데이터 대신, recurrent event를 모두 세어, 횟수를 평점 대용으로 활용한다.
이후, 이를 활용하여 기존의 추천 시스템의 방법론을 활용한다.
- Neighborhood models
- Latent Factor Models
Matrix Factorization을 활용한 모델로, rating matrix를 user factor와 item factor로 분해하게 된다.
모델 개요
논문에서 소개한 학습법 또한, 기본적으로는 user factor와 item factor의 분해를 기반으로하고 있다.
다만, implicit data를 활용하기 위한 c, p에 대한 변수가 추가되었다.
먼저 p의 경우는 implicit한 로그가 있는지의 유무를 반영하였다.
다음 c는 신뢰도의 영역으로, 더 반복적으로 일어난 event에 가중치를 부여한 값이다.
여기서 a는 가중치로 활용되었으며, 논문에서는 a=40일때의 실험 결과가 가장 좋다고 한다.
Alternating Least Square의 적용
논문에서는, Alternating Least Square를 통해 Loss를 학습하는 방식을 적용한다. 기존의 MF에서 SGD를 활용하는 방식 대신에, Alternating Least Square 방법론은, user factor와 latent factor 중 하나를 고정시켜 최적화 문제를 풀게 된다.
이렇게 하나를 고정시키고 풀 경우, 문제의 형태가 바뀌게 되는데, 예시로 user의 최적화 부분은
이렇게 되면, 규제화가 포함된 선형회귀 문제의 OLS 문제로 들아오게 된다.! 따라서, 유저에 대한 문제와 아이템에 대한 문제 각각을 풀어내면 된다.
'Archive > 추천시스템' 카테고리의 다른 글
[Rec] Learning to Rank 개념 (0) | 2022.01.04 |
---|---|
[Rec] Factorization Machine이란? - 개괄잡기 (0) | 2021.12.29 |
[Rec] Neural Collaborative Filtering 리뷰(1) (0) | 2021.12.26 |
[추천] 추천 시스템의 평가 (0) | 2021.09.15 |
[추천] 추천 시스템과 Word2Vec (0) | 2021.08.19 |