als 3

Collaborative Filtering for Implicit Feedback Datasets (ICDM'08)

먼저 Alternative Least Squares(ALS)를 이해하기 위해서는 Matrix Factorization(MF)에 대해 어느정도 알고 있어야 가능하다. ALS는 MF와 같이 하나의 모델이 아니라 최적화하는 알고리즘 중 하나다. 우리의 목표는 Latent Factor Matrix를 찾는 것이며, 이를 위해 Loss Function 혹은 Cost Function이라는 하나의 '지표'를 선정한 후 최적화하는 방식으로 접근한다. 이때 최적화를 하는 방법은 Gradient Descent(GD), ALS 등 다양한 알고리즘이 존재하지만 여기에서는 ALS에 대해서만 다룰 것이다. ALS를 제시한 논문에 따르면 분산처리 환경에서 GD보다 더욱 효과적이고, sparse matrix에 robust하면서, Im..

[Linear Algebra] SVD(Singular Value Decomposition)

기존의 이웃 기반 협업 필터링(Neighbor Based Collaborative Filtering, NBCF)이 가지고 있는 희소성(Sparsity), 확장성(Scalarbility) 문제를 해결하기 위해 모델 기반 협업 필터링(Model Based Collaborative Filtering, MBCF)이 등장했다. MBCF의 종류는 엄청나게 다양하지만 여기서는 행렬 분해(Matrix Factorization) 중 대표적인 기법인 SVD(Singular Value Decomposition)에 대해서만 다룰 것이다. 이전에 다룬 고윳값 분해와는 조금 다른 방식으로 접근한다. SVD는 특이값 분해라고 부른다. SVD는 행렬을 고윳값과 고유벡터가 아닌, 특이벡터(Singular vector)들과 특이값(si..

[Recommender System] Neighborhood based method(CF)

K-Neighborhood based method(KNN)은 k개의 군집으로 clustering을 하는 머신러닝 기법 중 하나이다. 추천시스템에서 KNN이라 함은 Explicit Data 즉, 유저가 자신의 선호도를 직접 표현한 데이터를 가지고 새로 유입된 사용자 혹은 상품에 대해서 선호도를 예측하는 기법이라고 볼 수 있다. User Based Collaborative Filtering 사용자 간 유사도를 측정해 사용자가 아이템에 해당하는 평점을 직접 입력하지 않더라도, 해당 사용자와 유사한 사용자의 평점을 가지고 사용자에 대한 아이템의 선호도를 예측하는 기법이다. 주로 코사인 유사도, 피어슨 유사도를 사용하여 유사도를 계산하여 측정한다. 주의해야할 점은 해당 사용자가 측정한 평점에 bias가 들어갈 수..

반응형