비둘기 둥지

[ML / 추천 시스템] 1. 추천 시스템에 대해 알아봅시다. 본문

인공지능 공부/추천시스템

[ML / 추천 시스템] 1. 추천 시스템에 대해 알아봅시다.

KimDove 2022. 10. 26. 21:08
728x90

1. 추천 시스템이란

  • 사용자의 취향을 파악하고, 취향에 따라 상품, 영화, 음악 등을 추천해주는 시스템

1-1. 추천 시스템의 목표

  • Prediction version of Probelm | 학습 데이터를 통해 유저의 선호도를 정확하게 예측
  • Ranking version of Problem | 정확한 수치를 예측하는 것이 아닌, 랭킹을 고려해 top k의 아이템을 선정

1-2. 추천 시스템의 데이터

  • 추천 시스템에서 사용되는 데이터는 Explicit data와 Implicit data로 나뉜다.
    • Exlplicit Data | 사용자가 선호도를 직접적으로 표현한 데이터 (e.g.) 평점, 좋아요, etc
    • Implicit Data | 사용자가 선호도를 간접적으로 표현한 데이터 (e.g.) 검색 기록, 방문 페이지, 구매 내역, etc

유사도 (Similarity)

  • 추천 시스템에서는 사용자들의 취향을 벡터화하여 비슷한 내용을 추천해 줄 때,
    유사도(similarity)의 개념이 많이 사용되는데, 유사도는 크게 4가지 유형으로 분류된다.

 

유사도 방법 예시 예시 설명
집합 기반 유사도 자카드 유사도 (Jaccad similarity) - 집합 간의 교집합 크기를 이용해서 유사도 측정
- CV의 IoU와 비슷한 개념이다.
각도 기반 유사도 코사인 유사도 (Cosine similarity) - 두 아이템 벡터 사이의 각도를 이용하여 유사도 측정
거리 기반 유사도 유클리디안 거리 (Euclidean distance) - 두 아이템 벡터 사이의 거리를 이용하여 유사도 측정
상관 관계 피어슨 상관계수 (Pearson Correlation Coefficient) - 두 아이템이 서로 상관관계가 있는지 측정

2. 추천 시스템의 종류

[사진 1] 기본적인 추천 시스템의 종류

2-1. 컨텐츠 기반 필터링 (Contents based filtering)

[사진 2] 컨텐츠 기반 필터링

  • 사용자가 과거에 좋아했던 아이템을 파악하고 비슷한 아이템 추천
  • Information Retrieval과 ML 중간 정도의 개념으로, 정보를 찾는 과정과거 정보를 이용하여
    유저의 성향을 예측
    할 수 있다.
  • Feature를 뽑아내기 어려운 데이터들이 존재하고, 처음 유입된 유저에 대해서는 추천할 수 없다.

    ⚠️  컨텐츠 기반 필터링 구현한 코드는 아래 링크에 있습니다.
 

[ML / 추천 시스템] 2. Contents Based Filtering (CBF)

0. 자료 출처 0-1. 도서 0-2.논문, 학술지 0-3. 웹사이트 딥러닝을 이용한 자연어 처리 입문 : 04.4) TF-IDF(Term Frequency-Inverse Document Frequency) | [페이지 링크] 꿈 많은 사람의 이야기 : 파이썬과 함께 추천

dove-nest.tistory.com

2-2. 협업 필터링 (Colaborative filtering)

[사진 3] 사용자 기반 추천과 아이템 기반 추천

  • 비슷한 성향이나 취향을 가지는 다른 사용자가 좋아한 아이템을 현재 사용자에게 추천한다.
  • 협업 필터링은 사용자 기반 추천과 아이템 기반 추천 두 가지로 나뉜다.
    • 사용자 기반 추천 | 취향이 비슷한 사용자들을 그룹화하여 그 아이템을 추천
    • 아이템 기반 추천 | 과거에 구매했던 아이템을 기반으로 다른 아이템들을 추천
  • 충분한 정보가 수집되지 않은 새로운 사용자에게 적절한 내용을 추천해 주지 못하는 Cold Start 문제가 있다.

2-3. 하이브리드 추천시스템 (Hybrid Recommender System)

[사진4] 롱테일 법칙

  • 컨텐츠 기반 필터링과 협업 필터링에서 발생하는 콜드 스타트 문제롱테일 문제같은 한계를 보완하기 위해
    협업 필터링과 컨텐츠 기반 필터링을 조합하여 만든 추천 시스템
  • 협업 필터링의 콜드 스타트 문제를 해결하기 위해 신규 컨텐츠는 컨텐츠 기반 필터링 기술로 분석 후 추천하고,
    충분한 데이터가 쌓인 후 부터는 협업 필터링으로 추천의 정확성을 높이는 방식.

[사진 5] 하이브리드 추천 시스템


0. 자료 출처

99-1. 도서

99-2.논문, 학술지

99-3. 웹사이트

  • 데이터 사이언스 설명서 : 추천시스템1-추천시스템이란?, 추천 알고리즘의 종류 | [블로그 링크]
  • Medium - John : 추천 시스템 (Recommendation System)이란 | [블로그 링크]
  • Brunch - 빅인 : 추천 알고리즘, 내 취향을 어떻게 그렇게 잘 알아? |[블로그 링크]
  • playinpap : 추천시스템, 그것이 알고싶다 | [블로그 링크]
  • 감성과 공학 : Ch 01. 추천시스템이란 | [블로그 링크]

99-4. 데이터 셋


전체코드

  • 이번 글은 추천 시스템에 관한 간단한 소개글로, 다음 글부터 추천시스템 알고리즘에 대한
    자세한 설명과 실습 코드도 첨부하여 포스팅 하도록 하겠습니다. 감사합니다!

내용 추가 이력

  • '22.11.04 - 컨텐츠 기반 필터링 구현 내용 포스팅
 

[ML / 추천 시스템] 2. Contents Based Filtering (CBF)

0. 자료 출처 0-1. 도서 0-2.논문, 학술지 0-3. 웹사이트 딥러닝을 이용한 자연어 처리 입문 : 04.4) TF-IDF(Term Frequency-Inverse Document Frequency) | [페이지 링크] 꿈 많은 사람의 이야기 : 파이썬과 함께 추천

dove-nest.tistory.com


부탁 말씀

개인적으로 공부하는 과정에서 오류가 있을 수 있으니, 오류가 있는 부분은 댓글로 정정 부탁드립니다.


728x90
Comments