오늘 할 일: 끝내주게 숨쉬기
article thumbnail
[annoy] annoy 사용방법: 추천시스템에서 유사 아이템 찾기

annoy: Approximate Nearest Neighbors annoy는 스포티파이에서 개발한 라이브러리로, 벡터들 간의 거리를 계산하여 빠르게 유사한 벡터들을 찾아주는 라이브러리이다. Approximate Nearest Neighbors Oh Yeah의 줄임말로, 직역하자면 근사한 이웃 찾기 아싸? 만세(?) 정도가 될 것 같다. 이름에서부터 느끼다 시피 annoy는 최근접 이웃 알고리즘을 사용한다. annoy를 추천시스템에 적용하기 위해 최근접 이웃을 찾아야하는 경우를 생각해보자. 1. 사용자의 로그가 없을 때: 일반적인 프로필 내용(성별, 나이, 지역 등)을 이용해 사용자와 유사한 특성을 가진 다른 유저들 찾기 → 다른 유저들이 선호했던 아이템들을 사용자에게 추천 2. 사용자의 로그가 쌓인 후..

article thumbnail
[추천시스템] 4) 협업필터링 - 이웃기반 협업필터링

지난 추천시스템 3편에서는 컨텐츠 기반 필터링에 대해 알아보았습니다. 컨텐츠 기반 필터링은 아이템의 정보를 이용하여 과거에 사용자가 좋아했던 아이템과 유사한 다른 아이템을 추천하는 방식이죠. 본 포스팅에서는 컨텐츠 기반 필터링과 함께 널리 쓰이는 추천시스템인 협업필터링, 그 중 이웃기반 협업필터링에 대해 알아보겠습니다. 협업필터링(Collaborative Filtering) 먼저 협업 필터링이 무엇인지 다시 떠올려보겠습니다. 협업 필터링의 정의는 추천시스템 2편에서도 다룬 적이 있었는데요, '특정 상품에 대한 선호도가 유사한 고객들은 다른 상품에 대해서도 선호도가 비슷할 것이다’ 라는 가정하에 사용자의 아이템 평가 데이터를 이용해 비슷한 선호도를 갖는 다른 사용자가 선택한 아이템을 추천하는 방식을 협업 ..

article thumbnail
[추천시스템] 3) 컨텐츠 기반 필터링(Contents-based Filtering)

지난 추천시스템 2편에서는 추천시스템을 구축하기 위해 필요한 데이터의 종류와 대표적인 추천알고리즘을 간단하게 알아보았습니다. 본 포스팅에서는 널리 쓰이는 추천시스템 중 하나인 컨텐츠 기반 필터링에 대해 알아보겠습니다. 컨텐츠 기반 필터링(Contents-based Filtering) 아이템에 대한 프로필 데이터를 이용해 과거에 사용자가 좋아했던 아이템과 비슷한 유형의 아이템을 추천하는 시스템을 컨텐츠 기반 필터링이라고 합니다. 핵심은 사용자가 이전에 높은 평점을 주었던(좋았다고 평가했던) 아이템 A와 유사한 아이템 A'를 찾는 것이죠. 물론 이 아이템 A'는 사용자가 과거에 경험하지 않았던 아이템이어야 합니다. 예를 들어, 사용자가 영화 캡틴마블을 재밌게 보았다면 캡틴 마블에 대한 설명을 바탕으로 성격이..

article thumbnail
[추천시스템] 2) 사용하는 데이터와 추천알고리즘의 종류

지난 추천시스템 1편에서 추천시스템의 여러 사례들과 개념을 간략하게 살펴보았습니다. 추천시스템이란 특정 사용자가에게 좋아할 것이라고 예상되는 상품을 추천하는 시스템이라고 언급했습니다. 사용자 입장에서는 원하는 정보를 찾는 데 들이는 시간을 줄일 수 있고, 기업 입장에서는 고객의 만족도를 높여 충성 고객을 확보할 수 있다는 장점이 있었습니다. 서비스가 다양해지고 정보도 넘쳐나는 IT 시대에 중요도가 더욱 부각되고 있는 머신러닝 알고리즘이라고 할 수 있죠. 이번 추천시스템 2편에서는 추천시스템을 구축하기 위해서 어떤 데이터가 필요한지, 그 데이터를 갖고 어떤 알고리즘을 적용해볼 수 있는지 알아보겠습니다. 추천시스템에서 사용하는 데이터 어떤 서비스든 머신러닝을 적용하기 위해서는 데이터가 필수로 갖춰져 있어야 ..

article thumbnail
[추천시스템] 1) 추천시스템이란? - 사례와 개념

혹시 이 글을 보는 지금, 음악을 듣고 있진 않으신가요? 저는 이 글을 작성하는 지금 유튜브 뮤직을 이용해서 음악을 듣고 있습니다. 유튜브 뮤직의 메인 화면을 한번 같이 볼까요. 가장 위에는 제가 최근에 들었던 음악 목록을 제공하는데요, 저 음악 중 하나를 선택하면 노래가 재생되면서 유사한 곡들로 구성된 재생목록을 알아서 세팅해줍니다. 그 아래로는 즐겨 듣는 음악, (현재 저녁이기 때문에) 저녁에 어울리는 음악, 맞춤 믹스 재생목록 등을 사용자에게 제공해주고 있습니다. 차트100 처럼 현재 유행하는 곡을 보여주는 게 아니라 제가 자주 듣는 곡들을 보여주고 있죠. 인기곡, 인기뮤직미디오 같은 차트는 더 아래로 스크롤하거나, 아예 둘러보기 탭을 눌러야 접할 수 있습니다. 영화를 제공하는 대표적인 플랫폼인 왓..

article thumbnail
Movielens 데이터 소개

grouplens에서 제공하는 movielens 데이터는 아래 사이트에서 다운받을 수 있습니다. 전체 데이터가 담겨있는 Full version과 이보다 적은 양의 데이터가 담겨있는 Small version이 준비되어 있는데요, Full version은 28만명의 사용자와 58000개의 영화 정보가 제공되고, Small version은 600명의 사용자와 9000개의 영화 정보가 제공된다고 합니다. 저장된 파일들의 형식은 동일하니 간단한 탐색을 위해 Full version 데이터가 아니라, Small version 데이터를 받아서 사용하겠습니다. https://grouplens.org/datasets/movielens/latest/ MovieLens Latest Datasets These datasets ..

반응형