.__.

[BRS with ML and AI] 1. Getting Started 본문

추천 시스템/BRS with ML and AI

[BRS with ML and AI] 1. Getting Started

yesjiyoung 2022. 6. 16. 13:59

1.1 Course RoadMap


본격적으로 Building Recommender Systems with Machine Learning and AI 코스를 진행하기 앞서, 강의의 로드맵을 살펴보자!

추천시스템 스터디를 위해 선정한 강의 : Building Recommender Systems with Machine Learning and AI(Udemy)

 

Building Recommender Systems with Machine Learning and AI

How to create machine learning recommendation systems with deep learning, collaborative filtering, and Python.

www.udemy.com

- getting Started 

- intro to python(skip!)

- evaluating recommeder systems

- building a recommendation engine

- content-based filtering

- neighborhood-based filtering

- model-based methods

- intro to deep learning

- recommendations with deep learning

- scaling it up

- challenges of recommender systems

- case studies

 

 

1.2 What Is a Recommender System? | 추천시스템이란?


추천시스템이 정확히 무엇인지, 정의해보자


WHAT IS NOT
A recommender system is NOT a system that "recommends" arbitary values.
That describes machine learning in general.

 

WHAT IT IS
A system that predicts rating or preferences a user might give to an item 
Often these are sorted and presented as "top-N" recommendations
Also Known as recommender engines, recommendation systems, recommendation platforms.

 

| 추천 시스템이란?

  • 유저아이템에 대한 선호예측하는 시스템
  • 유저의 과거 행동과 또다른 유저의 행동들을 바탕으로 무엇인가를 추천하는 것.

 

 

| 추천의 효과?

  • user : 유저 자신이 원하는 상품을 찾게 됨
  • company : 수십억 달러의 매출 증가

 

1.3 Types of Recommenders | 추천의 유형


그렇다면 어떤 것들이 추천의 대상이 될 수 있을까?


| 추천의 대상(유형)

모든 것이 될 수 있다. 상품과 같이 물리적인 것부터, 음악, 동영상, 사람 등이 그것들이다.

 

1) 상품 추천 

- 유저의 행동 로그 데이터를 기반으로 유저와 상품 간의 관계를 찾음

 

2) 기사 추천

- 과거에 읽은 기사를 기반으로 새로운 기사 추천 

- 기사는 최신성이 중요한 요소다. 그래서, 추천 점수 구성 요소 중 하나로 업로드 시점을 사용한다고 함.

 

3) 음악 추천

- 소리의 파형을 분석하여 유산 음악을 추천 

- 대상 자체에 대한 특징을 기반으로 추천하는 방식 (컨텐츠 기반 추천에 속함)

 

4) 웹페이지 추천 (검색 엔진)

- 개인화 검색 결과 제공 

- 동일한 쿼리에 대해 유저맘다 다른 결과 내보냄 ex) 구글 검색

- 개인의 위치 정보, 과거의 행동 등을 이용하여 그 사람과 가장 관련있는 검색결과를 제공

 

 

1.4 Understanding You through Explicit and Implicit Ratings | 명시적평가와 암시적평가에 대한 이해


추천 시스템은 유저의 데이터로부터 생성된다. 즉 유저의 피드백을 통해 생성된다.
그렇다면 그 피드백은 어떤 것들이 있을까?


| 명시적인 피드백

  ex) 온라인 과정 평가 요청 ( 별점주기 ) , 좋아요 표시

  명시적으로 요청을 해야함 

  유저의 추가 작업이 필요함
  그래서 굉장히 sparse하다. (문제1)
  sparse하면 추천의 퀄리티는 엄청 떨어진다. 

모든 사람은 저 마다의 기준이 있다. (문제2)

그래서 별점 4점을 동일하게 주었더라도 준 사람마다 다를 수 있다. 

 

 

| 암묵적인 피드백 
ex) 클릭 데이터 (웹 페이지의 링크를 클릭)  - 암묵적 긍정 표시로 해석 

  매우 많은 데이터를 얻는 것이 가능 (sparse 하지 않음)

  그러나 클릭이 항상 관심의 표시라고 믿을 수 없다. (ex. 섹시한 이미지에 유혹되어 클릭할 수 있음)

  클릭 데이터만을 사용하는 것 역시 좋지 않음.

 

ex) 구매 데이터 (실제로 구입한 상품)  - 암묵적 긍정 표시로 해석 

  믿을만한 데이터 - 유저의 비용이 들어간 것이기 때문

 

ex) 시간 소비 데이터 (유튜브 시청시간) - 암묵적 긍정의 정도 표시

  소비 데이터는 구매 데이터처럼 돈을 소비할 필요는 없지만, 시간을 소비해야함으로 클릭 데이터에 비해 상당히 신뢰할 수 있는 관심 지표임

 

- 추천 시스템을 설계할 때, 사용자의 관심에 대해 어떤 데이터 소스를 가지고 있는지 생각해보자. 그게 시작이다.

 

 

1.5  Top-N Recommender Architecture | Top N개의 추천 구조 


여기서 잠깐만! 유저는 우리가 만든 추천시스템의 예측값(score) 하나하나를 궁금해하지 않는다!
즉, 추천시스템의 궁극적인 목표란, 각 유저에게 최고의 콘텐츠 N개를 목록의 형태로 보여주는 것이다. 


| 방법 1 (One) anaotomy of a top-N recommender 

1. individual interest | 개인의 선호를 나타낼 수 있는 데이터를 적재

  • Implicit Feedback 
  • Explicit Feedback  

2. candidate generation | 유저가 관심 가질만한 추천 후보 생성

  • 유저가 구매한 아이템으로 구성 or 유저가 구매한 아이템과 유사한 아이템 
  • 혹은 유저와 동일한 상품을 구입한 다름 유저의 구매 아이템 ( 스타트렉을 본 유저A + 스타워즈를 본 유저A  + 스타트렉을 본 유저B => 유저B는 스타워즈를 볼 것이다) 

3. candidate ranking | 추천 후보 랭킹

  • 랭킹 방식 : 머신러닝방식, 통계 수식 방식, 단순 정렬 방식 등등 
  • (추천 랭킹 모델링) 추천 점수 기준으로 랭킹 부여
  • (광고 랭킹 모델링) 추천 점수 * 입찰가 기준으로 랭킹 부여 

4. filtering | 필터링(후처리) 

  • 추천 목록에서 유저가 이미 소비한 아이템은 제거
  • 불쾌감을 주는 항목 등 제거, 특정 임계치를 넘지 못하는 아이템은 제거

 

위의 방식을 따른 대표적인 추천 시스템 : 아마존(2003), item-based collaborate filtering

 

 

| 방법 2 

1. candidate generation -> rating predictions | 예측된 평점 가져옴

2. candidate generation | 추천의 후보 생성

3. candidate ranking | 추천 후보 랭킹 

4. filtering | 필터링 

 

 

1.6 Quiz | 1주차 퀴즈


1주차 Getting Started를 마치며, 네 개의 퀴즈를 풀어보자! 더보기를 클릭하여 답을 확인해보자.


which of the following are examples of implicit ratings? | 다음 중 암묵적 평가 지표는 무엇인가?

- star reviews

- purchase data

- video viewing data

- click data 

더보기

- star reviews

- purchase data

- video viewing data

- click data 

 

which are examples of recommender systems? | 다음 중 추천시스템의 예시로 적절한 것은?

- netflix's home page

- google search

- amazon's "people who bought also bougt.."

- pandora

- online radio station

- youtube

- wikipedia search

더보기

- netflix's home page

- google search

- amazon's "people who bought also bougt.."

- pandora

- online radio station

- youtube

- wikipedia search

 

which are examples of "Top-N" recommenders? | 대표적인 Top N 추천 시스템의 예시로는?

- netflix recommendation widgets

- google search

- amazon "people who bougth also bought"

더보기

- netflix recommendation widgets

- google search

- amazon "people who bougth also bought"

 

which are components of a top-N recommender? | Top N 추천 시스템의 요소로는?

- candidate generation

- filtering

- candidate shuffling

- ranking

더보기

- candidate generation

- filtering

- candidate shuffling

- ranking