본문 바로가기

추천 시스템/Collaborative Filtering

(6)
KNN CF 구현 KNN을 2가지 방법으로 구현하겠다. 참고한 출처는 맨밑에 있다. 1. sklearn패키지 이용 2. 코드 구현 1. sklearn패키지 사용 Import & Data df는 rating, movie 데이터로 만든 데이터 프레임이다. rating을 하나도 못받은 영화의 경우, df_rating movie id가 존재하지 않기 때문에 df 데이터프레임을 만들었다. 1 2 3 4 5 6 7 8 9 10 import pandas as pd import numpy as np import glob import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages import time df_ratings = pd.read_csv(..
우도 추정 [https://ratsgo.github.io/statistics/2017/09/23/MLE/](https://ratsgo.github.io/statistics/2017/09/23/MLE/) [https://datascienceschool.net/view-notebook/dc6528fbf3ed4f9885e243198ef7694c/] 최대우도추정 최대우도추정(maximum likelihood estimation)이란 모수(parameter)가 미지의 θ인 확률분포에서 뽑은 표본(관측치) x들을 바탕으로 θ를 추정하는 기법입니다. 다시말해, 표본들을 보고 모수를 추정하는 것이다. 동전 던지기를 예를 들어보자. 동전 던지기는 이항분포를 따르며, 앞면이 나올 확률 p와 뒷면이 나올 확률 1-p로 이뤄진다. 이항..
Collaborative Filtering(CF: 협업필터링)2: 유사도 계산법 Collaborative Filterting1: 개요 Collaborative Filtering(CF: 협업필터링)1: 특징, 개념 CF에 관한 내용들이 많아서 1과 2로 나눠서 게시했다. 1은 CF의 특징, 개념에 관한 내용이고, 2는 CF를 어떻게 계산하는지에대한 직접적인 유도를 하는 내용이다. 관련한 모델 또한 추가로 정리했다. ------------.. data-matzip.tistory.com CF의 특징 개념에 대한 설명의 위의 링크에 게시했으니 참조하길 바랍니다. 그럼 이제 item based와 user based를 사용할 때 어떻게 rating을 계산하는지에 대해 알아보자. 구현 절차 CF를 만들기 위해서는 여러가지 절차를 거쳐야 한다. 1. rating matrix 정리: item bas..
Collaborative Filtering(CF: 협업필터링)1: 개요 CF에 관한 내용들이 많아서 1과 2로 나눠서 게시했다. 1은 CF의 특징, 개념에 관한 내용이고, 2는 CF를 어떻게 계산하는지에 대한 직접적인 유도를 하는 내용이다. 관련한 모델 또한 추가로 정리했다. Collaborative Filtering: 유사도 계산법 Collaborative Filtering(CF: 협업필터링)2: 유사도 계산법 Collaborative Filterting1: 개요 Collaborative Filtering(CF: 협업필터링)1: 특징, 개념 CF에 관한 내용들이 많아서 1과 2로 나눠서 게시했다. 1은 CF의 특징, 개념에 관한 내용이고, 2는 CF를 어떻.. data-matzip.tistory.com Matrix Factorization(MF, 행렬분해) MF(Matri..
BPR-MF(Bayesian Personalized Ranking MF) 아래의 논문과 블로그를 참고했다. 논문: Modified Bayesian personalized ranking for non-binary implicit feedback 블로그: http://sanghyukchun.github.io/95/ https://itkmj.blogspot.com/2019/08/bpr-bayesian-personalized-ranking-from.html BPR은 상품간의 선호도를 확률 모형화를 한 모델이다. BPR은 개인이 선호하는 상품을 단계별로 카테고리화하여 분석을 진행한다(Positive items: 긍정적 상품/ Negative items: 부정적 상품) 이런 BPR을 MF로 확장하고 있다. 특징 BPR에서 상품을 분류할 때, 사용자가 상품에 대한 내재적 피드백을 제공했는..
MF(Matrix Factorization, 행렬분해) MF는 CF(Collaborative Filtering)의 한 기법이다. MF는 user-item의 매트릭스에 비어있는 요소를 채우는 기술이다. 아래의 행렬이 user-item 매트릭스라고 가정해보자 $\begin{bmatrix} 2 & 5 \\ 3 & ? \end{bmatrix}$ 2번째 user(행)가 두 번째 item에 대해서 평점을 매기지 않았다. 실제로 user-item 매트릭스는 결측치가 매우 많다. 대부분의 사람들이 소수의 영화나 아이템을 구매하기 때문이다. 이런 결측치를 채우기 위해서 차원을 축소해 영화의 Latent 한 특성(장르, 미장센, 배우..)을 찾아 별점을 채운다. 매트릭스를 채우기 위해서는 PCA나 SVD, SVD++같은 알고리즘으로 분해하거나 축소를 하며 latent 한 특성..