추천 시스템, 추천 알고리즘 종류

민정·2023년 6월 3일
10

추천시스템

목록 보기
1/3

추천 시스템이란?

: 인터넷이 발점됨에 따라 아이템 구매 및 선호에 대한 사용자의 피드백을 얻기 쉬워짐. 이런 피드백을 바탕으로 과거의 사용자 - 아이템 간 데이터를 분석하여 아이템을 추천하는 것이 추천시스템의 기본적인 아이디어

🤔 추천시스템이란, 사용자(User)가 선호하는 상품(item) 을 예측하는 시스템 !

🍎 대표적인 추천 알고리즘

Collaborative Filtering : 협업 필터링

Content - based Recommender Systems : 컨텐츠 기반 추천시스템

Knowledge - based Systems : 지식 기반 추천 시스템

✔️Goals of Recommender Systems

1) Prediction versioin of Prolem : Matrix Completion Problem 이라고도 하며, 학습 데이터를 통해 유저의 선호도를 정확하게 예측하는 것이 목적

2) Ranking version of Problem : 정확한 수치를 예측하는 것이 아닌, 랭킹을 고려해 top-k 아이템을 선정하는 것이 목적

⇒ 일반적으로 Prediction version of Problem 을 푸는 것이 목적이다. ( 이것을 해결해야 Ranking 문제도 해결할 수 있기 때문 !) 하지만 현실적으로 상품을 고를때 상대적으로 더 좋은 것을 구매하지 점수를 각각 정확하게 구해서 비교하는 것은 아니므로 Ranking 문제가 더 자연스러움

🟨 Basic Models of Recommender Systems

🟧 협업 필터링 Collaborative Filtering

두 명의 사용자가 비슷한 관심사를 가지고 있다면, 한 사용자의 데이터를 바탕으로 다른 사용자에게 추천해주는 방식, 사용자 간의 선호도를 서로 고려하여 많은 선택 사항들로부터 아이템을 걸러내거나 선택함

: Matrix Factorization 와 Latent Factor를 이용하여 사용자와 아이템 간의 잠재 요인 행렬을 토대로 평가하지 않는 항목들에 대한 평점 또한 유추하여 사용자에게 콘텐츠를 추천해주는 방법으로 메모리 기반으로 추천해주는 알고리즘모델 기반으로 추천해주는 알고리즘이 있다.

◽️ Memory - Based methods

: neighborhood - based collaborative filtering algorithms 라고도 불리며 User-based collaborative filtering 과 Item - based collaborative filtering 으로 구분된다

🍐 사용자 기반 추천 (User-based collaborative filtering)

유저 간의 유사도가 높을 수록 가중치를 부여하는 방식 , 같은 그룹의 다른 유저가 선호하는 아이템을 추천함. 일반적으로 특정 A와 유사한 Top K의 유사한 유저들로 그룹을 구성하여 선호할만한 아이템을 추천한다.

🍐 아이템 기반 추천 (Item-based collaborative filtering)

B라는 아이템에 대한 유저의 선호도를 예측하기 위해 B와 가장 유사한 Top K 아이템을 선정하여 Item Set을 구성한다.

◽️ Model - based methods

: 머신러닝이나 데이터 마이닝 방법에서 예측 모델의 context를 기반한 방법이다. 모델이 파라미터화 되어 있다면, 이 모델의 파라미터는 context 내에서 학습된다.

😕 협업 필터링의 한계 😕

(1) 콜드 스타트

  • 콜드 스타트란 앞의 결과를 이용하여 동작하므로 데이터가 없는 상태에서는 제대로 동작하지 않는 상황
  • 협업 필터링은 사용자들의 데이터를 기반으로 하기 때문에 신규 사용자에게는 아무런 정보가 없어 추천할 수 없는 상황이 발생함

(2) 계산 효율의 저하

  • 협업 필터링은 상당히 많은 계산량을 요구함. 사용자의 수가 많아질수록 그 계산 시간이 더 길어지게 됨
  • 사용자들의 수가 많아 데이터가 많이 쌓이게 되면 정확도는 높일 수 있겠지만 그만큼 시간이 오래 걸려 효율성이 떨어짐

(3) 롱테일

  • 사용자들이 소수의 인기 있는 항목에만 관심을 보여서 관심이 저조한 항목은 추천되지 못하는 문제점이 발생함 . 즉 소수의 인기 콘텐츠가 전체 콘텐츠 비율을 차지하는 현상이 나타남

🟧 콘텐츠 기반 필터링 (Content based Filtering)

협업필터링과 다르게 , 사용자가 과거에 경험했던 아이템 중 비슷한 아이템을 현재 시점에서 추천하는 것, 정보를 찾는 과정과 과거 정보를 활용해서 유저의 성향을 배우는 문제이다.

데이터 획득 후, 컨텐츠 분석에서 비정형 데이터로부터 관련 있는 정보를 얻는 작업이 필요하다. 예를 들어 feature extraction, vector representation 등의 작업을 수행해야 함. 그 후 유저가 선호하는 아이템과 취향을 파악하는 유저 프로필 파악이 필요하고 cosine 유사도를 이용하여 유사 아이템을 선택한다.

😕 콘텐츠 기반 필터링의 한계 😕

(1) 콘텐츠 기반 필터링은 내용 자체를 분석하기 때문에 협업 필터링의 한계인 콜드 스타트 문제를 해결할 수 있는 장점이 있다. 하지만 음악, 사진, 영상을 동시에 추천해야한다고 할 때, 각 항목에서 추출할 수 있는 정보가 다달라 프로파일을 구성하기 어려워진다. 즉, 다양한 항목을 추천하기에는 어렵다


🟧 하이브리드 필터링 (Hybrid Filtering)

다양한 추천 시스템을 결합하여 만듬. 새로운 아이템에 대한 평점이 없으면 추천 성능이 떨어지게 되는 협업 필터링과 아이템의 특징에 대한 정보를 이용할 수 있는 지식 기반 추천시스템을 결합한다.

참조

https://wikidocs.net/48801
https://jaaamj.tistory.com/111
https://dsbook.tistory.com/334

profile
공부 기록장

0개의 댓글