[논문 리뷰] Encoding Categorical Variables with Conjugate Bayesian Models for WeWork Lead Scoring Engine
이 논문은 머신러닝에서 고카디널리티 카디널리티 변수를 처리하기 위해 WeWork의 리드 스코링 엔진을 위해 공액 베이지안 모델(CBM) 인코딩 기법을 제안한다. 이 방법은 문제에 특화된 공액 사전분포(예: 이元 분류의 경우 베타 분포)를 사용하여, 관측 데이터의 충분통계량을 활용해 분석적으로 사후분포를 갱신함으로써 카테고리 변수를 저차원 수치 인코딩으로 변환한다. 이로 인해 훈련 속도가 10배 향상되었고, 최대 346,727개의 고유한 카테고리가 있는 실제 데이터에서 AUC가 0.87에서 0.97로 향상되었다.
Applied Data Scientists throughout various industries are commonly faced with the challenging task of encoding high-cardinality categorical features into digestible inputs for machine learning algorithms. This paper describes a Bayesian encoding technique developed for WeWork's lead scoring engine which outputs the probability of a person touring one of our office spaces based on interaction, enrichment, and geospatial data. We present a paradigm for ensemble modeling which mitigates the need to build complicated preprocessing and encoding schemes for categorical variables. In particular, domain-specific conjugate Bayesian models are employed as base learners for features in a stacked ensemble model. For each column of a categorical feature matrix we fit a problem-specific prior distribution, for example, the Beta distribution for a binary classification problem. In order to analytically derive the moments of the posterior distribution, we update the prior with the conjugate likelihood of the corresponding target variable for each unique value of the given categorical feature. This function of column and value encodes the categorical feature matrix so that the final learner in the ensemble model ingests low-dimensional numerical input. Experimental results on both curated and real world datasets demonstrate impressive accuracy and computational efficiency on a variety of problem archetypes. Particularly, for the lead scoring engine at WeWork -- where some categorical features have as many as 300,000 levels -- we have seen an AUC improvement from 0.87 to 0.97 through implementing conjugate Bayesian model encoding.
연구 동기 및 목표
- 346,727개의 고유한 값이 있는 기업 이메일 도메인과 같은 고카디널리티 카디널리티 특징을 머신러닝 모델이 이해할 수 있는 의미 있는 수치 입력으로 변환하는 데 도전한다.
- 일반적인 인코딩 방법인 원핫 인코딩의 한계를 극복한다. 이는 희박성, 고차원성, 희귀 또는 미사용된 카테고리에 대한 일반화 능력 부족으로 인해 문제가 된다.
- 실시간 추론과 희귀 카테고리에 대한 일반화를 지원하는 확장성 있고 계산적으로 효율적이며 통계적으로 타당한 인코딩 방법을 개발한다.
- 다양한 데이터 유형과 카디널리티에서의 성능을 평가하며, 실제 리드 스코링 데이터와 PetFinder와 같은 벤치마크 데이터셋을 포함한다.
- 공액 베이지안 모델이 스태킹 앙상블 모델의 기본 학습기로 효과적으로 기능할 수 있음을 보여주며, 예측 정확도와 계산 효율성을 향상시킨다.
제안 방법
- 각 카디널리티 특징에 대해, 목표 변수의 분포를 기반으로 문제에 특화된 공액 사전분포(예: 이원 분류의 경우 베타 분포, 다항 결과의 경우 딜리클레 분포)를 적합한다.
- 관측된 데이터로부터의 충분통계량을 사용해 사전분포를 목표 변수의 공액 가능도와 함께 갱신함으로써 분석적으로 사후분포를 계산한다.
- 각 카테고리 값에 대해 도출된 사후분포의 평균(또는 최빈값)이 해당 카테고리의 수치 인코딩이 되며, 이로 인해 고카디널리티 특징이 저차원이고 밀집된 표현으로 압축된다.
- 이러한 인코딩은 스태킹 앙상블 모델의 메타러너에 입력 특징으로 사용되며, 기저 학습기는 변환된 데이터에서 별도로 훈련된다.
- 사전분포를 활용해 희귀하거나 새로운 값에 대한 일반화를 가능하게 하며, 이는 희귀 또는 신규 값에 대한 정규화 메커니즘으로 작용한다.
- 이 방법은 계산적으로 효율적이며, 샘플 크기나 카디널리티에 관계없이 인코딩 차원이 일정하게 유지되어, 원핫 인코딩의 조합 폭발을 피할 수 있다.
실험 결과
연구 질문
- RQ1공액 베이지안 모델은 예측 성능를 유지하면서도 희귀 또는 미사용된 카테고리에 대한 일반화를 가능하게 하며, 고카디널리티 카디널리티 특징을 효과적으로 인코딩할 수 있는가?
- RQ2대규모 실제 데이터셋에서 기존의 방법(예: 원핫, 해싱 인코딩)과 비교했을 때 CBM 인코딩의 정확도, 훈련 시간, 확장성은 어떻게 되는가?
- RQ3희귀 카디널리티 수준의 저표본 영역에서 공액 사전분포의 사용이 모델 일반화 능력을 얼마나 향상시키는가?
- RQ4데이터셋 크기와 특징의 카디널리티가 증가함에 따라 이 방법은 희박 인코딩 기법과 비교해도 계산 효율성을 유지하는가?
- RQ5문제에 특화된 공액 사전분포(예: 베타, GIG, 딜리클레)를 체계적으로 선택하면 다양한 머신러닝 작업에서 성능을 최적화할 수 있는가?
주요 결과
- CBM 인코딩은 카디널리티가 최대 346,727개에 이르는 실제 데이터셋에서 WeWork의 리드 스코링 모델의 AUC를 0.87에서 0.97로 향상시켰다.
- scikit-learn의 해싱 인코더보다 훈련 시간을 100배 이상 단축시켰으며, 샘플 크기가 증가함에 따라 계산 시간 증가 폭이 미미했다.
- PetFinder 데이터셋에서 GIG 인코더는 차원 수가 낮음에도 불구하고 해싱 인코딩(0.3777)과 원핫 인코딩(0.3485)을 능가하는 가중 카파 스코어 0.3999를 기록했다.
- 리드 스코링 데이터셋에서 베타 인코더는 단지 5차원으로 92.53%의 정확도를 달성했으며, 더 높은 차원의 입력을 사용한 원핫(91.62%) 및 해싱(91.52%) 인코더보다 뚜렷이 뛰어났다.
- 샘플 크기가 2,000에서 50,000으로 증가할 때 CBM 인코딩의 훈련 시간은 1초 미만으로 증가했지만, 원핫 인코딩은 카디널리티와 희박성 증가로 인해 10초에서 400초 이상으로 증가했다.
- 샘플 크기가 증가함에 따라 정확도가 향상되는 것으로 나타났으며, 반면 원핫 인코딩은 차원의 저주로 인해 정확도 저하를 겪었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.