클러스터 기반 편향을 활용한 동적 행렬 분해 추천 시스템
초록
본 논문은 기존 행렬 분해 모델의 정적 한계를 극복하기 위해, 아이템을 유사도 기반으로 클러스터링하고 각 클러스터마다 사용자별 편향(bias)을 부여하는 기법을 제안한다. 이렇게 얻은 클러스터‑별 편향은 새로운 평점이 발생할 때마다 저비용으로 온라인 업데이트가 가능해, 두 번의 전체 행렬 분해 사이에서도 예측 정확도를 크게 향상시킨다. 대규모 데이터셋 실험을 통해 RMSE 감소와 연산 효율성을 입증하였다.
상세 분석
행렬 분해(Matrix Factorization, MF)는 사용자‑아이템 평점 행렬을 저차원 잠재 요인으로 분해함으로써 예측 정확도가 뛰어나지만, 모델 파라미터가 고정된 상태에서 새로운 평점이 추가되면 즉시 반영되지 못한다는 근본적인 정적(static) 문제를 안고 있다. 기존 연구에서는 전역 편향(global bias)과 사용자·아이템 개별 편향(user/item bias)을 도입해 기본적인 편차를 보정했지만, 이들 편향은 전체 아이템 집합에 대해 하나의 값만을 할당한다는 한계가 있다. 즉, 사용자가 특정 장르나 카테고리에서 보이는 선호 차이를 포착하지 못한다.
본 논문은 이러한 한계를 해소하기 위해 “아이템 클러스터링 → 클러스터‑별 사용자 편향”이라는 두 단계 구조를 설계한다. 먼저, 아이템 간 코사인 유사도, 장르 메타데이터, 혹은 협업 필터링 기반 유사도 행렬을 이용해 K개의 클러스터로 그룹화한다. 클러스터 수 K는 데이터 특성에 따라 교차 검증으로 최적화된다. 이후, 각 클러스터 c에 대해 사용자 u의 편향 b_{u,c}를 별도로 학습한다. 이때 기본 MF 모델의 잠재 요인 행렬 P(사용자)와 Q(아이템)은 기존과 동일하게 사전에 한 번만 factorization하고, 이후 온라인 단계에서는 b_{u,c}만을 SGD(확률적 경사 하강법)로 빠르게 업데이트한다.
핵심 아이디어는 “편향만을 온라인으로 조정”함으로써 전체 행렬 분해 연산의 고비용을 회피하면서도, 새로운 평점이 특정 클러스터에 속할 경우 해당 클러스터‑별 편향이 즉시 반영되어 예측값이 실시간에 가깝게 조정된다는 점이다. 수식적으로는 기존 예측식
(\hat{r}{ui}= \mu + b_u + b_i + p_u^\top q_i)
에 클러스터 편향을 추가해
(\hat{r}{ui}= \mu + b_u + b_i + b_{u,c(i)} + p_u^\top q_i)
로 확장한다. 여기서 c(i)는 아이템 i가 속한 클러스터를 의미한다.
알고리즘 복잡도 분석 결과, 초기 MF 단계는 O(|R|·d) (|R|는 관측 평점 수, d는 잠재 차원) 정도의 비용이 들지만, 이후 온라인 업데이트는 단일 평점당 O(1) 연산만 필요하다. 따라서 대규모 스트리밍 환경에서도 실시간 반영이 가능하다. 실험에서는 Netflix Prize 데이터와 MovieLens 20M 데이터를 사용했으며, K를 50200 사이에서 최적화하였다. RMSE 기준으로 기존 MF(전역 편향 포함) 대비 35% 개선을 보였고, 특히 신규 아이템이 많이 추가되는 상황에서 성능 격차가 크게 확대되었다. 또한, 메모리 사용량은 기존 MF와 동일하거나 약간 증가(클러스터 편향 저장)했지만, 전체 재학습 주기를 수 주에서 수 일로 단축시켜 운영 비용을 크게 절감하였다.
한계점으로는 클러스터링 품질에 크게 의존한다는 점이다. 클러스터가 과도하게 세분화되면 편향 파라미터가 희소해져 과적합 위험이 존재하고, 반대로 과도하게 통합되면 편향 효과가 약해진다. 또한, 아이템이 다중 클러스터에 속할 경우(예: 멀티 장르 영화) 현재는 단일 클러스터 할당 방식을 사용하므로 추가적인 확장이 필요하다. 향후 연구에서는 동적 클러스터링, 하이브리드 편향(전역+클러스터+시간) 등을 탐색할 여지가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기