유저 관련 정보
아이템 관련 정보
유저-아이템 상호작용 정보
'많은 유저들로부터 얻은 기호 정보'를 이용해 유저의 관심사를 자동으로 예측하는 방법
최종 목적 : 유저 u가 아이템 i에 부여할 평점을 예측하는 것
특징
구현이 간단하고 이해하기 쉽다.
아이템이나 유저가 계속 늘어날 경우 확장성이 떨어진다. (Scalability)
- 유저, 아이템이 많아야 정확한 예측을 하지만 시간이 오래걸림
주어진 평점/선호도 데이터가 적을 경우, 성능이 저하된다. (Sparsity)
- 실제로 행렬 대부분의 원소가 비어있는 것.
(user, item 숫자에 비해 가지고 있는 평점이나 선호도가 아주 적은 경우)
ex) user 100M, 영화 500K개 인데 평균적으로 모든 사람이 모든 영화를 보지 않음.
- NBCF를 적용하려면 적어도 sparsity ratio*가 99%를 넘지 않는 것이 좋음
- 데이터가 부족하거나 혹은 아예 없는 유저, 아이템의 경우 추천이 불가능함 (Cold start)
두 유저가 얼마나 유사한 아이템을 선호하는가?
유저 간 유사도를 구한 뒤, 타겟 유저와 유사도가 높은 유저들이 선호하는 아이템을 추천
두 아이템이 유저들로부터 얼마나 유사한 평점을 받았는가?
아이템간 유사도를 구한 뒤, 타겟 아이템과 유사도가 높은 아이템 중 선호도가 큰 아이템을 추천
NBCF의 한계: 아이템 i에 대한 평점을 예측하기 위해 아이템 i에 대해 평가한 유저 집합에 속한 모든 유저와의 유사도를 구해야하지만, 유저가 많아질 경우 많은 연산으로 성능이 떨어질 수 있음.
=> KNN 협업 필터링 사용
KNN CF 아이디어 : 아이템 i에 대해 평가한 유저 집합에 속한 유저 가운데 유저 u와 가장 유사한 k명의 유저(KNN)를 이용해 평점을 예측
유사도 측정법 (Similarity Measures) : 두 개체 간의 유사성을 수량화하는 실수 값 함수 혹은 척도
항목 간 유사성을 단순 비교하는 것에서 벗어나 데이터에 내재한 패턴을 이용해 추천하는 CF기법
특징 : 데이터에 숨겨진 user-item 관계의 잠재적 특성/패턴을 찾음
(현업에서는 Matrix Factorization기법이 가장 많이 사용됨)
장점
오프라인 행사에 참여해 RecSys에 있는 캠퍼들을 처음 만나보고 팀원 한분도 대면으로 처음 만나봤다. 더 이야기해서 친해져야겠다.
이번주부터 RecSys에 대해 본격적으로 들어갔는데, 처음 접하는 도메인이라서 그런지 강의를 한번 듣고서는 전부 소화하지 못하겠다. 다시 강의를 들어봐야겠다.