[추천시스템]Matrix Factorization이란

건너별·2021년 11월 7일
0

NLP 및 추천시스템

목록 보기
3/13

추천시스템 알고리즘 중 하나인 MF에 대하여 공부해 봅시다.


[- 출처: CuMF_SGD: Fast and Scalable Matrix Factorization(https://arxiv.org/pdf/1610.05838.pdf)]

핵심 : (m,n) 사이즈의 행렬 R(m,k) 사이즈의 행렬 P와 (k,n) 사이즈의 행렬 Q로 분해한다면 R이란 그저 P와 Q의 행렬곱으로 표현 가능할 수 있다.


[출처: https://developers.google.com/machine-learning/recommendation/collaborative/matrix]
그림을 보면서 이해해 봅시다.

m=4,n=5,k=2입니다. 개별 벡터는 k=2인 하나의 임베딩 벡터로 생각해 봅시다.
PP :사용자에 대한 벡터(m,k)
QQ: n개의 영화에 대한 벡터(k,n)
P0=(1,0.1)P_0=(1, 0.1) 은 바로 빨간 모자를 쓴 첫 번째 사용자의 특성(Feature) 벡터
Q0=(0.9,0.2)Q_0 =(0.9, -0.2) 는 해리포터 영화의 특성 벡터

따라서 빨간 모자를 쓴 사람의 해리포터 영화 선호도는,
P0Q0=0.90.02=0.88=R0,0P_0 \cdot Q_0 = 0.9 -0.02 = 0.88 = R_{0,0} 이 되며 이는 m,n 행렬의 0,0 원소가 됩니다.

모델의 목표는 개인이 평가한 수치와 행렬의 수치(내적 결괏값)을 유사하게 가져가는 것입니다.

profile
romantic ai developer

0개의 댓글