본문 바로가기

전체 글

(67)
BPR-MF(Bayesian Personalized Ranking MF) 추천시스템의 CF에서 BPR을 적용한 MF기법이 있다. 추천시스템에서 오래전부터 많이 사용해오던 MF지만, BPR-MF는 다소 생소해 정리를 해봤다. 아래의 논문과 블로그를 참고했다. 논문: Modified Bayesian personalized ranking for non-binary implicit feedback 블로그: http://sanghyukchun.github.io/95/ https://itkmj.blogspot.com/2019/08/bpr-bayesian-personalized-ranking-from.html BPR은 상품간의 선호도를 확률 모형화를 한 모델이다. BPR은 개인이 선호하는 상품을 단계별로 카테고리화하여 분석을 진행한다(Positive items: 긍정적 상품/ Negati..
2. Numpy로 공부하는 선형대수 2.1 데이터와 행렬 사용 목적: 대용량 데이터를 간단한 수식으로 서술할 수 있다. 즉, 여러 개의 복잡한 방정식을 간단한 행렬로 나타낼 수 있다. 데이터 유형 데이터 크기 순: 스칼라< 벡터< 행렬< 텐서 스칼라(scalar): 숫자 하나로 이뤄진 데이터 벡터(vector): 여러 숫자로 이뤄진 하나의 데이터 레코드 벡터는 여러 행을 가지고 하나의 열을 가짐 (한 데이터의 여러 요소) np.array(), 사이킷런에서는 벡터 표시 시 2차원 배열 객체를 사용해야 함 reshape(행의 수, 1)를 사용하면 쉽게 벡터화할 수 있다 특징 벡터(feature vector): 데이터 벡터가 예측 문제에서 입력 데이터로 사용되는 경우 행렬(matrix): 벡터(데이터 레코드)가 여럿인 데이터 집합(여러 개의 데..
[CF] MF(Matrix Factorization, 행렬분해) MF는 CF(Collaborative Filtering)의 한 기법이다. MF는 user-item의 매트릭스에 비어있는 요소를 채우는 기술이다. 아래의 행렬이 user-item 매트릭스라고 가정해보자 $\begin{bmatrix} 2 & 5 \\ 3 & ? \end{bmatrix}$ 2번째 user(행)가 두 번째 item에 대해서 평점을 매기지 않았다. 실제로 user-item 매트릭스는 결측치가 매우 많다. 대부분의 사람들이 소수의 영화나 아이템을 구매하기 때문이다. 이런 결측치를 채우기 위해서 차원을 축소해 영화의 Latent 한 특성(장르, 미장센, 배우..)을 찾아 별점을 채운다. 매트릭스를 채우기 위해서는 PCA나 SVD, SVD++같은 알고리즘으로 분해하거나 축소를 하며 latent 한 특성..