Collaborative Filtering

running example : 영화 평 예측 (predicting movie ratings)

점수가 주어지거나, 점수가 아예 주어지지 않거나 → 주어지지 않은 점수를 예측해야 한다.

어떻게? 유저들의 관계 정보를 활용하여. (Collaborative)

가정 : 나와 비슷한 취향의 사람들이 좋아하는 것은 나도 좋아할 것이다.

포인트 : 많은 사용자들로부터 얻은 취 향 정보를 활용해야 한다.

  1. Memory-Based Approach (룰기반)
    1. User-based - 유사도 기반 나와 유사한 사용자를 찾는 것
    2. Item-based - 특정 아이템을 좋아한 사용자들이 공통적으로 좋아한 item을 찾는 것
  2. Model-Based Approach (모델기반)
    1. Matrix Factorisation (행렬기반)
    2. Neural Network (신경망)

아래 내용은 기계학습 알고리즘에 대한 설명

특히 행렬기반 경사하강법을 통한 추청; 즉 에러(예측과 실제 평점을 비교)를 계산하는 작업의 반복

Untitled

우리에게 주어진 데이터가 영화에 대한 유저들의 평점이라면?

이 상황에서 우리는 어떤 유저에게 무엇을 추천해야할까?

→ 알고리즘을 통해 사용자가 아직 평가하지 않은 아이템의 평점을 예측해보자. 사용자의 선호도는 Hidden Factor로 결정된다!

  1. Per-item features 사용하기

    Untitled

  2. Collaborative filtering algorithm

    Untitled

  3. Binary labels

    Untitled