👥

협업 필터링 (Collaborative Filtering)

\"너랑 취향 비슷한 사람이 이거 좋아했어\"

추천시스템의 원조격이다. 1990년대부터 쓰였고, 아직도 많은 서비스의 기반이다.

User-based CF

나와 비슷한 평점 패턴을 가진 유저를 찾고, 그 유저가 좋아한 아이템을 추천한다. 직관적이지만 유저 수가 늘면 계산 비용이 폭발한다.

Item-based CF

아이템 간 유사도를 미리 계산해 놓는다. "이 영화를 본 사람들이 저 영화도 봤다" 패턴. Amazon이 초기에 이걸로 대성공했다. 유저 수보다 아이템 수가 안정적이라 스케일링에 유리.

CF의 근본적 한계는 cold start다. 새 유저나 새 아이템은 행동 데이터가 없으니 추천이 불가능하다. 이걸 보완하려면 Content-based나 하이브리드 방식이 필요하다.

동작 원리

1

유저-아이템 상호작용 매트릭스 구성

2

유저 간 또는 아이템 간 유사도 계산 (코사인, 피어슨)

3

유사한 유저/아이템의 평점을 가중 평균으로 예측

4

예측 점수 기준 상위 N개 추천

장점

  • 도메인 지식 없이도 작동한다
  • 구현이 단순하고 직관적

단점

  • Cold start 문제 (새 유저/아이템)
  • 스파스 매트릭스에서 성능 저하

사용 사례

Netflix 초기 추천 엔진 Amazon \"이 상품을 구매한 고객이 함께 구매한 상품\"