recommender system 4

[Recommender System] 공분산(Covariance)

추천 시스템에서는 차원 축소 기법을 사용하여 모델을 구축할 때 공분산을 다룬다. 차원 축소는 다차원 행렬을 저차원으로 보내어 희소성 문제를 일부 완화할 수 있게 만들어주는 기법이다. 지금은 행을 기준으로 계산이 이루어지면 PCA(Principal Component Analysis), 열을 기준으로 계산이 이루어지면 FA(Factor Analysis) 정도로만 이해해도 무방하다. 사용자-아이템 간 평점 행렬은 일반적으로 희소(Sparsity) 행렬이라고 부른다. 쇼핑몰에는 방대한 양의 아이템이 존재하는데, 사용자는 모든 아이템에 대해 평점을 측정하는 것이 아니고, 일부에 대해서만 평점을 부여하기 때문이다. 이전에 다루었던 SVD(Singular Value Decomposition)과 비슷한 맥락이며, 결과..

[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] 이웃 기반 방법론 - Cosine, Pearson

이웃 기반 방법론은 사용자-사용자 간 유사도 혹은 상품-상품 간 유사도를 이용하자는 아이디어에서 시작됐다. 이웃 기반 모델에서는 다음과 같은 두 가지 기본 가정을 설정한다. NBCF(Neighbor Based Collaborative Filtering)라고 불리기도 한다. 1. 사용자 기반 모델 : 유사한 사용자들은 같은 상품에 대해 비슷한 평점을 부여한다. 2. 아이템 기반 모델 : 유사한 상품은 동일한 사용자에세 비슷한 방식으로 평점이 부여된다. 사용자 기반 이웃 모델을 구성하기 위해서는 타깃 사용자($i$)와 유사한 사용자를 찾기 위해서는 다른 모든 사용자와의 유사도를 계산해야한다. 유사도 계산을 수행할 때에는 사용자마다 본인의 기준이 다르기 때문에 평점 스케일이 다를 수 있음을 고려하고 계산을 수..

[Recommender System] context of recommender systems

컨텍스트의 사전적인 정의는 '이벤트를 둘러싸고 적절한 해석을위한 자원을 제공하는 프레임' 이며, 다양한 곳에서 다양한 의미로 쓰인다. 자연어 처리에서는 문장의 문맥을 뜻하고, 추천시스템에서는 시간적, 공간적 컨텍스트를 예로 들 수 있다. 고객에게 제품을 추천해줄 때 여름인데 겨울 패딩을 추천해주는 것보다는 반팔티와 같은 여름의 컨텍스트에 맞는 제품을 추천해주는 것이 구매할 확률이 높기 때문이다. 추천시스템에서는 이와 같이 도메인에 특화된 다양한 문제점들이 있기 때문에 이를 해결함으로써 고객 만족도가 더욱 높아지고, 매출액에 직결될 수 있을 것이다. 시간에 민감한 추천 시스템 : 영화를 추천해줄 때 최근 개봉한 영화를 추천해주는 것과 개봉한지 몇 년이 지난 영화를 추천해주는 것은 큰 차이가 있다. 필연적으..

반응형