1. 협업 필터링 유형
1) 협업 필터링의 정의
- 사용자와 아이템 간의 상호작용 데이터를 기반으로, 유사한 사용자나 아이템을 찾아서 새로운 추천을 생성하는 방법
- 사용자의 과거 행동 데이터 또는 유사한 사용자 그룹의 데이터를 활용하여 개인화된 추천을 제공
2) 협업 필터링의 유형
- User-based collaborative filtering
- 이전에 평가한 아이템 중 비슷하게 평가한 사용자를 통해 타겟 사용자의 타겟 아이템에 대한 점수를 예측함
- 사용자간의 유사성 평가는 row 기준으로 구함
- Item-based collaborative filtering
- 타겟 사용자가 이전에 평가한 아이템과 비슷한 아이템을 찾아, 타겟 사용자의 평가를 바탕으로 타겟 아이템에 대한 점수를 예측함
- 아이템 간 유사성 평가는 Column 기준으로 구함
2. 협업 필터링 과정
1) 전반적인 과정
(1) 데이터 준비
- 사용자-아이템 평가 데이터를 바탕으로 유틸리티 행렬을 생성
- 사용자-아이템 상호작용 데이터 : 사용자가 특정 아이템을 어떻게 평가했는지 기록한 평가 행렬. 열은 사용자, 행은 아이템을 나타내어 각 셀에 사용자가 아이템에 부여한 평가점수가 들어감
(2) 유사도 계산
- 사용자 간 또는 아이템 간 유사도를 계산하여 비슷한 사용자나 아이템을 찾음
- 사용자 기반 협업 필터링 : 유사한 평가 패턴을 가진 사용자를 찾음. 사용자의 평가 데이터의 유사성을 기반
- 아이템 기반 협업 필터링 : 특정 사용자가 평가한 아이템과 유사한 아이템을 찾아 추천함. 사용자가 해당 아이템에 부여한 평가 점수의 유사성을 기반.
(3) 평점 예측
- 유사도를 바탕으로 아직 평가되지 않은 아이템에 대한 예상 평점을 계산
- 사용자 기반 협업 필터링 : 사용자 간 유사도에 기반하여, 타겟 사용자의 유사한 사용자가 특정 아이템에 부여한 평가 점수를 사용해 타겟 사용자의 평점을 예측
- 아이템 기반 협업 필터링 : 사용자가 평가한 유사한 아이템의 평가 점수를 바탕으로 새로운 아이템에 대한 사용자의 평점을 예측
(4) 추천 제공
- 예측된 평점이 높은 아이템을 추천
(5) 피드백과 반복
- 추천 시스템은 사용자의 피드백을 통해 점점 더 나은 추천을 제공함
- 사용자가 추천받은 아이템을 평가하거나 소비할 때,이 데이터는 평가 행렬에 추가되며 이를 기반으로 다음 추천이 이루어짐.
2) User-Based Neighborhood Models에서의 평점 예측
- µᵤ : 사용자 u의 평균 평점
- Pᵤ(j) : 사용자 u와 유사한 사용자들
- Sim(u,v) : 사용자 u와 사용자 v의 유사도 함수
- sⱼᵥ : 사용자 v의 아이템 j에 대한 평점
- µᵥ : 사용자 v가 아이템 j에 대해 평가한 평균 중심화된 평점
- Pᵤ(j) = 사용자 4와 유사도가 0.8 이상인 사용자 (= 사용자3)
- 사용자 4의 '검은 사제들'에 대한 예측 평점 = 3.2 + (0.97 * (5 - 3.2)) / 0.97 = 5
3. 유사도 함수
1) MSD (mean squared difference)
- 두 사용자 또는 두 아이템이 공통적으로 평가한 항목들의 평가값 차이를 제곱한 후 평균을 계산
- 낮은 MSD 값일수록 두 사용자가 유사한 평가 패턴을 보임
2) 코사인 유사도 (Cosine Similarity)
- 두 벡터 간의 코사인 각도를 기반으로 유사도를 계산
- 두 벡터가 얼마나 유사한지를 측정하는 방법으로, 0에서 1 사이의 값을 가짐
- 1에 가까울수록 유사함
- 사용자 A의 평가 벡터 : [5, 1, 3, 2, 2, 5]
- 사용자 B의 평가 데이터 : [5, 2, 2, 2, 2, 0] (결측값은 0으로 처리)
- 두 벡터 간의 내적 : (5 * 5) + (1 * 2) + (3 * 2) + (2 * 2) + (2 * 2) = 41
- 사용자 A의 벡터의 길이 : (5²+1²+3²+2²+2²+5²)¹ᐟ² = 8.25
- 사용자 B의 벡터의 길이 : (5²+2²+2²+2²+2²+0²)¹ᐟ² = 6.40
- 코사인 유사도 : 41/(8.25*6.40) = 0.776
3) 피어슨 상관계수
4) 자카드 유사도
- 사용자 A와 B가 공통으로 평가한 아이템 (A ∩ B) : 7번방의 선물, 검은 사제들, 극한직업, 엑시트, 파묘
- 사용자 A와 B가 평가한 모든 아이템 (A ∪ B) : 7번방의 선물, 검은 사제들, 극한직업, 엑시트, 파묘, 국제시장
- 자카드 유사도 : 5/6 = 0.833
'데이터 AI' 카테고리의 다른 글
추천시스템과 협업필터링 (1) - 추천시스템이란? (3) | 2024.11.28 |
---|