정의: 사용자의 구매 패턴이나 평점을 가지고 다른 사람들의 구매 패턴, 평점을 통해서 추천을 하는 방법
메모리 기반 알고리즘으로 협업 필터링을 위해 개발된 초기 알고리즘
User-based collaborative filtering
사용자의 구매 패턴(평점)과 유사한 사용자를 찾아서 추천 리스트 생성
Item-based collaborative filtering
특정 사용자가 준 점수간의 유사한 상품을 찾아서 추천 리스트 생성
K Nearest Neighbors: 가장 근접한 K 명의 Neighbors를 통해서 예측하는 방법
장점
단점
Rating Matrix에서 빈 공간을 채우기 위해서 사용자와 상품을 잘 표현하는 차원(Latent Factor)을 찾는 방법
행렬 분해는 추천 시스템에서 사용되는 협업 필터링 알고리즘의 한 종류
행렬 분해 알고리즘은 사용자-아이템 상호 작용 행렬을 두 개의 저 차원 직사각형 행렬의 곱으로 분해하여 작동
고유값 분해와 같은 행렬을 대각화 하는 방법
두개의 행렬(User Latent, Item Latent)을 동시에 최적화
알고리즘
1. User Latent 와 Item Latent의 임의로 초기화
2. Gradient Descent 진행
3. 모든 평점에 대해서 반복
4. 2~3의 과정을 epoch만큼 반복
장점
단점
두개의 행렬(User Latent, Item Latent) 중 하나를 고정시키고 다른 하나의 행렬을 순차적으로 반복하면서 최적화 하는 방법
기존의 최적화 문제가 convex 형태로 바뀌기에 수렴된 행렬을 찾을 수 있음
알고리즘
1. 초기 아이템, 사용자 행렬을 초기화
2. 아이템 행렬을 고정하고 사용자 행렬을 최적화
3. 사용자 행렬을 고정하고 아이템 행렬을 최적화
4. 위의 2,3 과정을 반복
장점
단점
협업필터링
장점
단점