[論文レビュー] 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の固有値を持つ会社のメールドメインなどの高カーディナリティのカテゴリカル特徴量を、機械学習モデルの意味のある数値入力に変換する課題に対処すること。
- スパarsity、高次元性、および希少または未観測カテゴリへの一般化性能の低さといった、ワンホットエンコーディングなどの従来手法の限界を克服すること。
- リアルタイム推論と希少カテゴリへの一般化をサポートする、スケーラブルで計算的に効率的かつ統計的に妥当な符号化手法を開発すること。
- 多様なデータタイプおよびカーディナリティにおいて、実世界のリードスコアリングデータやPetFinderなどのベンチマークデータセットを対象に、手法の性能を評価すること。
- 共役ベイジアンモデルが、予測精度と計算効率の両面で向上するスタッキングアンサンブルモデルにおける有効なベースラーナーとして機能できることを示すこと。
提案手法
- 各カテゴリカル特徴量に対して、目的変数の分布に基づいて問題固有の共役事前分布(例:二値分類ではベータ分布、多項分布出力ではディリクレ分布)を適合させる。
- 観測データから得られる十分統計量を用いて、目的変数の共役尤度と事前分布を更新することで、各固有カテゴリ値ごとに解析的に後部分布を計算する。
- 各カテゴリの後部分布の平均(または最頻値)がその数値符号化として採用され、高カーディナリティの特徴量が低次元で密な表現に縮小される。
- これらの符号化結果が、スタッキングアンサンブルモデルにおけるメタラーナーの入力特徴量として使用され、ベースラーナーは変換済みデータ上で独立に学習される。
- 事前分布を活用することで、未観測カテゴリへの一般化が可能となり、希少または新規の値に対しても正則化機構として機能する。
- 符号化次元数がサンプルサイズやカーディナリティに依存しないため、ワンホットエンコーディングのような組み合わせ的爆発を回避でき、計算的に効率的である。
実験結果
リサーチクエスチョン
- RQ1共役ベイジアンモデルは、予測性能を保持するとともに、希少または未観測カテゴリへの一般化を可能にする高カーディナリティのカテゴリカル特徴量の符号化に有効に機能するか?
- RQ2大規模な実世界データセットにおいて、CBM符号化はワンホットエンコーディングやハッシュエンコーディングといった従来手法と比較して、精度、学習時間、スケーラビリティの面でどのように差をつけるか?
- RQ3希少カテゴリレベルの低サンプル状態において、共役事前分布の使用がモデルの一般化性能をどの程度向上させるか?
- RQ4データセットサイズや特徴量のカーディナリティが増加する際、特にスパースエンコーディング手法と比較して、計算効率が維持されるか?
- RQ5問題固有の共役事前分布(例:ベータ、GIG、ディリクレ)を体系的に選択することで、さまざまな機械学習タスクにおける性能を最大化できるか?
主な発見
- CBM符号化により、最大346,727の固有カテゴリを持つ実世界データセットにおいて、WeWorkのリードスコアリングモデルのAUCが0.87から0.97に向上した。
- scikit-learnのハッシュエンコーダーよりも100倍以上学習時間を短縮し、サンプルサイズが増加しても計算時間の上昇はわずかであった。
- PetFinderデータセットでは、GIGエンコーダーが重み付きkappaスコア0.3999を達成し、ハッシュエンコーディング(0.3777)やワンホットエンコーディング(0.3485)を上回ったが、次元数は低めであった。
- リードスコアリングデータセットでは、ベータエンコーダーがわずか5次元で92.53%の精度を達成し、ワンホットエンコーディング(91.62%)やハッシュエンコーディング(91.52%)よりも優れた性能を示したが、それらはより高い次元の入力を必要としていた。
- サンプルサイズが2,000から50,000に増加した際、CBM符号化の学習時間は1秒未満の増加にとどまったが、ワンホットエンコーディングはカーディナリティとスパarsityの上昇により、10秒から400秒以上にまで増加した。
- サンプルサイズが増加するにつれて、モデルの精度が向上した一方で、ワンホットエンコーディングは次元の呪いにより精度が低下する傾向を示した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。