rainbow/추천시스템

[추천시스템] 추천시스템의 종류 및 개념

윌_ 2023. 8. 3. 21:29

 


출처 : 손지은, 김성범, 김현중, 조성준 (2015), “추천 시스템 기법 연구동향 분석”, 대한산업공학회

1. 콘텐츠 기반 필터링(Content-based filtering)

콘텐츠 기반 필터링은 대상의 특성을 바탕으로 추천하는 방법론입니다. 대상의 특성은 대상을 표현할 수 있는 데이터로 대상이 속한 카테고리, 대상의 제목과 같은 텍스트 데이터, 가수의 이미지 같은 이미지 데이터가 포함됩니다. 이러한 특성들을 기반으로 딥러닝 모델을 만들 수 있다는 것이 콘텐츠 기반 필터링 방식의 특징입니다.

출처:  https://abluesnake.tistory.com/111

정보를 모으고 그 정보를 잘 분류한 후에 사용자가 좋아했던 다른 아이템과 얼마나 비슷한 지를 비교해서 추천 리스트를 생성한다.

아이템을 벡터로 표현하는데는 원-핫 인코딩, 임베딩이 있어요. 아이템을 벡터로 표현하면 그 벡터 간의 코사인 유사도와 같이 다양한 유사도 계산 식으로 사용자에게 추천해줄 리스트를 생성하게 되는 것입니다.

 

콘텐츠 기반 필터링의 장점은 다른 사용자의 데이터가 필요하지 않다는데 있습니다. 아무리 독특한 취향을 가지고 있더라도 그에 맞는 추천 아이템을 보여줄 수 있습니다. 그래서 사용자에게 이 아이템을 추천하는 이유도 설명이 가능해요.

 

단점은 아이템 자체를 분류해서 적절한 특징을 추출하기 어렵다는데 있습니다. 머신러닝에서 feature 중요성과 유사하다고 볼 수 있습니다. 또 사용자가 선택한 아이템과 비슷한 아이템을 추천하여 추천의 다양성이 떨어진다는 단점이 있어요.

2. 협업 필터링(Collaborative filtering)

📌 포인트 콘텐츠 기반 필터링과 협업 필터링의 차이는?

  • 콘텐츠 기반 필터링 : 예측을 위해 user나 item 자체의 특징에 의존
  • 협업필터링 : user-item rating data를 사용

협업 필터링의 기본 가정은 사용자 x, y가 n개의 제품에 대해 유사한 평점을 주었거나 둘의 행동(구매, 시청 등)이 유사하다면 다른 제품에 대해서도 유사한 평점을 주거나 특정 행동을 한다는 것입니다. 이렇게 사용자의 과거 경험과 행동 방식에 의존하여 추천하는 시스템입니다.

 

출처: https://kwonkai.tistory.com/63

그리고 협업 필터링은 크게 메모리 기반 협업필터링과 모델 기반 협업필터링으로 나뉩니다.

2-1 Memory-based CF란?

사용자와 아이템 간의 유사도나 가중치를 계산하기 위해 사용자 선호 데이터를 활용합니다. 이렇게 계산된 유사도를 바탕으로 아이템을 추천해주는 방식입니다. 그리고 메모리 기반 협업 필터링은 사용자 기반 협업 필터링과 아이템 기반 협업 필터링으로 나뉩니다.

 

사용자 기반 협업 필터링은 사용자 간의 유사도를 기준으로 합니다. 내 취향과 유사한 사용자들이 좋아한 아이템들을 추천해주는 것입니다. 예를 들어, ‘윌’이 <논문1>, <논문2>, <논문3>를 모두 선호한다면, <논문1>, <논문2>를 선호하는 ‘나콩’에게 <논문3>을 추천해주는 것입니다.

 

아이템 기반 협업 필터링은 아이템 간의 유사도를 기준으로 합니다. 특정 사용자들이 좋아하는 아이템이 있다면, 그 특정 사용자들이 좋아하는 다른 상품을 찾아서 추천해주는 것입니다. 예를 들어, ‘윌, 마리, 나콩’이 <논문1>을 좋아했다면, ‘마리, 나콩’이 좋아한 <논문2>를 ‘윌’에게 추천해주는 것입니다.

 

메모리 기반 협업 필터링의 한계점은 Sparse data 문제가 있습니다. 사용자-아이템 행렬 중 사용 가능한 데이터가 굉장히 적을 때, 추천 성능이 현저히 떨어지게 되는 것이죠. 또한 아이템이 늘어날 수록 행렬의 크기가 커지기에 이를 효율적으로 다룰 필요가 생기게 됩니다.

2-2 Model-based CF란?

📌 포인트 주어진 데이터를 이용해 비어있는 공간에 하나씩 채워나가는 것이 모델기반 협업필터링의 특징!

메모리 기반 협업 필터링의 한계를 극복하기 위해 모델 기반 협업필터링에 투자가 진행되었습니다.

메모리 기반 접근 방식이 기존의 데이터의 유사도를 계산해 추천하는 방식이었다면, 모델 기반 접근 방식기계 학습을 통해 사용자 또는 아이템의 숨겨진 특성값을 계산하는 방식입니다. 항목간 유사성에서 벗어낫 데이터의 패턴을 학습하는 것인데, 유사도는 A와 B가 얼마나 가까운지 벡터 공간 안에서 표현한 것이라면, 데이터 패턴을 학습한다는 것은 A가 어디 위치해야한다기보다 A의 특징을 추리하는 것으로 이해하면 되겠습니다.

 

정리하자면, 모델 기반은 Sparse Matrix에 비어있는 공간을 채워나가는 과정이기에 전체 데이터 학습이 가능해 Cold-Start 문제를 좀더 해결할 수 있다는 장점이 있습니다.

 

모델 기반 협업 필터링 종류는 다음과 같아요.

  • Matrix Factorization
    • SVD(Singular Value Decomposition), ALS(Alterning Least Square)
  • Association Rule Mining
  • Probabilistic Models
    • Clustering, Bayes Rules
  • Etc.
    • SVM, Regression methods(Logistic regression), Deep Learning

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

콘텐츠 기반 필터링과 협업 필터링은 장점도 있지만 단점도 가지고 있습니다.

콘텐츠 기반 필터링은 사용자가 선택한 아이템과 비슷한 아이템을 추천하여 추천의 다양성이 떨어진다는 단점이 있습니다.

협업 필터링 또한 세가지의 단점이 있습니다. 과거 데이터가 없는 신규 사용자에게는 추천이 불가합니다. 새로 시작할 때의 곤란함을 따 콜드 스타트(cold start)라 일컫습니다. 또한 연관성을 분석하기에 계산량이 많은 알고리즘으로, 계산 시간이 오래 걸리는 계산 효율성이 저하되는 문제도 있습니다. 그리고 인기가 많은 콘텐츠만 추천의 대상이 되고 인기가 저조한 콘텐츠는 추천이 안되는 비대칭적 쏠림 현상(롱 테일(long tail))이 발생하기도 합니다.

 

하이브리드 필터링은 두 방식의 단점을 보완하고, 장점은 결합하여 더 나은 성능을 보여주는 새로운 알고리즘입니다.

출처: https://velog.io/@xilver0203/추천-시스템-1.-추천-시스템-입문과-하이브리드-추천-시스템-Hybrid-Recommender-System