본문 바로가기
AWS

[AWS] Amazon Personalize - 개인화 및 추천 서비스

by 가론노미 2023. 7. 3.

Amazon Personalize

: 아마존에서 제공하는 머신 러닝 기술을 이용한 실시간 개인화 및 추천 서비스

 

Process


데이터 가져오기 → 학습 → 추론

data → data set group (data sets) → Solution → Campaign(end point)

 

  1. 데이터 준비하기 : 데이터 셋의 종류
    1. interations (구매, 장바구니 담기, 상품 보기)
      1. user와 item 간의 인터랙션 정보 제공 (모든 알고리즘에서 필수로 필요)
    2. users (사용자 메타 데이터 - 연령, 성별, 멤버쉽)
    3. items (가격, 재고 여부)
  2. 솔루션 생성하기 : 레시피(알고리즘) 선택
    1. User personalization : 모든 추천 시나리오에 적합하여 가장 추천되는 알고리즘
    2. Similar items
    3. Personalized ranking
  3. 캠페인 생성하기 : 솔루션을 배포하여 캠페인 생성
    1. 업데이트 방식
      1. 솔루션이 업데이트 될 때마다 가장 최신 버전의 솔루션으로 자동 배포 진행
      2. UpdateCampaign을 콜하여 캠페인을 수동으로 업데이트 (입력 옵션으로 SolutionVersionArn 제공)
    2. Status가 ACTIVE로 변경된 후 캠페인 작업 사용 가능
  4. 캠페인 활용
    1. GetRecommendations API - 유사 아이템 추천, 사용자 개인화
    2. GetPersonalizedRanking API - 특정 사용자의 맞춤화 된 순위로 추천 아이템 목록

 

dataset은 db, event tracker는 데이터를 넣는 장치라고 볼 수 있다.

 

hyperparamter


하이퍼파라미터에 대한 최상의 값을 선택하는 프로세스 - 하이퍼파마리터 최적화(HPO)

→ 하이퍼파라미터 최적화를 통해 모델의 성능을 향상시킬 수 있음

  • aws-sims hyperparameter
    • min_cointeraction_count
      • 항목 간 유사성을 계산하는 데 필요한 최소 상호작용 수 (3일 경우 두 항목과 상호작용한 세명의 사용자가 필요하다)
    • popularity_discount_factor
      • 유사도를 계산할 때 인기도와 상관도 간의 균형
        • 0 - 상관도와 관계없이 인기 있는 항목 표시
        • 1 - 인기도와 관계없이 공동 상호 작용이 있는 대부분의 항목을 표시

Solution version with metrics


  • USER_SEGMENTATION 레시피 를 제외한 모든 레시피 유형의 경우 interaction 데이터의 80%는 학습 세트로, 20%는 테스트 세트로 구성
  • 학습 세트를 사용하여 솔루션 버전 생성
  • 학습 완료 후 테스트 세트의 사용자 데이터 중 오래된 90%의 데이터를 새 솔루션 버전에 제공
  • 테스트 세트의 최신 10%의 데이터로 생성된 실제 상호작용과 비교하여 지표를 계산

 

coverage - 추천시스템이 추천을 할 수 있는 아이템의 비율(얼마나 많고 다양한 아이템을 추천할 수 있는지를 측정)

  • interations와 item 데이터 세트의 고유 항목의 총 수에서 Personalize가 추천 항목으로 사용한 고유 항목의 비율을 알려주는 평가 지표
  • 더 많은 항목을 추천하도록 하려면 converage 점수가 더 높은 모델 사용 권장 User-Personalization 레시피와 같이 탐색 기능이 있는 레시피는 Popularity-count 레시피보다 점수가 더 높음

Mean reciprocal rank at 25(MRR) - 사용자가 클릭한 상품 중 가장 상위의 위치의 평균을 내는 방식

  • 모델의 최고 순위 추천의 관련성을 평가하는 평가 지표
  • 상위 25개 추천 항목 중 관련성이 가장 높은 항목의 순위의 평균을 내어 지표를 계산
  • 가장 높은 위치에서 클릭된 상품 1개만 고려하기 때문에 평가의 정교함이 비교적 떨어질 수 있음

Precision at K (정밀도)

  • 사용자가 클릭한 상품 위치까지의 목록에 대하여 정밀도를 계산하고 평균을 내는 방식
  • At 5 일 경우 상위 추천 항목 5개 중 관련성 있는 항목이 3개라면 3/5
  • 우리가 추천한 아이템 중에 사용자가 정말 관심있어 하는 아이템의 비율

Normalized discounted cumulative gain at K (nDCG) - 선호도가 더 높은 상품이 상위에 위치하였는지 측정

  • 관련성이 높은 결과를 상위권에 노출시켰는지를 평가하는 지표
  • 순위 목록에서의 위치를 기반으로 추천에 가중치를 할당하여 이를 계산