추천 알고리즘 개요

김무성·2022년 2월 10일
0

Recommendation System

목록 보기
1/4

Recommendation Algorithm

  • 추천시스템의 목적은 고객의 취향을 분석하여 높은 선호도가 에상되는 아이템을 추천 하는 것
  • 일반적으로 추천시스템은 내용 기반의 필터링(content-based filtering), 협업필터링(collaborative filtering) 두가지로 나누어 짐

Content-based

  • 특정 아이템에 기초하여 비슷한 아이템을 추천
  • 아이템끼리의 유사도를 측정하며 아이템의 metadata를 사용 Ex) 장르, 감독, 묘사, 배우, etc..
  • 사용자가 적은 초반의 추천 시스템의 경우 대부분 Content-based recommender를 사용

장점

  1. 다른 사용자의 영향을 받지 않는다.
  2. 새로운 아이템에 대해서도 추천이 가능하다.
  3. 추천을 설명하기 쉽다.

단점

  1. 메타데이터 없이 추천이 불가능하다.
  2. 소리, 영상, 이미지 등의 콘텐츠로부터 추천을 위한 metadate, 특징을 추출하기가 어렵다.
  3. 데이터가 많을 때, DB 효율화에 엄청난 비용이 든다.
  4. 카테고리 수작업에 인건비가 많이 든다.

추천의 순서

  1. 사용자가 선호했던 상품들의 상품 프로필 (Item Profile) - 수집 상품 프로필은 해당 상품의 특성을 나열한 벡터, 영화의 경우 감독, 장르, 배우 등의 원-핫 인코딩이 상품 프로필이 된다. ex) TF-IDF, Embedding vector
  2. 사용자 프로필 (User Profile) 구성 - 사용자 프로필은 선호한 상품들의 상품 프로필을 가중 평균하여 계산하며 사용자 프로필 역시 벡터이다.
  3. 사용자 프로필과 다른 상품들의 상품 프로필을 매칭 - 사용자 프로필 벡터 u 와 상품 프로필 벡터 v 에 대해 코사인 유사도(내적/두벡터크기곱)를 계산한다. 사용자가 빨간 원, 빨간 삼각형을 선호했다면, 빨강 1, 원 0.5, 삼각형 0.5이므로 후보들과 코사인 유사도를 계산하면 빨간 상품이 추천될 확률이 높다.
  4. 사용자에게 상품을 추천 - 계산한 코사인 유사도가 높은 상품을 추천한다.

Collaborative Filtering

  • 사용자 그룹이 형성되어 있고, 그들 간의 평가 점수와 선호도를 고려하여 사용자의 예측 점수와 선호도가 결정되는 방식
  • 사용자와 비슷한 다른 사용자를 찾아서 그 사용자는 어떤 평가를 했는지를 통해 추천
  • 사용자가 어느 정도 형성이 되어있고, 데이터가 존재할 때 사용 가능

장점

  1. 어떠한 아이템에 대해서도 추천이 가능하다. (아이템의 특성에 의존하지 않는다.)

단점

  1. 평가되지 않은 아이템에 대해 추천을 하지 않는다. (new-item problem)
  2. 보통 가장 인기 있는 아이템을 추천한다. (Long tail problem)
  3. 비슷한 유저 군이 존재하는 사용자 그룹이 어느 정도 숫자 이상 필요하다. (cold start problem for new users)
  4. 데이터가 많을 때 계산비용이 너무 비싸다.

User-based

  • 나와 비슷한 성향을 지닌 사용자를 기반으로 그 사람이 구매한 상품을 추천하는 방식

Item-based

  • 내가 이전에 구매했던 아이템을 기반으로 그 상품과 유사한 다른 상품을 추천하는 방식

Hybrid Recommendation

  • 협업 필터링, 콘텐츠 기반 필터링의 상호 보완적 알고리즘
  • 협업 필터링의 콜드 스타트 문제 해결을 위해 신규 콘텐츠는 콘텐츠 기반 필터링 기술로 분석하여 추천하고 충분한 데이터가 쌓인 후에는 협업 필터링으로 추천의 정확성을 높이는 방식

hybrid technology

  1. Weighted: 다른 추천 요소들의 점수는 수학적으로 합쳐진다.

  2. Switching: 시스템은 추천 요소들 안에서 선택하고 고른 것을 적용한다.

  3. Mixed: 다른 추천자로부터의 추천들을 추천하기 위해 함께 보여진다.

  4. Feature Combination: 다른 지식 sources로부터 나온 특징들을 함께 합쳐 하나의 추천 알고리즘에 쓰인다.

  5. Feature Augmentation: 하나의 추천 기술은 하나의 특징이나 다음 기술의 입력의 한 부분이 될 특징들의 세트에 사용된다.

  6. Meta-level: 한 추천 기술에 적용되고 다음 기술의 입력으로 사용되는 몇몇의 model을 만든다.

출처

profile
graph data scientist

0개의 댓글