🔢

행렬 분해 (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 음악 추천 초기 버전