728x90
반응형

Collaborative filtering 4

PyTorch 5 - 딥러닝 기반 협업필터링

딥러닝 기반 협업필터링¶ 이번 포스팅에서는 신경망을 기반으로 한 협업필터링을 구현해본다. 신경망 기반 협업필터링은, 기존의 MF기반 협업필터링과는 조금 다르다. MF기반은 벡터끼리의 내적곱을 활용하지만, 신경망 기반은 비선형 활성함수(relu)를 사용하게 된다. In [43]: # 패키지 import from pathlib import Path import pandas as pd import numpy as np In [44]: data = pd.read_csv('./ml-latest-small/ratings.csv') data.head() Out[44]: userId movieId rating timestamp 0 1 1 4.0 964982703 1 1 3 4.0 964981247 2 1 6 4.0 9..

PyTorch 4 - 협업필터링

PyTorch를 활용한 협업필터링¶ 이번 포스팅에서는 행렬분해를 사용한 추천시스템 문제를 풀어보려 한다. 그리고 더 일반적인 산경망 모델을 사용해 해당문제를 풀어보겠다. MovieLens 데이터셋은 영화 추천에 자주 활용되는 유명한 데이터셋이다. 이 데이터셋에는 영화 추천 시스템 내의 별점 5점 만점의 평점데이터와 자유 텍스트 태깅 정보가 들어있다. 총 9125개의 영화에 대한 100004개의 평점과 1296개의 태그가 기록되어 있다. 영화 데이터는 https://grouplens.org/datasets/movielens/ 에서 내려받을 수 있다. In [3]: # wget을 사용해 데이터를 내려받는다 !wget http://files.grouplens.org/datasets/movielens/ml-la..

추천시스템 15 - 단항의 아이템 추천

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 단항의 아이템 데이터 단항의 아이템 데이터는 곧 간접적 선호도 정보를 말한다. 아이템의 클릭 수 음악의 플레이 수 구매 이력 등 이런 데이터를 사용하려면 조금의 조정이 필요하다. 다른말로 표현하면, 위와같은 데이터를 평점과 같이 수치화 할 수 있어야 한다. 0/1의 값으로 구매했는지 안했는지 사용 몇번 구매/플레이를 했는지 정보의 수치화 그렇다면 이 정보를 어떻게 수치화하고 정규화할 수 있을까? 평균중심화는 별로 의..

추천시스템 14 - 아이템-아이템 협업필터링

추천시스템 본 포스팅은 Minnesota대학교의 Intro to Recommender Systems코세라 강좌를 정리한 내용입니다. https://www.coursera.org/learn/collaborative-filtering?specialization=recommender-systems 서론 기본적으로 사용자-사용자 필터링은 잘 동작 한다. 하지만 데이터가 부족할때는 예측값을 만들어내기 힘들다. 큰 시스템에서 사용자가 많다 해도, 공통점을 찾을 수 없는 사용자가 있다면 추천을 만들어내기 힘들다. 또한 평점을 잘 매기지 않는 사용자들에게도 추천을 만들기 힘들다. 이런 단점을 극복하기 위해 아이템-아이템 필터링이 고안되었다. 사용자보다는 여러 사람들이 평점을 매기는 아이템에 데이터가 더 많을 수 있다...

728x90
반응형