분류 전체보기
-
딥 러닝 기반의 추천 시스템 딥 러닝 기반 추천 시스템의 장점 최근 딥 러닝 기반 추천 시스템이 학계와 산업계에서 각광을 받는 있는 이유는 다음과 같다. 사용이 편리한 end-to-end architecture를 활용하고 있다. 여기서 end-to-end architecture는 기존의 딥러닝을 사용하지 않는 추천 시스템 방법론에서 task의 성공을 위해 도메인 별로 각자 정의된 다양한 handicrafted feature engineering을 활용하는 것과는 달리 이를 적용하지 않는 모델 설계를 의미한다. Input data type에 알맞은 inductive bias를 제공할 수 있다. 예를 들어, 이미지에는 CNN을, 순차 데이터에는 RNN을 사용하는 것처럼 상황에 따라 알맞은 모델을 활용할 수 ..
딥 러닝(Deep Learning) 기반의 추천 시스템딥 러닝 기반의 추천 시스템 딥 러닝 기반 추천 시스템의 장점 최근 딥 러닝 기반 추천 시스템이 학계와 산업계에서 각광을 받는 있는 이유는 다음과 같다. 사용이 편리한 end-to-end architecture를 활용하고 있다. 여기서 end-to-end architecture는 기존의 딥러닝을 사용하지 않는 추천 시스템 방법론에서 task의 성공을 위해 도메인 별로 각자 정의된 다양한 handicrafted feature engineering을 활용하는 것과는 달리 이를 적용하지 않는 모델 설계를 의미한다. Input data type에 알맞은 inductive bias를 제공할 수 있다. 예를 들어, 이미지에는 CNN을, 순차 데이터에는 RNN을 사용하는 것처럼 상황에 따라 알맞은 모델을 활용할 수 ..
2022.03.27 -
추천 시스템의 정의 추천 시스템이란 정확히 무엇일까? 추천 시스템을 우리 일상에서 가장 쉽게 접할 수 있는 서비스의 예라고 하면 대표적으론 Netflix, Youtube, 인스타그램 등 일명 '알고리즘'에 의해 내 사용이력과 관심사에 기반하여 추천되는 서비스가 될 것이다. 그렇지만 추천 시스템을 단순히 이러한 서비스 예시로만 정의할 수는 없을 것이다. 추천 시스템을 명확히 하나의 정의만으로는 설명할 수 없지만, 대체로 위키피디아 등 유명한 자료에서는 다음과 같이 정의한다. 사용자가 아이템에 부여한 평점이나 선호도를 예측하는 일종의 정보 필터링 시스템을 뜻한다. - by Wikipedia - 사용자가 사용한 아이템에 대한 제안을 제공하는 소프트뒈어 도구나 테크닉이다. 사용자와 아이템의 상호작용을 모델링하는..
추천 시스템의 정의와 사용하는 목적, 그리고 전통적인 분류추천 시스템의 정의 추천 시스템이란 정확히 무엇일까? 추천 시스템을 우리 일상에서 가장 쉽게 접할 수 있는 서비스의 예라고 하면 대표적으론 Netflix, Youtube, 인스타그램 등 일명 '알고리즘'에 의해 내 사용이력과 관심사에 기반하여 추천되는 서비스가 될 것이다. 그렇지만 추천 시스템을 단순히 이러한 서비스 예시로만 정의할 수는 없을 것이다. 추천 시스템을 명확히 하나의 정의만으로는 설명할 수 없지만, 대체로 위키피디아 등 유명한 자료에서는 다음과 같이 정의한다. 사용자가 아이템에 부여한 평점이나 선호도를 예측하는 일종의 정보 필터링 시스템을 뜻한다. - by Wikipedia - 사용자가 사용한 아이템에 대한 제안을 제공하는 소프트뒈어 도구나 테크닉이다. 사용자와 아이템의 상호작용을 모델링하는..
2022.03.27 -
Thompson Sampling이란? 주어진 $k$개의 액션에 해당하는 reward의 추정치 $Q_t(a)$가 확률 분포를 따른다고 가정하는 것이다. 이때 많이 사용하는 확률 분포는 베타 분포이다. MAB와의 가장 큰 차이점은 각각의 액션의 reward 추정치를 확률이 아닌 확률 분포를 사용하는 것이다. 베타 분포(Beta Distribution) 두 개의 양의 변수 $\alpha$, $\beta$로 표현할 수 있는 확률 분포이며, 0과 1 사이의 값을 갖는다. $$ Beta(x, \alpha, \beta) = \frac{1}{B(\alpha, \beta)}x^{\alpha - 1}(1 - x)^{\beta - 1} $$ 여기서 $B(\alpha, \beta)$는 $\alpha$, $\beta$에 의해 ..
MAB(Multi-Armed-Bandit)를 활용한 Thompson Sampling과 LinUCB(Linear Upper Confidence Bound)Thompson Sampling이란? 주어진 $k$개의 액션에 해당하는 reward의 추정치 $Q_t(a)$가 확률 분포를 따른다고 가정하는 것이다. 이때 많이 사용하는 확률 분포는 베타 분포이다. MAB와의 가장 큰 차이점은 각각의 액션의 reward 추정치를 확률이 아닌 확률 분포를 사용하는 것이다. 베타 분포(Beta Distribution) 두 개의 양의 변수 $\alpha$, $\beta$로 표현할 수 있는 확률 분포이며, 0과 1 사이의 값을 갖는다. $$ Beta(x, \alpha, \beta) = \frac{1}{B(\alpha, \beta)}x^{\alpha - 1}(1 - x)^{\beta - 1} $$ 여기서 $B(\alpha, \beta)$는 $\alpha$, $\beta$에 의해 ..
2022.03.19 -
Multi-Armed Bandit이란? 카지노에 있는 슬롯머신은 한 번에 한 개의 arm을 당길 수 있다. (One-Armed Bandit) 만약에 카지노에 있는 K개의 슬롯머신을 N번 플레이할 수 있으면 어떻게 플레이 하는 것이 좋을지에 관한 아이디어에서 나온 것이다. K개의 슬롯머신에서 얻을 수 있는 reward의 확률이 모두 다르다고 가정한다. Reward를 최대화하기 위해서는 arm을 어떠한 순서로 또는 어떤 정책에 의해 당겨야 하는지를 구하는 것이 문제이다. Multi-Armed Bandit의 문제 그러나 슬롯머신의 reward 확률을 정확히 알 수 없다는 것이 단점이다. 모든 슬롯 머신을 동일한 횟수로 당기면 높은 reward를 얻을 수 없게 된다. (Exploration) 일정 횟수만큼 슬롯..
추천 시스템과 Multi-Armed Bandit(MAB) 알고리즘Multi-Armed Bandit이란? 카지노에 있는 슬롯머신은 한 번에 한 개의 arm을 당길 수 있다. (One-Armed Bandit) 만약에 카지노에 있는 K개의 슬롯머신을 N번 플레이할 수 있으면 어떻게 플레이 하는 것이 좋을지에 관한 아이디어에서 나온 것이다. K개의 슬롯머신에서 얻을 수 있는 reward의 확률이 모두 다르다고 가정한다. Reward를 최대화하기 위해서는 arm을 어떠한 순서로 또는 어떤 정책에 의해 당겨야 하는지를 구하는 것이 문제이다. Multi-Armed Bandit의 문제 그러나 슬롯머신의 reward 확률을 정확히 알 수 없다는 것이 단점이다. 모든 슬롯 머신을 동일한 횟수로 당기면 높은 reward를 얻을 수 없게 된다. (Exploration) 일정 횟수만큼 슬롯..
2022.03.19 -
Deep Interest Network(DIN) 유저가 과거에 행동했던 기록인 User Behavior Feature를 처음 사용한 모델이다. DIN의 등장 배경 더 많은 유저의 과거 행동 정보와 같은 다양한 feature를 모델에 사용하고 싶다는 아이디어에서 출발한 것이다. 기존의 딥러닝 기반 모델들은 embedding 하고 MLP를 통과시키는 유사한 패러다임을 따른다. 특히, Sparse feature들을 저차원으로 임베딩한 후 이를 fully connected layer인 MLP의 입력으로 사용한다. 그러나 이러한 방식은 사용자의 다양한 관심사를 반영할 수 없다. 사용자가 기존에 소비한 아이템 리스트를 User Behavior Feature로 만들어서 예측 대상 아이템과 이미 소비한 아이템 사이의 ..
User Behavior Feature를 활용하는 DIN(Deep Interest Network)과 BST(Behavior Sequence Transformer)Deep Interest Network(DIN) 유저가 과거에 행동했던 기록인 User Behavior Feature를 처음 사용한 모델이다. DIN의 등장 배경 더 많은 유저의 과거 행동 정보와 같은 다양한 feature를 모델에 사용하고 싶다는 아이디어에서 출발한 것이다. 기존의 딥러닝 기반 모델들은 embedding 하고 MLP를 통과시키는 유사한 패러다임을 따른다. 특히, Sparse feature들을 저차원으로 임베딩한 후 이를 fully connected layer인 MLP의 입력으로 사용한다. 그러나 이러한 방식은 사용자의 다양한 관심사를 반영할 수 없다. 사용자가 기존에 소비한 아이템 리스트를 User Behavior Feature로 만들어서 예측 대상 아이템과 이미 소비한 아이템 사이의 ..
2022.03.19 -
딥 러닝을 사용한 CTR Prediction CTR 예측은 유저가 주어진 아이템을 클릭할 확률을 예측하는 문제이다. 주로 광고에 사용되며 광고주 및 서비스 제공자들의 이익 창출에 사용된다. 그러나 현실의 CTR 데이터를 기존의 선형 모델로 예측하는 데는 한계가 있다. Highly sparse하고 데이터의 차원이 너무 클 수 있으며, feature 간의 non-linear association이 존재한다. 그래서 이러한 데이터에 효과적인 딥러닝 기법들이 CTR 예측 문제에 적용된다. Wide & Deep 모델 선형적인 모델(Wide)과 비선형적인 모델(Deep)을 결합하여 기존 모델들의 장점을 모두 취하고자 하는 모델이다. Wide & Deep 등장 배경 추천 시스템에서 해결해야 할 두 가지 과제는 Mem..
CTR를 딥 러닝으로 예측하는 Wide & Deep 모델과 DeepFM딥 러닝을 사용한 CTR Prediction CTR 예측은 유저가 주어진 아이템을 클릭할 확률을 예측하는 문제이다. 주로 광고에 사용되며 광고주 및 서비스 제공자들의 이익 창출에 사용된다. 그러나 현실의 CTR 데이터를 기존의 선형 모델로 예측하는 데는 한계가 있다. Highly sparse하고 데이터의 차원이 너무 클 수 있으며, feature 간의 non-linear association이 존재한다. 그래서 이러한 데이터에 효과적인 딥러닝 기법들이 CTR 예측 문제에 적용된다. Wide & Deep 모델 선형적인 모델(Wide)과 비선형적인 모델(Deep)을 결합하여 기존 모델들의 장점을 모두 취하고자 하는 모델이다. Wide & Deep 등장 배경 추천 시스템에서 해결해야 할 두 가지 과제는 Mem..
2022.03.19 -
Gradient Boosting Machine (GBM) CTR 예측을 통해 개인화된 추천 시스템을 만들 수 있는 또 다른 대표적인 모델이다. Boosting [출처] Wikipedia, Sirakorn 앙상블(ensemble) 기법의 일종이며, 앙상블은 모델의 편향에 따른 예측 오차를 줄이기 위해 여러 모델을 결합하여 사용하는 기법이다. 의사결정 나무(Decision Tree)로 된 weak learner(정확도와 복잡도가 비교적 낮은 분류기)들을 연속적으로 학습하여 결합하는 방식이다. 연속적으로 학습한다는 것은 이전 단계의 weak learner가 취약했던 부분을 위주로 데이터를 샘플링하거나 가중치를 부여해 다음 단계의 learner를 학습한다는 의미이다. Boosting 기반 모델 AdaBoost(..
Gradient Boosting을 사용한 GBM(Gradient Boosting Machine)과 연관 모델Gradient Boosting Machine (GBM) CTR 예측을 통해 개인화된 추천 시스템을 만들 수 있는 또 다른 대표적인 모델이다. Boosting [출처] Wikipedia, Sirakorn 앙상블(ensemble) 기법의 일종이며, 앙상블은 모델의 편향에 따른 예측 오차를 줄이기 위해 여러 모델을 결합하여 사용하는 기법이다. 의사결정 나무(Decision Tree)로 된 weak learner(정확도와 복잡도가 비교적 낮은 분류기)들을 연속적으로 학습하여 결합하는 방식이다. 연속적으로 학습한다는 것은 이전 단계의 weak learner가 취약했던 부분을 위주로 데이터를 샘플링하거나 가중치를 부여해 다음 단계의 learner를 학습한다는 의미이다. Boosting 기반 모델 AdaBoost(..
2022.03.19 -
Context-aware Recommendation 행렬 분해 기법(MF)을 활용한 협업 필터링의 한계 개별 유저와 개별 아이템 간 상호작용을 2차원 행렬로 표현한다. 그러나 이는 유저의 데모그래픽이나 아이템의 카테고리 및 태그 등 여러 풍부한 특성(feature)들을 추천 시스템에 반영할 수 없다. 또한 유저-아이템의 상호작용 정보가 아직 부족할 경우, 즉 'cold start'에 대한 대처가 어렵다. Context 기반 추천 시스템 유저와 아이템 간 상호작용 정보 뿐만이 아니라 맥락(context)적 정보도 함께 반영하는 추천 시스템이다. $X$를 통해 $Y$의 값을 추론하는 일반적인 예측 문제에 두루 사용할 수 있는 General Predictor이다. $$ R: User \times Item \t..
Context 기반 추천 모델인 FM(Factorization Model)과 FFM(Field-aware Factorization Machine)Context-aware Recommendation 행렬 분해 기법(MF)을 활용한 협업 필터링의 한계 개별 유저와 개별 아이템 간 상호작용을 2차원 행렬로 표현한다. 그러나 이는 유저의 데모그래픽이나 아이템의 카테고리 및 태그 등 여러 풍부한 특성(feature)들을 추천 시스템에 반영할 수 없다. 또한 유저-아이템의 상호작용 정보가 아직 부족할 경우, 즉 'cold start'에 대한 대처가 어렵다. Context 기반 추천 시스템 유저와 아이템 간 상호작용 정보 뿐만이 아니라 맥락(context)적 정보도 함께 반영하는 추천 시스템이다. $X$를 통해 $Y$의 값을 추론하는 일반적인 예측 문제에 두루 사용할 수 있는 General Predictor이다. $$ R: User \times Item \t..
2022.03.19