🔢
행렬 분해 (Matrix Factorization)
Netflix Prize를 지배한 잠재 요인 모델
2006-2009년 Netflix Prize에서 가장 강력했던 접근법이다. SVD, ALS, BPR 같은 변종이 있지만 핵심 아이디어는 같다.
유저-아이템 매트릭스 R(m×n)을 유저 행렬 P(m×k)와 아이템 행렬 Q(n×k)로 분해한다. k는 잠재 요인(latent factor)의 수. k=50이면 각 유저와 아이템이 50차원 벡터로 표현된다.
왜 작동하는가
"액션 좋아하는 정도", "로맨스 좋아하는 정도" 같은 숨겨진 요인을 자동으로 발견한다. 명시적으로 장르를 알려주지 않아도 데이터에서 패턴을 찾아낸다.
이건 사실상 임베딩 학습이다. Word2Vec보다 먼저 나온 임베딩이라고 볼 수 있다.
동작 원리
1
유저-아이템 매트릭스 R을 구성 (sparse)
2
P(유저)와 Q(아이템) 행렬을 랜덤 초기화
3
SGD 또는 ALS로 R ≈ P × Qᵀ가 되도록 최적화
4
빈 셀은 P_u · Q_i 내적으로 예측
장점
- ✓ 스파스 데이터에서도 잠재 요인을 잘 학습
- ✓ 결과 해석이 비교적 쉬움
단점
- ✗ 유저/아이템의 사이드 정보를 활용하기 어려움
- ✗ 새 데이터마다 전체 재학습이 필요할 수 있음
사용 사례
Netflix Prize 우승 솔루션의 핵심
Spotify 음악 추천 초기 버전