반응형
논문 : https://pike.psu.edu/publications/icde16.pdf
오역, 오류 등은 댓글로 말씀 부탁드립니다!
Background
1. Collaborative Filtering
- 구분
- 기억 기반 : 이웃과의 유사성을 이용해 평점 예측
- 사용자는 이웃이 선호하는 아이템을 선호할 가능성이 높다는 사실에 기반
- 모델 기반 : 모델을 이용해 평점 예측
- 기억 기반 : 이웃과의 유사성을 이용해 평점 예측
- 사용 목적
- 사용자 평점 예측
- 상위 N개 상품 추천 : 평가하지 않은 아이템에 대한 상대적인 선호를 예측하여 예측값이 높은 N개를 추천
- 개선 방안 : uninteresting item을 추천 대상에서 제외
2. OCCF Problem
- sparse한 학습 데이터로 인해 non positive 데이터를 해석하기 어려움
- negative
- 라벨링되지 않은 positive
기존 연구 : sparsity problem
미평가 아이템에 대한 해석
- 사용자는 선호하는 아이템만 해석한다
- 즉, 미평가 아이템은 선호하지 않는 negative item
sparsity problem 해결 방법
1. PureSVD 이용 : 결측값인 데이터를 전부 0으로 fillna하여 sparsity problem을 해결
- uninteresting item을 파악하지 않는다 = 추천에서 uninteresting item을 제외하지 않는다
2. 암묵적 정보/간접 정보 이용 : 간접적인 정보로 평점을 예측
- 추가적인 data(간접적인 정보)의 overhead(간접 비용) 발생
- 결과적으로 또다른 sparsity problem이 발생함
논문
가설 "결측값을 알맞은 값으로 채움으로써 추천의 정확성 및 연산 시간을 개선"
- 정확성에 악영향을 미치는 sparsity problem
- ICF(Item base CF) : 다른 item을 기반으로 추천. 적은 item을 사용하면 정확성이 떨어진다
- 미평가 아이템 중 일부는 uninteresting 아이템
- 기존 연구와 달리, 미평가 아이템 중 일부는 인지하지 못해서 평가하지 않는 경우에 해당한다
- 미평가 아이템
- 인지X
- 인지하고 구매했으나 평가하지 않음
- 인지했으나 선호하지 않아 구매하지 않음 : uninteresting
- 추천 대상에서 제외해야하는 대상
- uninteresting 여부를 판단하는 것이 관건
- uninteresting 아이템은 사용 전 선호도가 낮다
- 기존의 평점 = 사용 후 선호도
- 평가된 아이템의 사용 전 선호도를 이용해 미평가된 아이템의 사용 전 선호도를 예측할 수 있다
- 예측된 사용 전 선호도를 토대로 uninteresting 아이템을 구분하여 추천 대상에서 제외해야
선호도 : 사용 전 선호도? 사용 후 선호도?
- 사용 전 선호도 : 외부적 feature 기반
- 사용 전에 알 수 있는 정보를 토대로 형성된 선호도
- 기평가 아이템 : 사용 전 선호도가 높음
- 미평가 아이템 : 사용 전 선호도가 높지 않음
- 사용 후 선호도 : 내부적 feature 기반
- 사용 전에 알 수 없는 정보를 토대로 형성된 선호도
- 사용 후 선호도 = 평점
- 아이템 간 관계(벤다이어그램)
- 선호 item $ \subset $ 관심 item
- 평가 item $ \subset $ 관심 item
- 관심 item $ \cap $ 무관심 item = $ \emptyset $
- 관심 item $ \cup $ 무관심 item = I
아이템 간 유사도
- 개별 user의 평가에 기반해 계산한다면 부정확
- augmentation matrix Z 사용 시 많은 user에 기반해 계산하게 된다
- item 개수가 동일해도 정확성이 높아진다 : 많은 user에 기반하기 때문에
- SVD : Z 사용 시 user 및 item 간 유사성 포착 성능 향상
프로세스
- rating matrix R(사용 후 선호도)를 이용해 사용 전 선호도 matrix P 생성
- 평가 시 1, 미평가 시 공란
- OCCF를 이용해 P에서 공란인 경우, 사용 전 선호도 예측 → $ \hat{P} $ 생성
- wALS : 미평가 아이템은 전부 negative로 간주
- 가중치를 부여하여 상대적인 contribution을 측정한다
- 가중치 부여 방식 : uniform, user base, item base
- user base : 더 많은 평가를 한 user의 미평가 아이템은 negative일 가능성이 높다
- 참고 논문 리뷰
-
[논문 리뷰] One-Class Collaborative Filtering
오늘부터는 추천시스템 논문을 리뷰해보려고 합니다. 사실 리뷰라기보다는 해석에 가깝지만요 ㅎㅎ 논문 읽는 속도가 느린 편이라 포스팅을 자주 하지는 못할 것 같지만 꾸준히 해보려고 합니
lifeofsw.tistory.com
- wALS : 미평가 아이템은 전부 negative로 간주
- P를 이용하여 augmentation matrix Z 생성
- Z : 증강된 사용 후 선호도 matrix
- 평가되지 않은 경우 중 하위 $\theta$ % 는 0으로 채우기 : zero-injection
- 하위 $ \theta $ % : uninteresting item
- $ \theta $ 가 커질수록 0점이 matrix에 많이 포함된다
- $ \theta $ 가 작은 경우 matrix에 포함되는 0점이 줄어들어 uninteresting item 개념 도입의 이점이 감소한다
- user마다 uninteresting item 개수가 다를 수 있다
- uninteresting item을 user 스스로 인식하는 것보다 넓게 규정함
- 공란인 경우는 CF 기법으로 사용 후 선호도 예측
- 상위 N개 상품 추천
Experiment
1. OCCF가 사용 전 선호도 예측에 효과적인가
- error rate : 얼마나 많은 interesting item(기평가 아이템)이 uninteresting item에 포함되었는지
- $\theta$ 가 커질수록 error rate가 증가한다
- 추론 방법에 따라 error rate 증가율에 차이가 있다 : UOM > RM > IM > BIM > OCCF
- OCCF, BIM의 accuracy가 가장 높다
2. uninteresting item으로 분류된 아이템에 사용자가 실제로 불만족하는가
- $\rho$ : percentile rank. 해당값보다 작은 점수의 비율
- $\rho$ 가 커질수록 error rate가 증가한다
- $\rho$ 가 낮을 때는 평가 개수가 적다
- 사용 전 선호도가 낮은 경우 구매하지 않는다
- 사용 전 선호도에 따른 평가 점수
- 4, 5점을 남기는 user보다 1, 2점을 남기는 user가 적다
- 기평가 item 개수는 bin마다 상이하다
- $\rho$ ≤ 0.3 : $\rho$ 가 증가할수록 1,2점으로 평가된 item의 상대적 비율이 증가한다
- 기평가된 item이 적다
- $\rho$ > 0.3 : $\rho$ 가 증가할수록 1,2점으로 평가된 item의 상대적 비율이 감소한다
- $\rho$ ≤ 0.9 : 이면 1,2로 평가될 가능성이 높아진다
- $\rho$ > 0.9 : 이면 4,5로 평가될 가능성이 높아진다
- 사용 전 만족도가 낮으면 사용 후 만족도가 낮다
- 사용자는 대부분의 item에 대해 uninterest
3. $\theta$ 에 따라 성능이 어떻게 변화하는가
- $\theta$ : zero - injection 되는 개수를 제어하기 때문에 accuracy에 큰 영향을 미친다
- $\theta$ = 0 : 기존 ICF, SVD의 성능을 나타냄
- $\theta$ = 99.7 : SVD가 아닌 OCCF만의 성능을 나타냄
- OCCF : uninteresting item을 찾는 데에는 효과적이지만 최종 item 추천은 효과적이지 않음 — 사용 후 만족도인 평점을 무시하기 때문
- 10 ≤ $\theta$ ≤ 90 : $\theta$ 가 커질수록 accuracy가 증가한다
- $\theta$≥ 90일 때는 $\theta$가 커질수록 accuracy가 감소한다
- 해당 구간에서는 sparsity problem이 이미 해결됨 : 어떤 값을 써도 무방하다
- $\rho$ ≥ 80 일 때는 error rate가 커진다
4. 논문에서 제안한 방법 적용 시 기존 CF의 성능이 얼마나 향상되는가
- 모든 CF 기법의 성능이 개선된다
- PureSVD : 기존 CF 방법 중 가장 성능이 좋다
- 논문 방법 적용 시 성능 개선폭이 작다
- 이미 모든 결측값을 0으로 fillna 했기 때문에 개선폭이 작다
- 단, uninterest 여부에 관계없이 fillna 했던 이전과 달리 uninterest 여부 고려 시 성능이 개선된다
- 논문 방법 적용 시 성능 개선폭이 작다
- SVD : 논문 방법 적용 시 성능이 가장 높다
- SVD ++ : 긍부정 여부를 판단하기 위해 SVD 적용
- 논문 방법 적용 시 성능 개선폭이 작다
- 이미 평가된 경우는 긍정, 미평가된 경우는 부정으로 평가하기 때문
- 단, uninterest 여부에 관계없이 fillna 했던 이전과 달리 uninterest 여부 고려 시 성능이 개선된다
- 논문 방법 적용 시 성능 개선폭이 작다
5. 논문에서 제안한 방법 적용 시 기존 CF의 연산 시간이 얼마나 줄어드는가
- 사전연산 시 소요 시간은 증가하고 추천 아이템 선정의 소요시간은 줄어든다
- SVD
- 사전연산 : P, Z matrix로 SVD 모델을 구축
- 2개 모델을 구축해야하기 때문에 사전연산 시간 증가
- 추천 아이템 선정
- uninteresting item을 추천 아이템의 후보에서 제거 → 연산 횟수 감소
- $\theta$ 가 증가할수록 추천 시간 감소
- 사전연산 : P, Z matrix로 SVD 모델을 구축
- ICF
- 사전연산 : item 간 유사도 계산
- 결측값도 연산에 포함하기 때문에 사전연산 시간 증가
- 추천 아이템 선정
- $\theta$ ≥ 20% 일 때 $\theta$가 증가할수록 더 많은 평점을 이용해 예측하므로 선정 시간 증가
- $\theta$ ≥ 70% 일 때 추천 시간 감소
- 사전연산 : item 간 유사도 계산
- 온라인으로 추천 아이템을 선정하는 것이 오프라인으로 사전 연산을 진행하는 것보다 중요하기 때문에 시간이 절약된다고 볼 수 있다
결론
- 기존의 CF 방법에 논문에서 제안한 방법 적용 가능
- 추천 대상이 감소하기 때문에 연산 비용 절약 가능
- augmentation matrix를 이용해 sparsity 문제를 해결하고 정확성을 개선할 수 있다
'논문 리뷰 > 추천시스템' 카테고리의 다른 글
[논문 리뷰] Neural Graph Collaborative Filtering (0) | 2023.07.12 |
---|---|
[논문 리뷰] Deep Neural Networks for YouTube Recommendations (0) | 2023.07.04 |
[논문 리뷰] Neural Collaborative Filtering (0) | 2023.06.30 |
[논문 리뷰] xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems (0) | 2023.06.11 |
[논문 리뷰] One-Class Collaborative Filtering (0) | 2023.06.04 |