Introduction: Recommendation System
반응형
’추천 엔진을 구축하기 위한 기본서(수레시 고라칼라 지음)’을 읽고..
1. 추천 엔진 정의
- 정보 검색과 인공지능의 한 분야인 추천 엔진은 엄청난 양의 데이터(제품 정보와 사용자 정보 등)를 분석하고 데이터 마이닝을 기반으로 연관 추천을 제공할 수 있는 강력한 도구이자 기술입니다.
- 기술적인 측면에서 바라본다면, 사용자가 얼마나 해당 항목을 좋아할 지 예측할 수 있는 수학적 모델 또는 목적함수(ojbective function)를 개발하는 것 입니다.
- \(U = (\text{User})\), \(I = (\text{Item})\), \(R = (\text{추천항목})\), \(F : \text{objective function}\)일 때 각 사용자 \(u\)를 위해 목적 함수의 최댓값을 구하는 항목 \(i\)를 선택하고자 하는 것
\[u \in U, I^{'}_{u}=\arg{\max}_{u} f(u, i)\]
2. 추천 시스템 종류
2. 1. 협업 필터링 추천 시스템
협업 필터링 추천 시스템(collaborative filtering recommender systems)은 가장 기본적인 형태의 추천 시스템 입니다. 이러한 유형의 추천 시스템에서는 사용자들의 선호도를 이용해서 선택 가능한 많은 집합들로부터 아이템들을 필터링 합니다.
- 가장 간단한 예시로 사용자 \(u_1\)와 사용자 \(u_2\)가 음악 듣는 취향이 비슷하며, 사용자 \(u_1\)은 사용자 \(u_2\)가 최근에 듣지 못한 힙합 음악을 들었을 경우, 사용자 \(u_2\)에게 힙합 음악을 추천한다는 로직입니다.
이러한 협업 필터링 추천 시스템에는 크게 두 가지 유형이 있습니다.
사용자 기반 협업 필터링(User-based CF)
- 사용자 주변의 취향을 고려해 추천
- 유사한 선호도를 가진 사용자를 발견하고, 활성 사용자는 아직 평가가 매겨지지 않은 아이템에 대해 유사한 사용자가 제공한 평가를 바탕으로 활성 사용자에게 새로운 아이템을 추천해주는 로직
아이템 기반 협업 필터링(Item-based CF)
- User-based CF와 달리 아이템의 유사한 정도를 이용해서 추천
아이템들간 유사한 정도를 찾은 후 과거에 활성 사용자가 평가한 아이템과 유사한 평가되지 않은 아이템을 추천 - 아이템 선호도를 기반으로 아이템 유사도를 계산한 후, 활성 사용자가 아직 평가하지 않은 가장 유사한 아이템을 찾은 다음 해당 아이템을 추천하는 로직
- 협업 필터링 시스템의 장점으로는 구현하기 비교적 간단하다는 장점이 있지만 콜드 스타트(cold start, 과거 기존의 데이터에 의존하기 때문에 정보가 없는 첫 사용자에게는 추천할 수 없는 문제)와 같은 한계점을 가지고 있습니다.
- 협업 필터링 시스템을 구축하기 위해서는 다음과 같은 측면을 알아볼 필요가 있습니다.
- 사용자 사이의 유사도는 어떻게 계산하는가?
- 아이템 사이의 유사도는 어떻게 계산하는가?
- 추천하는 방법은 무엇인가?
- 정보가 없는 새로운 아이템과 새로운 사용자들인 경우 어떻게 대처하는가?
2. 2. 콘텐츠 기반 추천 시스템
- 콘텐츠 기반 추천 시스템(content-based recommender systems)은 이름에서도 알 수 있듯이, 추천 모형을 구축하기 위해 아이템의 콘텐츠 정보를 사용합니다.
- 활성 사용자를 위한 추천 사항을 생성하는 데 일반적으로 사용자 프로필 생성 단계, 아이템 프로필 생성 단계, 그리고 모형 구축 단계를 포함합니다.
- 즉, 아이템과 사용자 프로필의 콘텐츠 또는 특징을 이용해서 사용자에게 아이템을 추천하는 로직 입니다. 좀 더 간단히 말해, 시스템은 사용자가 과거에 좋아했던 것과 유사한 아이템들을 추천하는 것 입니다.
- 콘텐츠 기반 추천 시스템을 구축하기 위해서는 다음과 같은 측면을 알아볼 필요가 있습니다.
- 아이템의 콘텐츠 또는 특징들을 선택하는 방법은 무엇인가?
- 해당 아이템 콘텐츠와 유사한 선호도로 사용자 프로필을 생성하는 방법은 무엇인가?
- 아이템들의 특징을 기반으로 아이템 사이의 유사도를 생성하는 방법은 무엇인가?
- 사용자 프로필을 생성하고 지속적으로 업데이트하는 방법은 무엇인가?
2. 3. 하이브리드 추천 시스템
- 추천 시스템을 조금 더 견고하게 구축하기 위해 다양한 추천 시스템들을 결합할 수 있는데, 이러한 형태를 하이브리드 추천 시스템이라고 말할 수 있습니다.
- 다양한 추천 시스템을 결합시킴으로써, 하나의 시스템이 지닌 단점을 다른 시스템의 장점으로 대체해 견고한 시스템을 구축하는 것 입니다.
- 예를 들면, 새로운 아이템에 대한 평가가 없는 경우의 협업 필터링 방식과 아이템의 특징 정보를 사용하는 콘텐츠 기반 시스템을 결합시키면, 새로운 아이템을 조금 더 정확하고 효율적으로 추천해 줄 수 있습니다.
반응형
'Statistical Modeling & ML > Recommender system' 카테고리의 다른 글
협업 필터링 추천 시스템 구축하기 (0) | 2017.10.11 |
---|---|
추천 엔진에 이용되는 데이터 마이닝 기법 (0) | 2017.10.09 |
추천 엔진의 이해 (0) | 2017.10.09 |
Bulid a recommendation system using R (2) | 2017.10.09 |
TAGS.