Amazon Personalize
: 아마존에서 제공하는 머신 러닝 기술을 이용한 실시간 개인화 및 추천 서비스
Process
데이터 가져오기 → 학습 → 추론
data → data set group (data sets) → Solution → Campaign(end point)
- 데이터 준비하기 : 데이터 셋의 종류
- interations (구매, 장바구니 담기, 상품 보기)
- user와 item 간의 인터랙션 정보 제공 (모든 알고리즘에서 필수로 필요)
- users (사용자 메타 데이터 - 연령, 성별, 멤버쉽)
- items (가격, 재고 여부)
- interations (구매, 장바구니 담기, 상품 보기)
- 솔루션 생성하기 : 레시피(알고리즘) 선택
- User personalization : 모든 추천 시나리오에 적합하여 가장 추천되는 알고리즘
- Similar items
- Personalized ranking
- 캠페인 생성하기 : 솔루션을 배포하여 캠페인 생성
- 업데이트 방식
- 솔루션이 업데이트 될 때마다 가장 최신 버전의 솔루션으로 자동 배포 진행
- UpdateCampaign을 콜하여 캠페인을 수동으로 업데이트 (입력 옵션으로 SolutionVersionArn 제공)
- Status가 ACTIVE로 변경된 후 캠페인 작업 사용 가능
- 업데이트 방식
- 캠페인 활용
- GetRecommendations API - 유사 아이템 추천, 사용자 개인화
- GetPersonalizedRanking API - 특정 사용자의 맞춤화 된 순위로 추천 아이템 목록
dataset은 db, event tracker는 데이터를 넣는 장치라고 볼 수 있다.
hyperparamter
하이퍼파라미터에 대한 최상의 값을 선택하는 프로세스 - 하이퍼파마리터 최적화(HPO)
→ 하이퍼파라미터 최적화를 통해 모델의 성능을 향상시킬 수 있음
- aws-sims hyperparameter
- min_cointeraction_count
- 항목 간 유사성을 계산하는 데 필요한 최소 상호작용 수 (3일 경우 두 항목과 상호작용한 세명의 사용자가 필요하다)
- popularity_discount_factor
- 유사도를 계산할 때 인기도와 상관도 간의 균형
- 0 - 상관도와 관계없이 인기 있는 항목 표시
- 1 - 인기도와 관계없이 공동 상호 작용이 있는 대부분의 항목을 표시
- 유사도를 계산할 때 인기도와 상관도 간의 균형
- min_cointeraction_count
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) - 선호도가 더 높은 상품이 상위에 위치하였는지 측정
- 관련성이 높은 결과를 상위권에 노출시켰는지를 평가하는 지표
- 순위 목록에서의 위치를 기반으로 추천에 가중치를 할당하여 이를 계산