상세 컨텐츠

본문 제목

[ML] Recommender Systems

machine learning

by ~지우~ 2022. 12. 21. 21:37

본문

728x90

Recommender Systems

- Recommendation에 쓰이는 정보 

명시적 정보
 수치 등급(예: 별 5개, 별 3개 등)
 이진수 등급(업/다운)
암시적 정보
 누가 항목을 즐겨찾기에 추가했는가?
 몇 번이나 시청되었나?
 몇 개나 팔렸나?
 사용자들은 그 페이지를 얼마나 읽었는가?
 사용자 프로필/기본 설정

 

input을 집계하는 방법에는 크게 Collaborative filtering, Content-based filtering, Hybrid methods가 있다.

 

Collaborative Filtering

 같은 생각을 가진 사용자의 등급을 보고 권장 사항 제공
 과거 비슷한 관심사를 표출했던 이용자들이 앞으로 공통의 관심사를 공유할 것이라는 생각

Memory-based methods

등급을 사용하여 사용자 또는 권장 사항을 생성하기 위해 연속적으로 악용되는 항목 간의 유사성을 계산할 수 있다.

1. User-based CF
 사용자 대 사용자 유사성에 기반한 권장 사항

아래 그림에서 Jane과 Tim은 둘 다 항목 2를 좋아했고 항목 3을 싫어했다. 그들이 비슷한 선호를 가지고 있다고 가정한고 항목 1을 Tim에게 좋은 추천 항목으로 만든다.

User-based CF는 등급 매트릭스가 희박한 수백만 명의 사용자에게 잘 확장되지 않는다.


2. Item-based CF
 항목 간 유사성에 기반한 권장 사항

 아래 그림에서 Don과 Sandra는 1번과 4번을 모두 좋아했다. 4번 항목을 좋아하던 사람들도 1번 항목을 좋아할 것으로 추정된다. 그래서 Tim은 4번을 좋아하기 때문에 1번 항목을 Tim에게 추천할 것이다.

일반적으로 항목이 받는 평균 등급은 사용자가 다른 항목에 부여하는 평균 등급만큼 빠르게 변경되지 않기 때문에 효과적이다.


Model-based methods

평가를 사용하여 모델을 추정하거나 학습한 다음 이 모형을 적용하여 등급을 예측한다.

1. SVD

 추천 시스템에서 SVD(단수 값 분해)는 사용자와 항목을 잠재적 기능의 벡터로 모델링하며, 교차 제품은 해당 항목의 사용자에 대한 등급을 생성한다.
 SVD를 사용하면 행렬(예: 등급 행렬)이 행렬의 기본 구조를 드러내는 일련의 선형 근사치로 인수된다.
 목표는 관측된 등급을 설명하는 잠재적 특징(요인)을 찾는 것입니다.
 기본 구조는 주 구성요소 집합이다.
 SVD는 입력 행렬의 차원성을 감소시킨다.

 

2. Matrix Factorization

행렬 인수분해는 SVD의 근사치로 볼 수 있다.

k개의 잠재적 요인이 주요 성분이다.
즉, 등급 행렬 A는 A의 차원보다 차원이 훨씬 작은 행렬 U와 V로 계수된다.
행렬 인수분해는 "m x n" 피드백 행렬(또는 등급 행렬 또는 상호작용 행렬)을 훨씬 낮은 순위의 두 행렬로 줄인다.

 

아래 그림은 latent factore를 시각화한 것이다.

 

- Advantages of Collaborative Filtering

 구현하기 쉽다.
 잠재적 요인 모델은 항목의 미묘한 특성을 포착하고 항목 내용에 대한 이해를 요구하지 않는다.

 

- Disadvantages of Collaborative Filtering

 Cold Start: 일치하는 항목을 찾으려면 시스템에 이미 충분한 수의 다른 사용자가 있어야 한다.
 Sparsity: 추천할 만한 항목이 많으면 사용자가 많아도 사용자/등급 매트릭스가 희박하고, 같은 항목을 등급으로 매긴 사용자를 찾기 어렵다.
 First Rater: 이전에 등급이 지정되지 않은 항목은 추천할 수 없다.
New items
 Esotericitems
 Popularity Bias: 독특한 취향을 가진 사람에게 아이템을 추천할 수 없다.

 

 

 

 

Content-Based Filtering

항목 설명/설명 및 "대상" 사용자의 프로필 또는 과거 동작에 기반한 권장 사항만 제공한다.

 

- Advantages of Content-Based Filtering

 다른 사용자에 대한 데이터가 필요하지 않는다.
 독특한 취향을 가진 사용자에게 추천할 수 있다.
 새로운 아이템과 인기 없는 아이템을 추천할 수 있다.
 항목을 권장하게 한 내용 기능을 나열하여 권장 항목에 대한 설명을 제공할 수 있다.

 

- Disadvantages of Content-Based Filtering

 의미 있는 기능으로 인코딩할 수 있는 콘텐츠가 필요하다.
 사용자의 취향은 이러한 콘텐츠 기능의 학습 가능한 기능으로 표현되어야 한다.
 다른 사용자의 품질 판단을 이용할 수 없다.

 

 

728x90

관련글 더보기

댓글 영역