본문 바로가기

추천시스템19

YouTube Recommendation system 트릴로지 리뷰 - [2] YouTube Recommendation system 트릴로지 리뷰 - [1] 이번에 리뷰할 자료는 으로, 2016년에 발표된 것이다. 이 자료는 당시에 나오자 마자 읽어봤던 자료인데(물론 우연이었다), 추천시스템에 막 관심을 가지기 시작했을 때 생애 처음(..)으로 제대로 읽어본 '논문' 비스무레한 것이다. 복잡한 수식도 나오지 않고 intuitive 하면서도 흥미로운 내용이라 지금 읽기에는 무척 재미난 논문이지만, 당시에는 딥러닝은 커녕 머신러닝의 'ㅁ' 자도 모르던 학부생 시절이었기 때문에 끝까지 읽는데 아주 애를 먹었던 기억이 있다. 게다가 2016년에는 추천시스템에 대한 자료 자체가 다소 귀한 편이었기 때문에(물론 지금도 넉넉치는 않다), 개념을 잡아주고 트렌드를 파악하기에 매우 도움이 됐었다... 2020. 2. 4.
YouTube Recommendation system 트릴로지 리뷰 - [1] 본 포스팅은 2010, 2016, 2019에 발표한 유튜브의 추천시스템 자료를 리뷰한 것이다. 3부작이 끝이 아님에도 트릴로지라는 이름을 붙인 것은, 필자에게는 이 자료들이 매트릭스 3부작이나 반지의제왕 3부작 만큼이나 재미있었기 때문(..) 오늘 리뷰할 자료는 으로, 2010년에 발표된 것이다. 유튜브 붐이 일어나던 초창기에 사용된 추천시스템을 살펴볼 수 있다. 하지만 그 철학과 기본 틀은 현재까지도 유효하며, 이제 막 추천시스템을 구축하려는 작은 서비스에서는 여전히 현대적인 추천시스템이라고 할 수 있다. 1. Intro 유튜브 추천시스템을 요약하면, 유저가 유튜브에서 행동한 데이터를 바탕으로 개인화된 비디오를 추천해준다는 것이라고 할 수 있다. 그리고 이 논문은 그 과정에서 직면한 문제점들과 이를 어.. 2020. 1. 31.
Microsoft Research Learning to Rank 알고리즘 - [1] RankNet 지난 포스팅에서는 Learning to Rank에 대한 intuitive한 내용들을 다루었다. 이에 대한 내용을 다시 한 번 상기하자면, 검색과 추천같은 '랭킹'이 중요한 서비스의 경우, 아이템의 순위를 어떻게 정하느냐가 서비스의 품질을 결정한다고 할 수 있다. 그리고 이를 평가하기 위한 가장 정교한 방법은 list-wise 방법으로, nDCG를 대표적인 예로 들 수 있다. 그렇다면 이제 pair-wise ~ list-wise 정렬을 잘 하는 방법, 즉 "순서 정보를 이용하여 모델을 학습하는 방법"에 대해 알아보자. 이를 가장 잘 대표하는 방식이 바로 RankNet 계열의 알고리즘이다. 이는 Microsoft Research에서 연구한 내용으로, 순서 정보를 이용하여 뉴럴넷을 학습하는 랭킹 알고리즘의 기.. 2019. 10. 31.
[Recommender System] - 개인화 추천 시스템의 최신 동향 [Recommender System] - 추천 시스템의 전반적인 내용 (1) [Recommender System] - 추천 시스템의 전반적인 내용 (2) [Recommender System] - 추천 시스템에 사용되는 알고리즘들 추천 시스템의 전반적인 내용을 정리한 기존 블로깅에서는 최신 동향과 시스템에 대해서는 아주 간략한 정도로만 소개했었다. 이번 포스팅에서는 추천 시스템의 최신 기술적 동향을 살펴보도록 하자. 본 포스팅에서 기술하는 내용은 완전히 'general'한 추천시스템에 대한 내용이라기보다는, e-commerce에 어느정도는 초점이 맞춰져 있다고 볼 수 있다. 또한 최근 추천 시스템의 거의 절대적인 트렌드인 '개인화 추천'에도 초점이 맞춰져 있다. Recent Personalized Reco.. 2019. 6. 17.
[Recommender System] - Autoencoder를 이용한 차원 축소 기법 차원축소에 흔히 사용되는 방법은 SVD와 같은 Matrix Factorization, Eigen value 등의 개념을 활용한 것이다. 특히나 추천시스템에서는 유저나 아이템 단위의 profile에 이러한 차원축소를 유용하게 사용하곤 한다. 유저의 행동정보를 flat하게 펼쳐놓은 vector라던지, 비정형 정보의 embedding을 예로 들 수 있다. 기본적인 차원축소는 원래의 고차원 데이터를 중간 단계의 vector로 표현하고, 이를 다시 원래의 모형대로 완성하는 학습을 거치면 중간 단계의 vector가 축소된 정보를 잘 담고있다는 아이디어에서 출발한다. 가장 널리 알려진 PCA는 원래의 모형대로 학습하는 과정 없이, 선형적인 성질만을 이용하여 데이터의 분산을 최대화하는 차원으로 데이터를 투영시킨다. P.. 2019. 5. 20.
[Image Object Detection] R-CNN 리뷰 Contents based한 추천 알고리즘 설계 방법에는 크게 정형 데이터와 비정형 데이터를 이용하는 방법이 있다. 최근 관심있게 보고 있는 것이 비정형 데이터인데, 비정형 데이터의 대표격인 Image feature를 이용한 CB 방식을 공부중이다. 이미지 쪽은 학생 시절 Image Search를 가라(?)로 구현해 본 이후 한번도 들여다 본 적이 없기에 이번 기회에 제대로 공부해야 할 필요성을 느꼈다. 그 중에서도 Object detection에 대해 천천히 논문 리뷰를 진행하면서 이미지에 대한 공부를 진행할 요량이다. 개인적으로 빠른 공부에 가장 좋은 것은 SOTA 방식의 접근법을 역추적하며 히스토리에 대해 공부하는 방법이라고 생각한다. 그래서 첫 번째 리뷰할 논문은 R-CNN에 관한 논문으로 선정하.. 2018. 12. 12.
[Recommender System] - Wide & Deep Learning for Recommender Systems 리뷰 추천시스템에서의 SOTA(State of the Art)는 Matrix Completion 계열의 FM, SVD 등의 알고리즘이다. 최신 추천 알고리즘들의 핵심은 변수들의 의미를 나타내는 latent vector를 만들어 내거나, 변수간의 cross-product를 자동화하는 것이다. 구글이 2016년 발표한 Wide & Deep Learning for Recommender Systems는 이러한 알고리즘들의 핵심을 Deep Learning의 관점에서 새롭게 해석한 것이다. 여기에 사람의 기억과 일반화에 대한 모티브를 기술적 아이디어로 추가하여 발표하였다. 이 알고리즘은 선형대수에 대한 깊은 이해가 없어도 일반적인 Deep Learning의 관점에서 쉽게 구현에 접근할 수 있고, 추천 시스템에 한정되어 .. 2018. 8. 24.
[Recommender System] - Python으로 Matrix Factorization 구현하기 Matrix Factorization 혹은 Matrix Complementation과 관련된 수많은 변형 알고리즘들이 존재한다. 하지만 본질적으로는 행렬을 분해하고 분해한 행렬을 변수로써 학습하는 것이다. 업데이트 방법에 따라 NNMF, ALS 등으로 나뉘고, cost를 정의하는 방식에 따라 Implicit, explicit data를 처리하는 다른 알고리즘이 된다. 그래서 본질을 제대로 이해하고 있다면, 최근 Kaggle 등에서 유행하고 있는 여러 Matrix Factorization의 최신 알고리즘도 크게 다르지 않다는 것을 알 수 있다. 본 포스팅에서는 Python 코드를 이용하여 banila-MF를 구현할 것이다. (Matrix Factorization에 대한 이론적 설명 참고) 1. Basic .. 2018. 8. 1.
[Recommender System] - MF(Matrix Factorization) 모델과 ALS(Alternating Least Squares) 추천 알고리즘 중에 가장 널리 사용되는 알고리즘은 단연 CF이다. 그중에서도 단일 알고리즘으로써 가장 성능이 높은 것은 단연 Model Based CF인 Matrix Factorization 계열의 알고리즘이다. (CF 기반 모델링에 관한 내용 참고) 이번 포스팅에서는 MF와 ALS에 대해 공부해보고, Implicit feedback 상황에서 ALS를 적용하는 방법을 살펴볼 것이다. 포스팅의 내용은 [추천 엔진을 구축하기 위한 기본서 - Suresh K.Gorakala]와 논문 그리고 이곳을 참고하였다. 1. Matrix Factorization 우선 MF 모델은 user-item 의 matrix에서 이미 rating이 부여되어 있는 상황을 가정한다. (당연히 sparse한 matrix를 가정한다) MF.. 2018. 7. 16.