추천시스템의 개념과 목적을 이해한다.
Implicit 라이브러리를 활용하여 Matrix Factorization(이하 MF) 기반의 추천 모델을 만들어 본다.
음악 감상 기록을 활용하여 비슷한 아티스트를 찾고 아티스트를 추천해 본다.
추천 시스템에서 자주 사용되는 데이터 구조인 CSR Matrix을 익힌다
유저의 행위 데이터 중 Explicit data와 Implicit data의 차이점을 익힌다.
새로운 데이터셋으로 직접 추천 모델을 만들어 본다.
데이터 탐색하기와 전처리
사용자의 명시적/암묵적 평가
Matrix Factorization(MF)
CSR(Compressed Sparse Row) Matrix
MF 모델 학습하기
비슷한 아티스트 찾기 + 유저에게 추천하기
프로젝트 - MovieLens 영화 추천 실습
정의: 나와 좋아하는 것이 유사한 다른 사용자들의 선택을 내게도 추천해준다.
원리: 협업 필터링 방식 과 콘텐츠기반 필터링 방식
*협업 필터링 방식
정의: 아이템-사용자(관계)에 초점.
특징: 정확한 추천이 가능케함.(in 다수의 취향 및 아이템)
제약조건
*콘텐츠 기반 필터림
정의: 서비스 이용 시 자연스럽게 나오는 것
: (m,n) 사이즈의 평가행렬로 행렬 중에서 채워있는 부분도 있고 비워져있는 부분도 있습니다.
: 추천시스템의 협업필터링에서 사용이 됩니다.
: 행렬 분해한다.
R(m,n) -> P(m,k) -> Q(k,n)
--> R은 P 와 Q의 행렬곱(내적)이다.
--> P는 사용자의 특성 벡터
--> Q는 다른 것의 특성 벡터
목적
: K- dimension의 벡터를 잘 만들기.
정의: 0이 아닌 유효한 데이터로 채워지는 데이터의 값과 좌표정보만으로 구성하면서 메모리 ㅅ용량을 최소화 한다.
data = np.array([1,3,5,6,2,11,7,9,10,12])
indices = np.array([1,2,3,0,1,3,1,2,2,3])
indptr = np.array([0,3,6,8,10])
matrix([[0, 1, 3, 5], [6, 2, 0, 11], [0, 7, 9, 0], [0, 0, 10, 12]])