본문 바로가기
딥러닝(Deep Learning)/SKT AI Curriculum

[SKT AI 커리큘럼] 추천시스템 - 8. Ranking Problem

by rahites 2022. 12. 31.

SKT AI 커리큘럼 학습 내용 정리

출처 : T Learning Portal (https://sharedlp.sk.com)

 

 

8. 추천 기술  : Ranking Problem

- 지금까지는 사용자들이 서비스가 가지고 있는 아이템에 대해서 어느정도의 소모값을 가지고 있는지 예측하는 문제로 봄

 

Ranking System

- 사용자가 영화를 추천받고 싶을 때, 추천시스템이 사용자에게 추천할 Top-K의 아이템을 나열하는 문제로 받아들임

- 어떻게 가장 최적의 나열을 할 것인가 ?!?!!

 

1. Pointwise approach

- 모든 아이템에 대해 각각이 사용자와 얼마나 연관이 있는지 Relevancy Score를 계산

( 사실상 랭킹 시스템은 아니라고 봐도 무관 )

 

2. Pairwise approach

(1) 사용자는 N개의 아이템을 추천 받음 -> 그 중 몇몇은 사용자가 피드백을 남김

(2) 추천했던 N개의 아이템으로 만들 수 있는 쌍의 모든 조합을 만듦

(3) 사용자가 선택한 아이템이 앞에 나와있다면 Positive Label을 달고, 반대의 경우에는 Negative Label을 담

(4) 선호하는 아이템이 앞에 나열되도록 학습을 진행 ( Binary Classification, 이 것이 올바른 순서인지 )

- 전체 List의 랭크를 고려한 것은 아니라는 한계가 존재

 

3. Listwise approach

- 주어진 N개의 List에서 가장 Ideal한 방법을 찾음 ( List가 최적인가? )

- Ranking Metric을 활용 (ex. nDCG : 사용자와 Relevant한 아이템이 예상보다 낮은 랭크에 위치한다면 페널티를 받음)

- N개의 조합으로 만들 수 있는 모든 List에서 가장 최적의 나열을 찾아 추천함

- 가장 Ranking System에 부합하기 때문에 높은 성능을 기대

- 하지만 구현이 복잡하고 고려할 부분이 많다는 단점이 존재

 

댓글