부정 피드백을 활용한 차등 평점 기반 추천 모델
본 논문은 사용자 평점을 연속적인 수치가 아니라 순서형(카테고리) 변수로 취급하고, 사용자·아이템·평점 3차 텐서를 Tucker 분해하여 부정적인 피드백까지 모두 활용하는 추천 알고리즘을 제안한다. 고차원 폴딩‑인 기법으로 실시간 추천이 가능하며, 기존 평점 기반 방법이 놓치던 “전혀 관심 없는 아이템”을 효과적으로 배제한다. 실험 결과, 일반적인 Top‑N 추천에서는 기존 최첨단 방법과 동등하거나 우수한 성능을 보이고, 특히 긍정 피드백이 전…
저자: Evgeny Frolov, Ivan Oseledets
**1. 서론 및 문제 정의**
추천 시스템에서 콜드‑스타트는 새로운 사용자가 시스템에 처음 진입할 때 충분한 피드백이 없어 개인화가 어려운 상황을 의미한다. 전통적인 접근법은 사용자가 몇 개의 아이템에 대해 높은 평점을 주기를 기대하고, 이를 기반으로 유사 아이템을 추천한다. 그러나 사용자가 처음 접한 아이템에 낮은 평점만 남길 경우, 기존 MF나 k‑NN 기반 모델은 해당 아이템과 유사한 다른 아이템을 계속 추천하거나, 평점 스케일 자체가 순위에 영향을 주지 못해 부정 피드백을 무시한다.
**2. 기존 방법의 한계**
- **Matrix Factorization (MF)**: SVD 기반 폴딩‑인은 **r ≈ V Vᵀ p** 로 계산되지만, p에 포함된 평점의 절대값이 순위에 영향을 주지 않아 “2점 vs 5점” 차이를 구분하지 못한다.
- **Similarity‑based k‑NN**: 사용자 간 코사인 유사도를 이용해 가중 평균을 구하지만, 부정 피드백을 가진 사용자가 다른 사용자와의 유사도에서 높은 가중치를 받을 경우, 부적절한 아이템이 상위에 오를 수 있다.
**3. 새로운 문제 정의**
평점을 연속형이 아닌 **Ordinal Categorical Variable** 로 보고, **f_R : User × Item × Rating → Relevance Score** 로 재정의한다. 즉, (사용자, 아이템, 평점) 삼중관계 자체가 관측 확률을 나타내는 점수이며, 이를 3차원 텐서 **X** 로 인코딩한다.
**4. 텐서 모델링**
- **텐서 구성**: **X_{ijk}=1** 은 (i, j, k) 삼중관계가 존재함을 의미하고, 나머지는 0이다.
- **분해 기법 선택**: CP는 해가 불안정하고 과적합 위험이 크다. Tucker Decomposition(TD)은 **X ≈ G ×₁ U ×₂ V ×₃ W** 로 표현되며, **U ∈ ℝ^{M×r₁}, V ∈ ℝ^{N×r₂}, W ∈ ℝ^{K×r₃}** 가 직교성을 갖는다. 직교성은 빠른 폴딩‑인과 해석 가능성을 제공한다.
- **학습**: HOOI(Higher‑Order Orthogonal Iteration) 알고리즘을 이용해 **U, V, W, G** 를 교대로 업데이트한다. 각 단계는 SVD 기반 투영으로 구현되어 수렴이 빠르고 대규모 데이터에도 적용 가능하다.
**5. 고차원 폴딩‑인**
새로운 사용자가 피드백 벡터 **p ∈ ℝ^{M}** (또는 **ℝ^{K}** 로 변형) 를 제공하면, 기존 **U** 와 **W** 를 이용해 임베딩을 계산한다:
1. **u_new = Uᵀ p** (사용자 임베딩)
2. **r = (V ×₂ u_new) ×₃ (Wᵀ e_k)** 로 아이템에 대한 점수 벡터를 얻는다. 여기서 **e_k** 는 해당 평점 카테고리의 원-핫 벡터이다.
이 연산은 **O(r₁·r₂·r₃)** 로 매우 효율적이며, 전체 텐서를 재학습할 필요가 없으므로 실시간 콜드‑스타트에 적합하다.
**6. 평가 지표의 수정**
전통적인 Precision@N, Recall@N 은 “추천 리스트에 포함된 아이템이 실제로 선호되는가”만을 측정한다. 부정 피드백을 고려하기 위해 다음을 제안한다:
- **Negative‑Aware Precision (NAP)**: 추천 리스트 중 부정 피드백(실제 낮은 평점) 아이템 비율을 패널티로 차감.
- **Negative‑Aware Recall (NAR)**: 전체 부정 아이템 중 추천된 비율을 반영하여 모델이 부정 아이템을 얼마나 잘 배제했는지 평가.
**7. 실험**
- **데이터**: MovieLens 1M, Netflix Prize subset 등에서 평점을 1~5 구간으로 카테고리화.
- **베이스라인**: MF‑SVD, FunkSVD, FM, Neural Collaborative Filtering, 그리고 최근의 Graph‑based CF.
- **시나리오**: (a) 전체 데이터에서 Top‑10, Top‑20 정확도, (b) “단일 낮은 평점만 제공” 콜드‑스타트, (c) NAP/NAR 지표.
- **결과**: 전체 데이터에서는 제안 모델이 기존 최첨단 방법과 동등하거나 약간 우수했으며, 특히 (b) 시나리오에서 Recall@10이 30% 이상 향상되었다. NAP/NAR에서도 기존 모델보다 부정 아이템 비율을 2배 이상 감소시켰다.
**8. 논의 및 기여**
- 평점을 카테고리화함으로써 “긍정 vs 부정” 정보를 모두 학습에 활용할 수 있다.
- Tucker 기반 텐서 분해는 직교성을 제공해 폴딩‑인 연산을 빠르게 수행하게 하며, 실시간 콜드‑스타트에 적합하다.
- 부정‑감도 평가 지표는 기존 메트릭이 놓친 편향을 드러내어, 실제 서비스에서 사용자 불만을 최소화하는 데 기여한다.
**9. 결론 및 향후 연구**
본 연구는 부정 피드백을 적극 활용하는 새로운 텐서 기반 협업 필터링 프레임워크를 제시하였다. 향후 작업으로는 (1) 사용자·아이템 메타데이터와 결합한 하이브리드 텐서 모델, (2) 동적 평점 카테고리(시간에 따라 변하는 선호) 고려, (3) 대규모 실시간 시스템에의 배포와 A/B 테스트를 통한 실효성 검증을 계획하고 있다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기