분류 전체보기
-
Memory-based Collaborative Filtering Memory-based CF는 다른 말로 Neighborhood-based CF(이웃 기반 CF)이라고도 하며, 사용자 또는 아이템 간의 similarity 값을 계산하고 이를 평점 예측 또는 Top-K ranking에 활용하는 방법이다. Similarity 값을 계산하는 metric은 여러 종류가 있으며, Jaccard Similarity, Cosine Similarity, Pearson Similarity 등이 활용된다. $$ \text{Jaccard}(i, j) = \frac{|U_i \cap U_j}{|U_i \cup U_j|} $$ Jaccard 유사도는 집합들 간의 포함 관계를 사용하는 metric이다. $$ \text{Cosi..
Memory-based와 Model-based Collaborative FilteringMemory-based Collaborative Filtering Memory-based CF는 다른 말로 Neighborhood-based CF(이웃 기반 CF)이라고도 하며, 사용자 또는 아이템 간의 similarity 값을 계산하고 이를 평점 예측 또는 Top-K ranking에 활용하는 방법이다. Similarity 값을 계산하는 metric은 여러 종류가 있으며, Jaccard Similarity, Cosine Similarity, Pearson Similarity 등이 활용된다. $$ \text{Jaccard}(i, j) = \frac{|U_i \cap U_j}{|U_i \cup U_j|} $$ Jaccard 유사도는 집합들 간의 포함 관계를 사용하는 metric이다. $$ \text{Cosi..
2022.04.02 -
추천 시스템을 평가하는 전반적인 지표는 아래의 포스트에서 확인할 수 있다. https://glanceyes.tistory.com/entry/추천-시스템-추천-시스템과-평가-지표 추천 시스템 - 추천 시스템과 평가 지표 2022년 3월 7일(월)부터 11일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이 부 glanceyes.tistory.com Top-K Ranking 추천시스템을 평가하는 지표 평점 예측 문제 평점 예측(Rating Prediction) 문제는 real-value로 이루어진 explicit feedback을 예측하는 태스크에 주로 사용되는데, explicit f..
Top-K Ranking 문제에서 추천시스템을 평가하는 지표추천 시스템을 평가하는 전반적인 지표는 아래의 포스트에서 확인할 수 있다. https://glanceyes.tistory.com/entry/추천-시스템-추천-시스템과-평가-지표 추천 시스템 - 추천 시스템과 평가 지표 2022년 3월 7일(월)부터 11일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이 부 glanceyes.tistory.com Top-K Ranking 추천시스템을 평가하는 지표 평점 예측 문제 평점 예측(Rating Prediction) 문제는 real-value로 이루어진 explicit feedback을 예측하는 태스크에 주로 사용되는데, explicit f..
2022.03.27 -
SOTA(State-Of-The-Art) 추천 시스템의 근간이 되는 방법론 앞서 참고로 여기서의 SOTA(State-of-The-Art)의 의미는 '최고의 성능을 내는' 정도로 해석하면 된다. Matrix Factorization [출처] https://commons.wikimedia.org/wiki/File:Matrix_factorization.png, Xianteng 사용자와 아이템의 저차원 표현을 학습하는 것으로 볼 수 있으며, 명시적인 feature를 사용하지 않고도 잠재 표현을 학습하기 때문에 흔히 latent factor model이라고 부른다. $$ R \approx \gamma_U \times \gamma_I^T $$ $R$: Sparse한 사용자와 아이템 상호작용 행렬 $\gamma_U$..
추천 시스템의 핵심이 되는 여러 방법론SOTA(State-Of-The-Art) 추천 시스템의 근간이 되는 방법론 앞서 참고로 여기서의 SOTA(State-of-The-Art)의 의미는 '최고의 성능을 내는' 정도로 해석하면 된다. Matrix Factorization [출처] https://commons.wikimedia.org/wiki/File:Matrix_factorization.png, Xianteng 사용자와 아이템의 저차원 표현을 학습하는 것으로 볼 수 있으며, 명시적인 feature를 사용하지 않고도 잠재 표현을 학습하기 때문에 흔히 latent factor model이라고 부른다. $$ R \approx \gamma_U \times \gamma_I^T $$ $R$: Sparse한 사용자와 아이템 상호작용 행렬 $\gamma_U$..
2022.03.27 -
딥 러닝 기반의 추천 시스템 딥 러닝 기반 추천 시스템의 장점 최근 딥 러닝 기반 추천 시스템이 학계와 산업계에서 각광을 받는 있는 이유는 다음과 같다. 사용이 편리한 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