본문 바로가기
AI/논문 분석

[추천시스템] Collaborative Filtering for Implicit Feedback Datasets

by 지수코딩 2019. 10. 18.

Abstract

추천시스템은 맞춤형 추천으로 customer experience를 향상시키는 것이다.

이런 시스템은 사용자 선호도를 모델링하기 위해 여러 유형의 사용자 행동을 수동적으로 추적한다.

사용자의 직접적인 input도 없고 

 

Introduction

e-commerce의 인기가 높아지면서, 사용자가 좋아할만한 정보를 제공해주는게 중요해졌다.

맞춤형 추천을 위해서는 사용자와 상품을 프로파일링하고 그 사이의 관계를 파악하는 것을 기본으로 한다.

추천시스템에는 두 가지 기본적인 전략이 있다.

 

1. content based approach

: 각 사용자나 상품 그 자체의 특징을 잡아내는 profile하는 것. cold start에도 적절하게 사용될 수 있다.

예를 들면,

영화 profile은 장르, 배우, 인기 등의 속성으로 이루어지고 user profile은 인구통계 정보와 같은 속성으로 이루어질 수도 있다. 프로그램은 사용자를 적절한 상품과 매칭시키지만, 이 방법은 외부 정보를 모으기 힘들지도 모른다.

 

2. Collaborative Filtering 

: 과거의 사용자 행동에 의존한다. user와 item간의 연관성을 알아내기 위해 user와 item 사이의 관계를 분석하는 것이다. 

content based 기법보다 더 정확하지만, 과거의 패턴에 의존하기 때문에 cold start 문제에서 어려움을 겪는다. 

 

[윗 부분 이해 쉽게 정리]

e-commerce의 인기가 높아지면서 좋아할만한 정보를 제공하는게 중요해졌고 맞춤형 추천으로 customer experience를 향상 시켰다. 맞춤형 추천을 위해서는 user와 item을 프로파일링 해서 그 사이의 관계를 파악해야 한다. 그 종류에는 기본적인 두 가지 전략이 있다.

첫 번째는 content based approach다. Item 자체의 특징을 잡아 내 프로파일링 하기 때문에 사용자가 하나의 item을 선택 한다면 유사 item을 추천해 주는 전략이다. 쉽게 말해서 내가 어떤 영화를 봤다면 그냥 비슷한 영화를 추천해 주는 것이다. 내가 과거에 다른 장르의 영화를 봤어도 현재 영화(item)를 기반으로 추천한다. 그렇기 때문에 cold start에도 적절히 사용될 수 있다.

두 번째는 collaborative filtering이다. User와 item간의 연관성을 알아내기 위해 둘 사이의 관계를 분석하는 기법이다. 예를 들면, 한 쇼핑몰에서 내 취향의 옷을 선호하는 다른 user가 내가 보지 않은 옷을 본다면 그 옷을 내가 추천 받는 것이다.

 

추천시스템에는 다른 유형의 input에 의존한다. 

explicit feedback의 경우는 말 그대로 좋아요 반영과 같은 명확한 피드백을 의미하고,

implicit feedback의 경우는 구매 내역, 검색 내역, 검색 패턴 등 사용자 패턴을 파악하는 간접적인 피드백을 의미한다.

 

CF 모델 중 neighborhood models은 사용자 중심 방법론이다. 취향이 비슷한 user의 기록을 토대로 모르는 데이터를 추정하는 방법이다. 나중에는 유사 아이템 중심 접근법이 주로 쓰이게 되었다. Latent factor models는 latent features를 밝혀내기 보다는 CF에 대한 대체적인 접근법을 구성한다.

 

Neighborhood models

 

- s_ij는 item i, j 사이의 similarity

- r_ui는 user u가 item i를 선택하는 unobserved value

- k는 u에 의해 평가 된 items

Latent factor models

Matrix factorization

: user feedback으로 얻은 matrix 데이터(r_ui)를 user-factors vector(x_u)와 item-factors vector(y_i)로 나눈 것.

한 user가 rating하지 않은 데이터를 예측

 

람다: 모델 regularization할 때 사용 됨.

Our model

r_ui는 observation(user가 item을 구매한 횟수, webpage i에서 사용한 시간 등)

r_ui가 0이라는 것은 구매한 적도, 들어간 적도 없다. 요런 뜻

p_ui는 user가 item에 대한 preference

 

linear한 confidence

 

 

***시간 날 때 정리하기

반응형

댓글