Notice
Recent Posts
Recent Comments
Today
Total
04-27 06:07
Archives
관리 메뉴

Jeongchul Kim

Incorporating Field-aware Deep Embedding Networks and Gradient Boosting Decision Trees for Music Recommendation 본문

MachineLearning

Incorporating Field-aware Deep Embedding Networks and Gradient Boosting Decision Trees for Music Recommendation

김 정출 2018. 2. 28. 15:44


Incorporating Field-aware Deep Embedding Networks and Gradient Boosting Decision Trees

for Music Recommendation

ABSTRACT

KKBOX와 같은 온라인 음악 스트리밍 서비스는 사용자가 모든 종류의 음악에 액세스 할 수있는 편리함을 제공하는 반면, 노래 및 사용자의 무작위 관심사를 설명하는 계층 적 데이터는 알고리즘이 정확한 권장 사항을 만드는 데 특히 어려움을 겪습니다. 충분한 역사적인 데이터. WSDM-KKBOX의 음악 추천 챌린지에서 WSDM 및 KKBOX는 많은 사용자(User)/노래(Song)가 Cold-Start되는 상황에서 반복적으로 사용자가 노래를들을 기회를 예측하는 것에 도전했습니다. 이 백서에서는 작업에 대한 솔루션을 설명합니다. 우리의 솔루션은 Field-aware Deep Embedding Networks와 Gradient Boosting Decision Trees를 포함한 다양한 Model의 Ensemble로 구성되었습니다. 우리는 Private Leaderboard에서 0.74787의 AUC 점수를 획득했으며 경쟁에서 1 위를 차지했습니다.


KEYWORDS

Music recommendation, recommender system, deep learning, field-aware, GBDT, WSDM Cup


1. INTRODUCTION

온라인 음악 스트리밍 서비스의 급속한 발전으로 사람들은 다양한 장르의 많은 노래를 편리하게 이용할 수 있습니다. 같은 사람이 비틀즈, 비발디, 레이디 가가를 아침 출근길에 들을 수 있었습니다. 이것은 과거에는 거의 생각할 수 없었습니다. 음악 스트리밍 서비스 제공 업체는 대량의 청취 기록을 채취하여 사용자에게 개인화 된 권장 사항을 제시함으로써 정보 과부하를 완화 할 수 있습니다.


그러나 음악의 경향은 항상 진화하고 있습니다. 새로운 노래와 새로운 아티스트가 매주 등장하므로 추천 알고리즘에 큰 어려움이 있습니다. 충분한 역사적인 데이터가 없다면 청취자가 새로운 노래 또는 새로운 아티스트를 좋아할지 알고리즘이 어떻게 알 수 있습니까? 그리고 어떻게 새로운 사용자에게 브랜드를 추천할까요? WSDM은 경쟁 업체가 3 천만 개가 넘는 트랙으로 세계에서 가장 포괄적 인 아시아 - 팝 뮤직 라이브러리를 보유하고있는 아시아 최고의 음악 스트리밍 서비스 인 KKBOX의 기부 데이터 세트로 더 나은 음악 추천 시스템을 구축하는 데 어려움을 겪고 있습니다.


이 dataset는 training set에서 처음으로 관찰 가능한 청취 이벤트에 대한 7,377,418 개의 record가 있으며,  testing set 에서 2,556,790 개의 record를 포함하며 목표는 관찰 가능한 첫 번째 청취 이벤트가 발생한 후 시간 창 내에서 trigger 되며, 반복적으로 노래를 청취할 가능성을 예측하는 것입니다. 데이터 세트에는 34,403 명의 개별 사용자가 포함되며, user의 10.60 %가 training set에 표시되지 않으며, 419,839 개의 별개의 song가 포함되어 있으며 14.26 %는 training set에 표시되지 않습니다. 사용자와 노래의 meta data도 제공됩니다. 경쟁자의 관찰을 토대로, training set는 2016 년 8 월 중순에서 2017 년 1 월 중순까지의 기간을 다루며, test set는 2017 년 1 월 중순에서 2017 년 2 월 말까지 제공됩니다.


우리의 이해를 바탕으로, 문제는 다음과 같은 속성을 가지고 있습니다 :

1. Missing은 random하지 않다. 일부 user-song 쌍을 관찰 할 수도 있고 그렇지 않을 수도 있습니다. dataset에 사용자 노래 쌍이 표시되면, 사용자가 노래를 한 번 이상 들었음을 알 수 있습니다. 이는 사용자가 노래에 다소 관심이 있음을 의미합니다. 결과적으로, 사용자 및 노래의 동시 발생에는 사용자 선호도 및 노래 특성에 대한 풍부한 정보가 포함됩니다.


2. 시간에 민감합니다. dataset가 긴 시간 범위를 다루기 때문에 패턴은 처음부터 끝까지 많이 진화할 수 있습니다. 이로 인해 training/test data는 다소 다른 분포를 따르게되며, 유효성 검사(validation) 전략 및 feature engineering에 중요합니다.


이러한 속성을 기반으로 recommendation 추천을 만들기 위해 FDEN (Field-aware Deep Embedding Networks) 및 GBDT (Gradient Boosting Decision Trees)를 통합 할 것을 제안합니다. GBDT는 욕심 많은 방법이며 머리 흐름(head flow)에 패턴을 잘 맞출 수 있지만 FDEN은 다양한 feature 조합을 탐색하므로 긴 꼬리(long-tail)의 흐름에 숨어있는 패턴을 찾는 것이 좋습니다. 결과적으로, FDENs와 GBDTs에 의해 주어진 예측에 기초한 ensemble은 그것들 각각에 상당한 향상을 줄 수 있습니다. 마지막으로 Private Leaderboard에서 0.74787을 획득 할 수 있었고 경쟁에서 첫 번째 순위를 마쳤습니다.


이 논문의 나머지 부분은 다음과 같이 구성됩니다. 2 절에서는 몇 가지 관련 작업을 요약합니다. 3 절에서는 전반적인 접근 방식과 몇 가지 중요한 피쳐 엔지니어링 방법에 대해 설명합니다. 4 절에서는 FDEN의 세부 구조를 소개하고 5 절에서는 GBDT 모델을 소개합니다. 6 절에서는 평가 결과의 개요를 제공하고 7 절에서는 결론을 도출합니다.


2. RELATED WORK

음악 추천 시스템(music recommendation system)은 수년 동안 활발한 연구 주제였습니다. Cheng et al. 위치 인식 음악 추천을 위해 장소 유형에 적합한 노래의 공통 feature을 마이닝하는 위치 인식 주제 모델을 제안했습니다. Rosa et al. 소셜 네트워크에서 사용자의 감정을 추출하고 음악 취향과 선호도를 추론하기 위해 성격과의 관계에 중점을 둡니다. Liebman et al. 노래를 개별적으로 추천하지 않고 재생 목록을 권장하지 않는 음악 추천을 위한 새로운 보강 학습(reinforcement learning) 프레임 워크를 제안했습니다. Schedl은 [12]에서 음악 검색 및 추천을 위해 Last.fm의 120,000 명 이상의 사용자가 만든 10 억 건 이상의 음악 청취 이벤트의 LFM-1b 데이터 세트를 소개했습니다.


음악 추천 분야 외에도 깊은 학습을 통해 추천을받는 것은 많은 연구자들의 관심을 끌고 있습니다. Cheng et al. 추천 시스템을 위한 memorization 및 generalization 의 이점을 결합하기 위해 wide linear 모델과 DNN(deep neural networks)를 공동으로 학습했습니다. Wang et al. 긴밀하게 연결된 DNN와 협업 필터링(Collaborative Filtering)을 통해보다 효과적인 추천 시스템을 제시합니다. Zhou et al.는 관심 분포를 통해 사용자의 다양한 관심사를 표현하고 클릭률(click through rate)에 대한 더 나은 예측을하기 위해 Deep Interest Network를 제안했습니다.


본 논문에서는 음악 추천을위한 Field-aware Deep Embedding Network라는 신경 회로망의 구조를 소개합니다. GBDT를 보완하고 ensemble로 성능을 향상시킬 수 있습니다.


3. OVERALL FRAMEWORK AND FEATURE ENGINEERING

이 절에서는 먼저 우리 접근법의 전체 프레임 워크(Framework)를 제시하고 몇 가지 중요한 feature engineering 방법을 소개합니다.


3.1 Overall Framework

As described in the Introduction, we use an ensemble of FDENs and GBDTs. Since the data is time-sensitive, stacking ensemble and blending ensemble is not working well, so we use a relatively simple form of ensemble. The final score is a weighted average of predictions from the two kinds of models, i.e.,

소개에서 설명한 것처럼 FDEN과 GBDT의 ensemble을 사용합니다. 데이터가 시간에 민감하기 때문에, stacking ensemble과 blending ensemble이 잘 작동하지 않으므로 비교적 단순한 앙상블 형식을 사용합니다. 최종 스코어는 두 종류의 모델로부터의 예측의 weight 평균(average), 즉,



여기서 가중치(weight)는 공개 리더 보드의 점수에 따라 조정됩니다.


FDEN (즉, scoreFDEN)의 예측은 많은 네트워크의 산술 평균(mean)을 사용하는 bagging ensemble에서 발생합니다. 각 네트워크는 hyper parameter에 약간의 차이가 있습니다 (활성화 유형, 12 규칙화, 숨겨진 노드 수 포함) 레이어 등등. 게다가 우리는 ensemble에 더 많은 다양성을주기 위해 약간 다른 특징 세트로 모델을 훈련 시키려고 시도했다.


GBDT의 경우 hyperparameter 변수의 변경에 상대적으로 민감하지 않으므로 약간 다른 feature 세트가 있는 GBDT의 가중 평균(mean)을 사용하는 ensemble 만 사용합니다. 가중치는 공개 리더 보드를 기반으로 조정됩니다.


모델의 특성으로 인해 FDEN과 GBDT는 상당히 비상관적인(uncorrelated) 예측을 제공합니다. GBDT는 greedy method 이며 항상 head 흐름의 패턴을 캡처하고, 뒤에 있는 tree가 마침내 tail 흐름의 레코드에 맞을 수 있습니다. FDEN은 대조적으로 다양한 feature 조합을 탐색하므로 tail 흐름에서 패턴을 맞추는 것이 더 좋지만, head 흐름에서 기록에 대한 예측은 노이즈의 영향을받을 수 있습니다. 결과적으로, FDEN과 GBDT의 ensemble은 head 플로우와 tail 플로우를 잘 관리 할 수 ​​있으므로 훨씬 더 정확한 추천(recommendation)이됩니다.


3.2 Feature Engineering

여기서 우리가 사용하는 중요하고도 효과적인 몇 가지 feature을 설명합니다.


3.2.1 Conditional Probability / Expectation Features

음악 추천 시스템은 종종 user_id, song_id, language, city, artist_name 등과 같은 많은 categorical feautre 을 발전시킵니다. 하나의 feature가 주어지면 다른 feature의 조건부 확률(conditional probability)은 사용자, 노래 및 context 에 대한 풍부한 정보를 제공 할 수 있습니다.


예를 들어, P(source_type | user_id)는 사용자가 익숙한 진입점을 통해 노래를 청취했는지 여부를 나타낼 수 있습니다. P(source_type = album | user_id) 및 P(source_type = online-playlist | user_id)는 사용자의 습관을 묘사 할 수 있으며, 이는 사용자에 많은 영향을 미칩니다.


마찬가지로 numerical features에 대해 조건부 기대치를 Feature로 계산할 수 있으며, 조건부 표준 편차(standard deviations)가 도움이 될 수 있습니다. 예를 들어, E (song_length | user_id) 및 σ (song_length | user_id)는 사용자의 선호도 및 습관을 설명하는 데 사용될 수 있습니다.



3.2.2 SVD Features of Co-occurrence Matrices

소개에서 언급했듯이 데이터는 무작위가 아닌 missing 입니다. 따라서 co-occurrence 행렬에는 풍부한 정보가 포함되어 있습니다. 우리는 사용자-노래 co-occurrence matrix와 사용자-아티스트 co-occurrence matrix를 구성하고, SVD (Singularly Valuable Decomposition) 알고리즘을 사용하여 가장 중요한 구성 요소를 feature로 찾습니다. 특히, 사용자 -아티스트 matrix 에서 큰 값을 억제하기 위해, 다음 방정식으로 calibration이 채택됩니다.



여기서 cnt (사용자, 아티스트)는 사용자가 특정 아티스트의 노래를 처음 몇 번 들었는지 나타냅니다.


3.2.3. Timestamp Related Features

데이터는 시간순으로 정렬되므로 index를 타임 스탬프(timestamp)로 사용할 수 있습니다. 이 feature은 모델이 training set 내에서 오랜 시간 동안 pattern 진화를 찾도록 도울 수 있습니다. 또한, 우리는 첫 번째 관찰 가능한 청취 이벤트에 대한 기록과 관련하여 시간 창 내에서 사용자/노래 활동을 계산할 수 있습니다.


3.2.4 User Behavior Features

알고리즘은 첫 번째 리스닝 이벤트 이후에 적용되므로 사용자가 이벤트를 시작하기 전 후에 처음 들었던 노래를 얻을 수 있습니다. 이러한 feature을 사용하면 반복적인 청취 확률을 예측하는 데 중요한 사용자의 일시적인 관심사를 설명 할 수 있습니다.


4. FIELD-AWARE DEEP EMBEDDING NETWORKS

이 절에서는 제안된 Field-aware Deep Embedding Networks의 구조와 우리가 사용한 training 방법을 설명한다.



4.1 Overview of the Structure

제안 된 Field-aware Deep Embedding Network 의 개요는 그림 1에 설명되어 있습니다. 세부 사항은 생략되었습니다.


그림에서 "Batch Normalization을 사용한 Activation"[8]는 다음 transformation을 수행하는 레이어를 나타냅니다.



우리는 작업에서 다양한 활성화를 사용했습니다. 'Linear'은 linear transformation 만 수행하는 레이어를 의미하지만,



"Dot"레이어는 두 개 입력의 inner product(내적)을 계산합니다. 즉,



레이어 "Normalized Dot”은 두 개의 입력에 대해 cosine similarity(유사도)를 계산합니다. 즉,



4.2 Key Properties of the Network Structure

여기서 우리는 structure 에 관한 몇 가지 중요한 특성을 논의합니다.


4.2.1 Field-aware Connections

입력은 3개의 그룹, 즉 사용자 필드(user field), 노래 필드(song field) 및 컨텍스트 필드(context field)로 나누어집니다. 각 field의 구조는 서로 약간 다릅니다. High-level feature은 함께 연결되기 전에 추출됩니다. 이 방법을 사용하면 사용 가능한  parameter(매개 변수)의 수를 줄이고 예기치 않은 feature 조합을 방지 할 수 있습니다.


또한 field의 맨 아래에 몇 가지 connection이 있음을 알아야합니다. 예를 들어, 현재 청취 중인 노래(currently-listening)의 구성 요소와 사용자가 청취한 마지막 노래(last song)의 정규화된 내적 (즉, 코사인 유사성)을 계산합니다. 이러한 연결은 우리의 직관(intuitions)을 기반으로 구축됩니다.


4.2.2 Trainable Embeddings for Categorical Features

다차원 공간으로 맵핑할 수있는 Categorical feature에 대해 l2 정규화가 포함된 학습 가능한 embedding을 사용합니다. embeddings은 무작위로 초기화되고, 역전파(back-propagation)를 통해 학습됩니다. one-hot 인코딩과 비교할 때, 사용 가능한 parameter의 수를 줄일 수 있습니다. 후자의 계층에서 공유 가중치(shared weights)와 l2 정규화의 도움으로 일반화를 위한 더 나은 능력을 얻을 수 있습니다.


4.2.3 Offsets for Users

사용자 필드에서 최종 표현(final representations)은 사용자의 메타 데이터(metadata)를 기반으로 하는 것이 아닙니다. 우리는 최종 표현과 메타 데이터로부터 예측된 결과 사이의 오프셋을 허용합니다. l2 정규화의 도움으로, 모델은 사용자의 데이터가 충분하다면 targets 으로부터의 역전파가 더 의존적인 반면에, 그렇지 않다면 메타 데이터에 더 의존한다는 사실을 모델이 자동으로 학습할 수 있습니다.


우리는 또한 노래에 대한 offset 허용을 시도했지만, 노래에 대한 데이터가 훨씬 sparse 하기 때문에 거의 개선되지 않았습니다.


4.2.4 Dot Products for User-Song Pairs

내적(inner product)를 사용하면 너무 많은 free parameter 를 추가하지 않고도 더 나은 비선형성(nonlinearity)을 제공할 수 있습니다. 융합(convergence)을 고정하고 더 나은 결과를 얻을 수 있습니다. 몇몇의 연구는 또한 엘리먼트-와이즈 곱셈 (element-wise multiplication) 또는 외적(outer product)을 사용하는 것을 제안하지만, 오버 피팅 (overfitting)을 방지하기 위해서는 더 많은 데이터가 필요합니다.


4.2.5 Densely Connections at the Head Model

Densely Connected Convolutional Networks 에 영감을 받아, 세 필드의 출력이 연결되는 계층 다음에 Densely connections을 사용합니다. 밀도가 높은 연결은 head model에서 두 레이어 사이에 직접 연결을 도입하므로 더 많은 feature 재사용을 촉진하고, parameter 효율성을 향상시킬 수 있습니다.


4.3 Model Training

이 모델에서는 ρ = 0.9 인 RMSProp 알고리즘을 optimizer로 사용합니다. 학습률(learning rate)은 매 epoch 마다 고정 계수로 감소하는데, 다음과 같습니다.



GPU의 병렬 처리 능력을 최대한 활용하고 가능한 빨리 예측을 하기 위해 batch size(일괄 처리 크기)는 8192로 설정됩니다. batch normalization과 l2 regularization를 제외하고, output layer 전에 regularization(정규화)를 위해 dropout을 적용합니다. 드롭 아웃 비율은 0.5로 설정됩니다.


신경망은 초기화(initialization)에 민감하기 때문에 검증을 위해 안정적이고 반복 가능한 결과를 얻기 위해 bagging 앙상블을 사용합니다. 최상의 parameter는 random searching을 통해 local validation에 따라 선택됩니다.


ensemble의 다양성을 장려하기 위해 ReLU, LeakyReLU, PReLU, tanh 및 ELU를 비롯한 여러 가지 형태의 activation를 시도했습니다. 따라서 hidden units의 수 또한 그에 따라 변경됩니다.

.

GBDT(Gradient Boosting Decision Tree)는 가장 강력하고 일반적으로 사용되는 기계 학습 기술 중 하나로 널리 간주되며 XGBoost [2], pGBRT [19] 등을 포함하여 몇 가지 효과적인 구현이 있습니다. 이 논문에서는 Microsoft Research의 의사 결정 트리를 구현하는 매우 효율적인 그래디언트인 LightGBM [10]을 사용합니다. LightGBM은 GOSS (Gradient-based One-Side Sampling) 및 EFB (Exclusive Feature Bundling)를 통해 훈련 과정을 가속화하며 훨씬 적은 시간을 들여 거의 동일한 정확도를 달성할 수 있습니다.


신경망과는 달리 GBDT는 단 하나의 특징에 따라 트리 노드에서 데이터를 두 부분으로 나누기 때문에 어떤 선형 조합(linear combinations)이 도움이 될 수 있습니다. 우리는 직관에 기반한 특징의 선형 조합을 수행합니다. 이 외에도 FDEN 및 GBDT를 위한 features 은 거의 동일합니다.


ensemble 에 대한 다양성을 장려하기 위해 우리는 약간 다른 특징의 부분 집합을 가진 GBDT의 예측에 대한 가중 평균을 시도했습니다. 가중치는 공개 리더 보드를 기반으로 조정됩니다. 이 방법은 몇 가지 중요한 개선점을 제공합니다.


6. EXPERIMENTS

이 섹션에서는 먼저 dataset를 소개한 다음 유효성 검사(validation) 설정에 대해 설명합니다. 특징 선택 및 모델 튜닝 절차는 나중에 설명합니다. 평가 결과와 아티스트 삽입 시각화가 마지막으로 나열됩니다.


6.1 Dataset

KKBOX is the leading music streaming services in Asia. In this challenge, we conduct experiments using the do- nated dataset from KKBOX. Detailed information about the dataset is summarized in Table 1.

Based on the observation from competitors, the dataset covers quite a long range of time, i.e., the training set is from Aug. 2016 to Jan. 2017, and the testing set is from Jan. 2017 to Feb. 2017. During the time, many new users joined the ecosystem, and many new songs emerged. As a result, in the testing set, 7.20% records involve users that do not appear in the training set, 12.52% records involve songs that do not appear in the training set, and up to 18.90% records involve users or songs that do not appear in the training set. This phenomenon calls for effective feature engineering from the metadata and user-song co-occurrence.


KKBOX는 아시아 최고의 음악 스트리밍 서비스입니다. 이 과제에서 우리는 KKBOX의 주어진 데이터 세트를 사용하여 실험을 수행합니다. 데이터 세트에 대한 자세한 정보는 표 1에 요약되어 있습니다.



경쟁자의 관찰에 따르면, 데이터 세트는 상당히 긴 시간 범위를 다루고 있습니다. 즉, training set는 2016년 8월부터 2017년 1월까지이며 test set은 2017년 1월에서 2017년 2월까지입니다. 많은 새로운 사용자가 생태계에 가입하고, 많은 새로운 노래가 등장했습니다. 결과적으로 test set에서 7.20 %의 레코드에는 training set에 표시되지 않는 사용자가 포함되고, 12.52 %의 레코드에는 training set에 표시되지 않는 노래가 포함되며 최대 18.90 %의 레코드에는 사용자 또는 노래가  training set에 나타납니다. 이 현상은 메타 데이터와 사용자 노래의 동시 발생(co-occurrence)으로부터 효과적인 feature engineering을 요구합니다.


6.2 Validation Setup

앞서 언급했듯이 training set 및 testing set은 시간을 기준으로 분할되며 긴 시간 범위를 포괄합니다. 그러므로 우리는 그 패턴이 처음부터 끝까지 똑같이 있다고 가정 할 수 없습니다. 따라서 교차 유효성 검사는이 문제에 적합하지 않습니다.


데이터는 시간순으로 정렬되기 때문에 유효성 검사에 마지막 20 % 데이터를 사용하고 test set에 대한 예측을 생성합니다.


미래로부터 과거로의 정보 유출(leakage)을 줄이기 위해 유효성 검사를 위한 feature가 생성 될 때 training set 의 레코드 만 사용됩니다. 이렇게하면보다 안정적인 검증 결과를 얻을 수 있습니다.


6.3 Feature Selection and Model Tuning

Feature 선택을 위해 LightGBM에서 보고하는 feature importance를 사용합니다. 중요하지 않은 feature는 직접 삭제됩니다. 최상의 임계값(threshold)은 로컬 검증을 기반으로합니다. LightGBM의 최종 모델은 약 400 가지 feature을 사용하,며 대부분 SVD 구성 요소 및 조건부 확률 feature를 사용합니다. 사용자 노래 동시 발생 행렬(user-song co- occurrence matrix)의 처음 48 개 구성 요소를 사용하고, 처음 16 개 구성 요소는 사용자 아티스트 동시 발생 행렬(user-artist co-occurrence matrix)을 구성합니다.


The best hyperparameters are obtained by random searching on the validation set, and at the validation stage the learning rate for GBDTs is 0.53. When the predictions on testing set are generated, for LightGBM models, it takes about 8 to 10 hours for training with two Intel Xeon E5- 2650 v2 with a learning rate of 0.1, and about 40 minutes for prediction. For a single FDEN model, it takes about 8 to 20 minutes with an NVIDIA GeForce GTX 1080, depending on how large the model is. Prediction generation with FDEN takes less than 1 minute.

최고의 hyperparameters는 유효성 검사 세트에서 무작위 검색을 통해 얻은 것이며 유효성 검사 단계에서 GBDT의 학습률은 0.53입니다. 테스트 세트에 대한 예측이 생성되면 LightGBM 모델의 경우 학습 속도가 0.1 인 두 개의 Intel Xeon E5-2650 v2와 예측을위한 약 40 분의 학습으로 약 8-10 시간이 소요됩니다. 단일 FDEN 모델의 경우 모델의 크기에 따라 NVIDIA GeForce GTX 1080에서 약 8 ~ 20 분이 소요됩니다. FDEN을 이용한 예측 생성은 1 분 이내에 완료됩니다.


6.4 Evaluation Results

앞서 설명한 설정을 기반으로 testing set에 대한 실험을 수행합니다. 리더 보드의 결과는 표 2에 나열되어 있습니다. 단일 FDEN 모델 및 5-ensemble FDEN의 경우, 최상의 public 점수로 결과를 보고 합니다.



제안된 방법의 결과를 분석하기 전에 간단한 로지스틱 회귀 분석 결과를 기준으로 소개합니다. 이 방법은 user_id, song_id, source_system_tab, source_screen_name, source_type, city, gender, registered_via, artist_name, language 및 genre_id와 age 및 song_length와 같은 두 가지 숫자 feature를 포함하여 11 가지 범주 특성의 원 핫 인코딩 결과를 사용합니다. l2 정규화를위한 하이퍼 매개 변수는 로컬 유효성 검사를 기반으로 조정됩니다. 이 간단한 방법으로 private 리더 보드에 0.66735를, public 리더 보드에 0.66527을 제공하여 데이터 세트에 대한 더 나은 지식을 얻을 수 있습니다.

테이블에서, 우리는 하나의 FDEN이 상대적으로 열악한 결과를 얻는 반면, 5 개의 ensemble은 이미 상당한 향상을 줄 수 있음을 알 수 있습니다. 게다가 활성화, 노드 수, 정규화, 학습률 등을 포함한 하이퍼 매개 변수를 변경하면 FDEN 예측 간의 다양성을 높일 수 있으므로 다른 하이퍼 매개 변수를 사용하는 FDEN의 5 앙상블 결과를 능가합니다. 단일 모델이 조금 약할지라도 동일한 하이퍼 매개 변수를 갖는 FDEN의 5-ensemble 을 의미합니다. FDEN의 25-ensemble은 서로 다른 하이퍼 파라미터를 가진 5 ensemble의 5 ensemble이며, 이는 다른 randome seed으로 5 번 실험을 반복 한 다음 결과를 평균한다는 것을 의미합니다. 이렇게하면 비공개 리더 보드가 약 0.30 % 향상됩니다. 단일 모델과 비교할 때, 25-ensemble은 개인용 리더 보드에서 점수를 1.58 % 향상시킬 수 있습니다. 우리는 심지어 더 큰 ensemble 로 더 높은 점수를 얻을 수 있습니다.


hyperparameter는 단일 모델 성능에 최적화되어 있지 않으므로보다 강력한 정형화, 더 작은 배치 크기 및 학습 속도, 그리고 더 많은 획기적인 교육을 위해 더 큰 모델을 사용하면 단일 FDEN의 결과를 향상시킬 수 있습니다.


GBDT 모델의 경우 결과가 신경망에 비해 훨씬 더 안정적이며 하이퍼 매개 변수에 둔감하다는 것을 알 수 있습니다. 더 많은 다양성을 장려하기 위해 우리는 약간 다른 feature 세트로 모델을 학습해 보았습니다. 부분 집합 간의 차이점은 주로 Light-GBM의 보고서를 기반으로 중요도가 높은 일부 계수 기능입니다. 우리의 실험에 따르면, 약간 다른 특징 세트를 가진 GBDT의 3-ensemble은 단일 GBDT에 비해 약 0.15 %의 향상을 줄 수 있습니다.


평가 과정에서 FDEN과 GBDT의 예측은 매우 밀접한 관계가 있음을 발견했습니다. 예를 들어 FDEN의 25-ensemble 예측과 GBDT의 3-ensemble 예측 간의 상관 계수는 단지 0.9156에 불과합니다. AUC 점수가 0.74를 초과하는 것을 고려하면, 이것은 매우 작은 상관 계수입니다. 식 (1)을 사용하여 결과를 종합하면 GBDT의 3-ensemble 이상으로 0.41 % 향상되고 FDEN은 25-ensemble보다 1.02 % 향상됩니다.


마감 일 전에 제출 한 최고의 제출물은 공개 리더 보드에서 0.75001, 개인 리더 보드에서 0.74787로 경쟁에서 1 위를 차지했습니다. 가장 좋은 제출물은 서로 다른 feature 세트에 대한 더 많은 모델의 ensemble입니다.


7. CONCLUSION

이 글에서는 WSDM-KKbox의 Music Recommendation Challenge에 대한 접근 방식을 설명하였습니다. 우리는 feature engineering 과 함께 FDEN(Field-awre Deep Embedding Networks) 및 GDBT(Gradient Decision Boosting Tree)의 ensemble을 사용합니다. 두 가지 방법의 본질 덕분에 우리는 앙상블 이후에 매우 중요한 개선점을 얻었습니다.


도전 과제의 주요 목표는 제공된 데이터로 최상의 성능을 내는 것이므로 예측 생성을위한 계산 비용을 고려하지 않았습니다. 따라서 최종 예측은 많은 기본 모델을 기반으로 했습니다. 게다가 데이터가 시간에 민감하기 때문에 stacking ensemble과 blending ensemble 과 같은 supervised ensemble 방법이 더 나은 결과를 얻지 못함을 발견했습니다. 따라서 ensemble의 최종 프레임 워크는 비교적 간단합니다. FDEN과 GBDT 덕분에 개인 리더 보드에서 0.74787의 AUC 점수를 얻을 수있었습니다.


시간 제약으로 인해 우리는 AUC를 직접 최적화하는 많은 cross product features 과 방법을 시도하지 않았으므로 이 프레임 워크에서 추가 개선의 여지가 있어야 합니다. 연구의 또 다른 유망한 방법은 transfer 학습입니다. 데이터가 무작위로 누락되지 않으므로 첫 번째 청취 이벤트와 반복 청취 이벤트를 공동으로 예측하기 위해 신경 네트워크를 구축하면 몇 가지 추가 개선이 이루어질 수 있습니다



Comments