최근에 진행한 프로젝트를 모두 추천시스템과 관련된 프로젝트를 진행하다보니 자연스럽게 추천시스템에 관심이 생겼습니다.
- 저의 프로젝트가 궁금하시면 아래의 깃허브 주소를 방문하시면 확인할 수 있습니다.
HwangHanJae - Overview
HwangHanJae has 31 repositories available. Follow their code on GitHub.
github.com
프로젝트를 진행하며 추천시스템을 학습하는 방법에 대하여 제가 참여한 부트캠프의 담당 코치분께 질문하였더니 아래의 책을 추천해주셨습니다.
책은 크게 13챕터로 구성되어 있으며 약 600페이지 정도의 분량을 가지고 있습니다.
이 책을 통하여 스스로 학습한 내용을 정리하며 글을 포스팅해보려고 합니다.
개요
웹의 발전으로 자연스럽게 아마존, 쿠팡과 같은 이커머스 즉 온라인 전자상거래 서비스도 발전이 되었습니다.
사용자에게 더 좋은 경험을 제공하며 비즈니스의 성장을 위하여 추천시스템의 기술 개발 또한 중요해졌습니다.
사용자는 웹을 통하여 좋아하거나 싫어하는 것에 대한 피드백을 제공할 수 있습니다. 평점이나 좋아요 같은 상품에 대한 선호도나 사용자가 상품을 구매하거나 조회하거나 하는 간단한 행위를 통해 그 상품에 대하여 사용자의 관심도를 짐작할 수 있습니다.
추천시스템의 기본적인 아이디어는 이러한 다양한 데이터 소스를 활용하여 고객의 관심을 추론하는 것입니다.
사용자의 과거의 행위나 관심사 등은 사용자가 미래에 내릴 선택에 중요한 영향을 줍니다.
따라서 추천은 사용자와 아이템(상품)간의 과거의 상호작용에 기반합니다.
예를들어 역사 다큐멘터리에 관심 있는 사용자는 액션 영화보다는 다른 역사 다큐멘터리나 교육 프로그램에 더 관심을 가질 가능성이 높습니다.
영화의 카테고리가 중요한 특성으로 사용될 수 있고 높은 상관관계를 보여 줄 수 있습니다. 또는 영화의 카테고리보다는 개별 영화의 어떤 특징(감독, 배우 등등)에 따라서 중요한 특성으로 사용될 수 있습니다.
이러한 특성들은 아래와 같은 사용자-아이템 평점 행렬에서 머신러닝 처럼 데이터를 기반으로 학습될 수 있습니다. 또한 결과 모델은 사용자가 영화에 대한 어떤 예측에 사용됩니다. 예시로 가져온 아래의 사용자-아이템 행렬은 사용자가 영화에 내린 평점을 나타내고 있습니다.
사용자-아이템 평점 행렬을 보면 NaN으로 나타나있는 아직 사용자가 평가하지 않은 영화에 평점에 대하여 예측할 수 있습니다.
사용자들이 이용할 수 있는 아이템이 많을수록 사용자의 행동이나 아이템의 평점 등을 예측하는데 더 효과적으로 사용될 수 있습니다.
또한 클러스터링이나 다른 머신러닝 알고리즘, 추천 알고리즘으로 만들어진 모델을 다시 예측을 위하여 사용할 수 있습니다.
예를들어 사용자들의 구매 또는 평가행동을 활용해 유사한 제품에 관심 있는 비슷한 고객군을 만들 수 있고, 이렇게 만들어진 고객군의 관심과 행동은 다시 해당 고객군의 개별 고객에게 추천하기 위하여 활용될 수 있습니다.
위에서 이야기한것이 바로 이웃 모델 기반의 협업필터링 알고리즘이라고 할 수 있습니다.
- 이때 협업 필터링은 사용자가 아직 평가하지 않은 평점을 예측하기 위하여 여러 사용자가 이미 평가한 평점을 사용하는 것을 의미합니다.
개요에서는 이 정도의 이야기만 다루도록 하고 콘텐츠 기반, 지식 기반 등등과 같은 다양한 추천 알고리즘에 대해서는 나중에 다루도록 하겠습니다.
'추천시스템' 카테고리의 다른 글
[추천시스템] 카카오 Mini Reco 기출문제 회고 (2) | 2023.01.01 |
---|---|
[추천시스템] 이웃 기반 협업필터링 (1) - 사용자 기반 (0) | 2022.12.23 |
[추천시스템] 평점의 종류 (0) | 2022.11.29 |
[추천시스템] 기본 협업 필터링 모델 (0) | 2022.11.21 |
[추천시스템] 목표 (0) | 2022.11.15 |