본문 바로가기
2023-4/졸업 논문

[성능평가] KNN협업필터링/SVD협업필터링 비교

by 이망고_ 2023. 5. 10.

KNN 기반 협업 필터링과 SVD(Singular Value Decomposition) 기반 협업 필터링은 각각 다른 방식으로 추천을 수행한다고 한다.

큰일날뻔함.. 난 SVD 가 메모리 기반인 줄 알고 이전 리허설에서 그렇게 발표함.. 진짜 꺼진 부롣 다시ㅗ바야함.. 내가 쓴 알고리즘은 모델학습 기반인.. 근데 진짜 내가 비교해보았는데 모델학습 기반의 알고리즘의 성능이 2배가까이 좋음.. (내논문에 씀...ㄳ)

KNN 기반 협업 필터링

KNN 기반 협업 필터링은 사용자 혹은 아이템 간의 유사도를 계산하고, 유사도가 높은 k개의 사용자나 아이템을 선택하여 추천합니다. 이 방식은 메모리 기반 협업 필터링으로 불리며, 사용자나 아이템 간의 유사도를 미리 계산해야 하므로 메모리 사용량이 큽니다. 또한, 새로운 사용자나 아이템이 추가되면 유사도를 다시 계산해야 하므로 확장성이 떨어집니다.

 

SVD 기반 협업 필터링

SVD 기반 협업 필터링은 행렬 분해(Matrix Factorization) 방식으로 추천을 수행합니다. 사용자-아이템 행렬을 저차원의 사용자 잠재요인(Latent Factor) 행렬과 아이템 잠재요인 행렬로 분해하고, 두 행렬의 내적으로 사용자-아이템 평점 예측값을 계산합니다. 이 방식은 모델 기반 협업 필터링으로 불리며, 초기에는 계산량이 크지만 계산된 모델을 저장해 놓고 추천을 수행하므로 확장성이 좋습니다. 또한, 새로운 사용자나 아이템이 추가되어도 모델을 다시 학습할 필요가 없습니다.