DRF+ AI) 웹개발 최종 - 6일차
추천 시스템의 종류
Content-Based Filtering
사용자가 특정 아이템을 선호하는 경우 그 아이템과 비슷한 콘텐츠를 가진 다른 아이템을 추천하는 방식이다.
ex) 영화의 content(overview, cast, crew, keyword, tag, ...)를 사용하여 유사한 영화를 추천
사용자의 평가아 이용정보 없이도 추천이 가능하다는 장점이 있으나, 기존 아이템과 유사한 아이템 위주로만 추천, 새로운 장르의 아이템을 추천하기 어렵다는 단점이 있다.
또한 아이템의 피쳐를 추출해야하는데, 제대로 피쳐를 추출하지 못하면 성능이 낮아진다.
Collaborative Filtering
협업 필터링은 사용자와 항목 간의 유사성을 동시에 사용하여 추천한다.사용자가 아이템에 매긴 평점, 상품 구매 이력 등의 사용자 행동 양식(User Behavior)을 기반으로 추천한다. 이로 인해 새로운 아이템의 추천이 가능하다. 협업 필터링 모델은 유사한 사용자 B의 관심분야를 기반으로 사용자 A에 항목을 추천할 수 있다. 또한 특성을 수동으로 엔지니어링하지 않고도 임베딩을 자동으로 학습할 수 있다.
Memory based Collaborative Filtering
메모리 기반 협업 필터링에서는 사용자-아이템 평점 행렬과 같은 모습을 가지고 있다. (column: contents, row: users) 이러한 특징으로 인해 행렬이 sparce하게 되므로 공간의 낭비라는 단점이 존재한다.
메모리 기반 협업 필터링은 아래와 같이 나뉠 수 있다.
- 사용자 기반 : 비슷한 고객들이 ~한 제품을 구매했다.
- 아이템 기반 : ~ 상품을 구매한 고객들은 다음 상품도 구매했다.
일반적으로 사용자 기반보다는 아이템 기반이 좀 더 정확도가 높다.
Matrix Factorization Collaborative Filtering
행렬 분해를 이용한 협업 필터링 방법으로, 대규모 다차원 행렬을 SVD와 같은 차원 감소 기법으로 분해하는 과정에서 잠재 요인(Latent Factor)를 뽑아내는 방법이다.
예를들어 영화와 사용자의 선호에서 실제 영화의 피쳐는 가격,러닝타임,장르 등이 있지만 실제로 선호에 영향을 주는 결정적이고 숨겨진 잠재요인으로는 신파, 배우간의 케미스트리 등이 있을 수 있다.