ML system

[RecSys] 4. 협업 필터링이란?

mlslly 2024. 4. 23. 17:40

협업 필터링 (Collaborative Filtering) 이란? 

 

내용 기반 추천에서는, 한 유저의 평점이 다른 유저의 평점에 영향을 미치지 않고 서로 독립적이라고 가정했다.

그러나 현실에서는 유저들 간의 영화 평점은 복잡한 관계 안에서 연결 되어있고 또 영향을 미친다.

 

 

특히 영화별 평점을 유사하게 매긴 사람들을 생각해보자. '유사한 유저들'의 집단을 알아낼 수 있다면?

또 어떤 영화나 장르가 특정 유저 집단들 사이에서 유행하게 되었다면?

 

이런 경우들을 고려할 때,

A와 비슷한 패턴으로 평점을 매기는 B가 있을 때, 

A는 아직 평가하지 않은 영화에 대해서 평점을 예측하기 위해 B의 평점을 참고하는 건 아주 논리적이고 유용해 보인다.

 

이런 '유저간 유사성'의 개념을 활용하는 것이 협업 필터링 방식의 추천 시스템이다.

예를 들어 아래와 같은 상황이다.

 

유저 A 에게 영화를 추천하고자 할때, 

1) A와 비슷한 유저들을 100명 찾는다

2) 비슷한 유저들이 새로운 영화에 대해서 어떻게 평가했는지 유사 유저 그룹의 평점을 확인한다

3) 비슷한 유저들의 평균 평점을 유저 A의 예측 평점으로 활용한다 

 

다음 게시물에서 협업 필터링을 통해 어떻게 추천시스템을 만드는지 세부적으로 알아보겠다.


 

*참고 

- 영화 추천 사례로 협업 필터링 설명 : https://medium.com/@toprak.mhmt/collaborative-filtering-3ceb89080ade

 

Collaborative Filtering

In this blog, I’ll be covering a recommender system technique called collaborative filtering. So let’s get started. Collaborative…

medium.com

- 협업필터링 추천시스템 구축하기 https://towardsdatascience.com/various-implementations-of-collaborative-filtering-100385c6dfe0

 

Various Implementations of Collaborative Filtering

Comparison of different methods to build recommendation system using collaborative filtering

towardsdatascience.com