이웃기반 vs 모델기반 차이

이웃기반 협업필터링이란?

메모리 기반 : 과거에 있던 데이터(user-item)를 기반으로 새로운 아이템을 예측

1) 구현이 간단

2) Model-based CF에 비해 계산량이 적음

3) 새로운 user, item이 추가되더라도 비교적 안정적

4) 새로운 content(user 또는 item)를 추천할 수 있다. 

 

모델기반 협업필터링이란?

머신러닝(and 특징)을 가장 잘 활용한 추천알고리즘의 일종이자 주어진 데이터를 활용하여 모델을 학습한다. 항목간 유사성보단 데이터의 패턴을 학습하며 데이터(유저)의 잠재적 특성(선호하는 취향)을 파악하는 모델이다.

1) 알고리즘의 크기 : 데이터로 구성된 행렬보다 압축된 형태로 저장된다.

2) 학습과 예측 속도 : 미리모델을 준비하여, 준비된 모델로 예측

3) 과적합 방지 : 데이터를 다양하게 학습할 수 있으며, 새로운 추천을 할 가능성이 있다. (이웃기반은 데이터에 의존하나, 모델기반은 비어있는 공간을 채워나가는 느낌이라서 가지고 있는 데이터에만 포커스x, 많은 것을 학습 가능)

4) sparse data : sparse matrix -> dense matrix (하나하나 채워가는)

5) limited coverage : 이웃기반 데이터를 확보하기 힘드므로 학습시킴으로써 커버가능

 

상호 연관관계 : 데이터에서 동일하게 반복등장하는 것

Association Rule Mining :

데이터에서 관계를 찾는 rule-based ML 기법 중 하나이며 최소 지지도와 신뢰도 값은 넘는 rule을 찾는 과정

지지도 : 아이템이 동시에 발생할 확률(A와 B의 교집합)

신뢰도 : A가 선택된 상태에서 다른 아이템 B를 선택할 확률(A->B, B->A 순서 고려)

향상도 : A,B의 관계를 직접적으로 나타내는 측정(A->B / B)

<1 상호대체 / >1 상호보완 / =1 독립

 

Matrix Factorization

Latent Factor Model

잠재된 특징들을 가지고 있는 모델. 사용자/아이템의 복잡한 특성(관계)을 벡터로 간략화하는 모델링

SVD : 행렬(Rating Matrix)을 분해하겠다. 차원을 축소시키는 방법. U(사용자<->latent factor), V(아이템<->latent factor)

노이즈를 제거하고, sparse matrix형태로 큰 데이터 축소. latent factor는 user와 item이 공통으로 갖는 특징이다.

 

원래 rating matrix와 예측 matrix가 서로 유사하도록 학습하는 과정이다.

true rating - predicted rating의 값을 근사값으로 추론하는 문제

matrix completion(비어있는 값을 채워나가기 때문에)

 

objective function - 제약텀을 추가해서 제너럴하게 함(실제 측정된)

xu와 yi를 알 수 없다 -> convex하지 않다 -> 둘 중 하나를 번갈아 고정시키면서, 최소제곱문제로 푼다.

-> 독립적으로 계산할 수 있기 때문에 병렬처리할 수 있고, dense하기 때문에 번갈아가면서 하는 게 연산량 측면에서 유리하다.

 

add bias

 

additional input sources

 

temporal dynamics

 

inputs with varying confidence levels(대규모 배급사 vs 인디 영화)

 

implicit feedback 데이터를 반영하는 것이 중요하다.

 

implicit feedback과 explicit feedback

explicit - 설문조사, 평가, 피드백, 영화 평점, 상품 구매 후기 등

implicit - 웹페이지 머무는 시간, 클릭 패턴, 검색 로그, 실제 구매 여부, 장바구니 등

 

 

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기