본문 바로가기

분류 전체보기101

[Recommender System / Code Implementation] Implicit feedback CF 구현하기 implicit feedback을 사용한 CF를 가장 잘 정리한 페이퍼를 파이썬으로 구현한 내용을 정리한다. 포스팅에서 모든 코드를 다루지는 않았는데, 완벽한 코드를 보고 싶다면 github repo을 참고하면 된다. 시작하기에 앞서, 아래 포스팅에서 implicit feedback CF에 대해 이론적으로 정리했으니 참고하면 좋을 것 같다. https://steady-programming.tistory.com/45 [Recommender System / Paper review] #07 Collaborative Filtering for Implicit Feedback Datasets 논문 링크(3690회 인용) Summary 사용자가 직접적으로 아이템에 대해 매기는 explicit feedback이 아닌.. 2023. 6. 6.
[Recommender System / Paper review] #30 Neural Collaborative Filtering vs Matrix Factorization Revisited 논문 링크(274회 인용) Summary matrix factorization부터 시작된 추천시스템 연구는 dot product을 mlp layer로 바꾸는 방향으로 진행되었다. 기본 아이디어는 다소 간단한 연산인 dot product에 비해서 non-linear 관계를 모델링할 수 있는 mlp layer가 나은 선택지가 될 수 있다는 것이다. 본 논문에서는 dot product 대신, mlp layer을 사용했을 때 발생하는 여러 문제에 대해 논의한다. 이는 서비스에 추천 시스템을 적용하고자할 때 발생하는 실용적인 문제를 포함한다. 게다가 하이퍼파라미터 튜닝만 적절히 한다면 neural mf에 준하는 성능을 mf에서도 얻을 수 있음을 실험을 통해 보여준다. 이를 통해 추천 시스템 문제에서 mf가 효과적.. 2023. 5. 24.
[Recommender System] Derivation of optimization process of ALS 이전 포스팅에서 time complexity을 개선한 행렬 분해에 대해서 알아보았다. https://steady-programming.tistory.com/57 [Recommender System / Paper review] #19 Fast Matrix Factorization for Online Recommendation with Implicit Feedback 논문 링크(967회 인용) Summary 기존의 방법과는 다르게, 본 논문에서 제안하고자 하는 mf는 implicit feedback을 이용하되 관측되지 않은 feedback은 서로 다른 weight을 준다. 이는 item popularity을 반영한 weigh steady-programming.tistory.com 이 논문은 implicit .. 2023. 5. 18.
[Recommender System / Paper review] #29 Variational Autoencoders for Collaborative Filtering 논문 링크(873회 인용) Summary vae 모형을 cf 알고리즘에 적용한다. 유저와 아이템간의 interaction을 관측된 데이터로 보고 여기에 내재하는 multinomial 분포를 추정하고자 한다. latent variable을 샘플링하고 확률의 의미를 가지도록 1로 정규화한다. 이를 multinomial 분포의 파라미터로 사용하여 유저가 아이템과 interaction하는 여부를 샘플링한다. 즉, 유저와 아이템간의 interaction 관계를 generative model로 가정하는 것이다. 파라미터 추론은 vae 논문에서 나온 reparametrization trick을 사용한다. 이를 통해 elbo에 대한 gradient estimator을 구하고 파라미터 최적화를 진행한다. Motivat.. 2023. 5. 6.
[DL / Paper review] Auto-Encoding Variational Bayes 논문 링크(26527회 인용) Summary probabilistic model에서 variational inference은 종종 사용되는데 closed form으로 업데이트를 하는 것이 아닌, elbow에 대한 gradient을 구해서 파라미터를 업데이트 하는 방법을 제시한다. niave monte carlo gradient estimator을 유도하고 이는 variance가 큼을 지적하며 reparameterization 기술을 통해 gradient estimator을 유도한다. 이는 objective function이 어떠한 형태이든, 적절한 reparameterization을 사용하여 미분 가능한 식으로 바꿔두면 어떠한 elbow에 대해서도 gradient을 구할 수 있기 때문에 꽤나 일반적이고 .. 2023. 5. 6.
[Recommender System / Paper review] #28 Factorization Meets the Item Embedding: Regularizing Matrix Factorization with Item Co-occurrence 논문 링크(283회 인용) Summary mf 목적식에 item co-occurrence 목적식을 더하여 아이템 벡터를 jointly 학습함으로써 아이템 벡터의 유저의 취향 뿐만 아니라 같이 출현하는 아이템의 관계도 함께 녹여낸다. 아이템 co-occurrence은 SPPMI 행렬로 표현하며 이 행렬을 분해함으로써 쌍으로 등장하는 관계가 담겨있는 아이템 벡터를 생성한다. Levy는 skipgram으로 학습한 word2vec과 pointwise mutual information 행렬을 분해한 것과의 관계를 밝혔는데, 이 맥락에서 SSPMI 행렬이 아이템 간의 co-occurrence와 관련이 있는 것이다. 최적화는 유도된 gradient을 사용하여 sgd을 통해 진행한다. 이는 ALS과 비슷한 형태이다. .. 2023. 5. 4.