이웃기반 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 - 웹페이지 머무는 시간, 클릭 패턴, 검색 로그, 실제 구매 여부, 장바구니 등
'딥러닝 > 추천시스템' 카테고리의 다른 글
추천시스템2 - Neighborhood Based Collaborative Filtering (0) | 2021.08.03 |
---|---|
추천시스템1 - 추천시스템이란?, 추천 알고리즘의 종류 (0) | 2021.07.28 |
최근댓글