tak's data blog

추천시스템(Recommendation system) 본문

Machine Learning

추천시스템(Recommendation system)

hyuntaek 2021. 3. 26. 14:04
반응형
SMALL

 

 

 

BOAZ에서 adv프로젝트로 추천시스템을 구현하는 과정을 가지고 있습니다.

 

coursera 추천시스템 강의를 공부하면서 까먹지 않기 위해 블로그에 기록하도록 하겠습니다!

 

2월부터 3월까지 총 5주차의 강의를 청강하면서 영어로만 되어있어 이해하는 과정에서 시간이 더 걸려서 완벽히 이해하진 못했지만, 강의와 구글링을 통해서 얻은 핵심내용만 정리하겠습니다!  

 

주요 참고 블로그 : lsjsj92.tistory.com/563

 

추천 시스템(Recommendation system)이란? - content based filtering, collaborative filtering

포스팅 개요 이번 포스팅은 추천 시스템(recommedation system)에 대해서 알아봅니다. 또한, 추천 시스템에는 컨텐츠 기반 필터링(content based filtering)과 협력 필터링(collaborative filtering)이 있는데요...

lsjsj92.tistory.com

우선 추천시스템(Recommendation system)은 

 

우리가 흔히 주변에서 접할 수 있는 유튜브, 쇼핑몰 등등에서 취향에 맞게 상품이나 동영상을 추천해주는 것 등이 포함됩니다.

저도 최근에 롤린영상 한개를 틀었다가 유튜브 알고리즘에 의해서 여러개의 롤린영상을 추천해주는 현상을 겪었습니다.

 

비슷한 영상을 추천해주면 좋을 때도 있고, 안 좋을 때도 있지만 매번 이런일을 겪을때마다 추천시스템에 다시 한번 놀라기도 합니다.

 

이러한 추천시스템은 크게 2가지로 나뉘어집니다.

 

 

1. Contents-Based Filtering(컨텐츠 기반 필터링)

컨텐츠 기반 필터링은 컨텐츠를 기반으로 추천을 하는 알고리즘입니다. 

 

예를 들어 사용자(user)가 item이 되는 스릴러 영화 장르에 높은 별점을 주었다면, 다른 스릴러 영화를 추천해주는 것입니다. 말그대로 컨텐츠 기반 방법이라고 볼 수 있습니다.

 

컨텐츠 기반 필터링을 위해서 사용하는 기법은 TF-IDF(Term-Frequency Inverse Document Frequency), Word2Vec, Similarity알고리즘 등을 활용할 수 있습니다.

 

 

 

2. Collaborative Filtering(협업 필터링)

사용자가 아이템에 매긴 평점, 상품 구매 이력등의 사용자 행동 양식을 기반으로 추천해주는 것을 말합니다.

 

유튜브나 넷플릭스등 초반에는 컨텐츠 기반 필터링을 선호했다하지만 요즘에는 협업필터링으로 변화하였다고 합니다.

 

평소에 유튜브 알고리즘이라는 말을 많이 사용하는데 이 때 협업 필터링이 활용될 가능성이 높다고 볼 수 있습니다.

 

 

1) user based(사용자 기반) : 비슷한 취향을 가진 사람들의 이웃을 선택하고 자신의 의견을 사용

 

 

2) item based(아이템 기반) : 등급을 통한 항목 간의 관계를 설정, 이러한 항목과 등급을 사용하여 예측

등의 방법이 있습니다.

 

 

 

사용자 기반 협업 필터링

User1과 User2는 펜트하우스 / 빈센조 / 나의 아저씨 평점이 비슷하므로 비슷하다라고 생각할 수 있습니다.

 

 

 

아이템 기반 협업 필터링

사용자 기반은 user-드라마 / 아이템 기반은 드라마 - User 행렬을 가지고 있습니다.

 

펜트 하우스와 나의 아저씨는 상대적으로 비슷한 평점 분포로 서로 유사하다고 볼 수 있습니다.

 

그래서 평점을 매기지 않은 User4에게 펜트하우스를 추천할 수 있습니다.

 

 

 

 

 

 

 

 

반응형
LIST

'Machine Learning' 카테고리의 다른 글

추천시스템(Recommendation system) 유사도(similarity)  (0) 2021.03.26
Decision Tree(의사결정나무)  (0) 2021.03.02
Model training(모델 훈련)  (0) 2021.02.10
classification(분류)  (0) 2021.02.02
머신러닝이란?  (0) 2021.01.26