본문 바로가기

2019/03

(5)
갈아먹는 추천 알고리즘 [5] ALS 구현하기 지난 글 갈아먹는 추천 알고리즘 [1] 추천 알고리즘의 종류 갈아먹는 추천 알고리즘 [2] Collaborative Filtering 갈아먹는 추천 알고리즘 [3] Matrix Factorization 갈아먹는 추천 알고리즘 [4] Alternating Least Squares 들어가며 이 전 글에서 Alternating Least Squares 알고리즘의 개념과 수학적 원리를 알아보았습니다. 이번 글에서는 직접 스텝 바이 스텝으로 구현해보면서 실제 코드로 수식이 어떻게 표현되는가를 알아보겠습니다. 그리고 실제로 ALS 알고리즘으로 Latent Factor를 학습시킬 수 있는지 눈으로 확인해보겠습니다. 주피터 노트북과 파이썬 파일 두 가지 버전으로 구현을 진행하였고, 저장소는 다음과 같습니다. (스타 한..
갈아먹는 추천 알고리즘 [4] Alternating Least Squares 지난 글갈아먹는 추천 알고리즘 [1] 추천 알고리즘의 종류갈아먹는 추천 알고리즘 [2] Collaborative Filtering갈아먹는 추천 알고리즘 [3] Matrix Factorization 들어가며 지난 글에서 Matrix Factorization와 Latent Factor의 개념을 살펴보았습니다.그리고 이를 학습시키기 위한 Loss function까지 알아보았습니다.이 Loss Function을 최소화하는 사용자와 아이템의 Latent Factor Matrix를 찾아내는 것이 우리의 목표였습니다. 이를 학습시키기 위한 방법으로 Gradient Descent와 Alaternating Least Squares(이하 ALS)를 소개하였으며,ALS가 더 적합한 방법이라고 알아보았습니다.이번 글에서는 A..
갈아먹는 추천 알고리즘 [3] Matrix Factorization 지난 글갈아먹는 추천 알고리즘 [1] 추천 알고리즘의 종류갈아먹는 추천 알고리즘 [2] Collaborative Filtering 들어가며 지난 글에서 Collaborative Filtering에 대하여 자세히 알아보았습니다.세부적인 알고리즘으로는 Neighborhood model과 Latent Factor model을 소개하였습니다.그리고 Implicit Dataset이 주어질 경우, Latent Factor model 가운데 Matrix Factorization이 적합하다고 마쳤습니다. 이번 글에서는 Matrix Factorization에 초점을 맞추어서어떻게 평점 행렬을 사용자와 아이템 행렬로 쪼갤 수 있는지 알아보고자 합니다.그리고 우리의 원래 목적인 사용자와 아이템의 Latent Factor 행..
갈아먹는 추천 알고리즘 [2] Collaborative Filtering 지난 글갈아먹는 추천 알고리즘 [1] 추천 알고리즘의 종류 들어가며 지난 글에서는 대표적인 추천 알고리즘인 Contents Based Filtering과 Collaborative Filtering을 소개하였습니다.이번 글에서는 Collaborative Filtering에 초점을 맞추어 어떤 데이터 셋을 다루는지,실제 추천을 진행하기 위해서 어떠한 기법들을 사용하는 지를 다뤄보겠습니다. Basic Concept 앞서서 Collaborative Filtering은 사용자들이 남긴 평점 데이터 셋을 사용한다고 하였습니다.이는 아래와 같이 하나의 X축이 사용자, Y축이 아이템인 행렬로 표기가 가능합니다. 사용자들의 평점 행렬 위의 그림을 보면 각기 다른 사용자 4명이 5편의 영화에 대해서 1 ~ 5점 사이의 평..
갈아먹는 추천 알고리즘 [1] 추천 알고리즘의 종류 들어가며 우리는 알게 모르게 매일 추천 알고리즘 속에서 살고 있습니다.다양한 서비스들은 용케도 내가 좋아할 만한 동영상을, 웹 툰을, 페이스북 친구를, 심지어 소개팅 상대까지 추천 해줍니다. (정말 다양한 추천 서비스들) 하지만 도대체, 어떻게, How??? 이런 서비스들은 신통방통하게 내가 가려운 구석만 속속 골라서 긁어줄 수 있는 것일까요?정확히 추천이란 무엇이고 어떻게 이루어지는 걸까요? 이 글에서는 먼저 추천의 개념을 소개하고, 대표적인 추천 알고리즘의 종류와 개념을 소개합니다.이어지는 글 들에서는 추천이 구현되는 수학적 원리를 쉽고 상세하게 설명해보고자 합니다. 추천이란? 추천이란 데이터를 통해서 사용자가 아직 소비하지 않은 아이템 (ex. 영화) 중 선호할 만한 것을 예측하는 것을 말합니다.대..