Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
⽬的変数が異なるモデル間の stackingモデルについて
Search
Recruit Technologies
March 12, 2018
Technology
0
430
⽬的変数が異なるモデル間の stackingモデルについて
2018/03/08 経営情報学会「春季全国研究発表大会」での、羽鳥の発表資料になります
Recruit Technologies
March 12, 2018
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
700
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
160
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
230
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
1
16k
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
170
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
120
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
110
CRE Camp #1 エンジニアリングを民主化するCREチームでありたい話
mntsq
1
120
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
960
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.2k
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
440
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Raft: Consensus for Rubyists
vanstee
140
7k
Code Reviewing Like a Champion
maltzj
524
40k
How to train your dragon (web standard)
notwaldorf
95
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Adopting Sorbet at Scale
ufuk
77
9.5k
GitHub's CSS Performance
jonrohan
1031
460k
Optimizing for Happiness
mojombo
379
70k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Producing Creativity
orderedlist
PRO
346
40k
Making Projects Easy
brettharned
116
6.3k
Transcript
⽬的変数が異なるモデル間の stackingモデルについて 株式会社リクルートテクノロジーズ ⽻⿃ 冬星 (C) Recruit Technologies Co.,Ltd. All
rights reserved. 1
アジェンダ • 背景と課題 • リクルートの事業内容について • 予測モデルについて • 関連研究 •
n-fold stakingモデル • 提案⼿法 • ⽬的変数が異なるモデル間のstackingモデル • 数値実験 • まとめ (C) Recruit Technologies Co.,Ltd. All rights reserved. 2
リクルートの事業内容について ライフイベント領域 進学 就職 結婚 転職 住宅購⼊ ⾞購⼊ 出産/育児 旅⾏
ビジネス⽀援 ⽣活/地域情報 グルメ・美容 ライフスタイル領域 (C) Recruit Technologies Co.,Ltd. All rights reserved. 4
リクルートの事業内容について ライフイベント領域 進学 就職 結婚 転職 住宅購⼊ ⾞購⼊ 出産/育児 旅⾏
ビジネス⽀援 ⽣活/地域情報 グルメ・美容 ライフスタイル領域 選択・意思決定を⽀援する情報サービスを提供し、 「まだ、ここにない、出会い。」を実現する。 (C) Recruit Technologies Co.,Ltd. All rights reserved. 4
• リクルートテクノロジーズは、リクルートグループのIT・ネット マーケティング領域のテクノロジー開発を担う会社 • その中でもデータイノベーション推進部はデータにまつわるソ リューションで事業課題を解決している (C) Recruit Technologies Co.,Ltd.
All rights reserved. 5 リクルートの事業内容について
様々な予測モデルが⽇々運⽤されている • 広告コストを最適配分したい:応募数予測モデル " 広告コスト, ⼟⽇フラグ, 当⽉祝⽇数, ⋯ ⟹ 応募数
• 3カ年計画を精緻に策定したい:⻑期売上予測モデル & 昨々々年売上, 昨々々年予約数, 来⽉予約数 ⋯ ⟹ 3年後売上 • ログインなしユーザーの属性を判定したい:属性判定モデル ( 閲覧時間(ページ),閲覧時間(ページ), 訪問時間帯 ⋯ ⟹ 性別 • あるactionに対してユーザーのCVを予測したい:CV予測モデル - " , & , ⋯ ⟹ (C) Recruit Technologies Co.,Ltd. All rights reserved. 6
CV予測モデル-概要 •action : 施策 • ディスプレイ広告の投下、求⼈情報誌への掲載など、こちら の⾏動 •CV : コンバージョン
• クリック、会員登録、応募など、ユーザーがこちらが⽬指す 何かを達成すること • 以下CVと略す (C) Recruit Technologies Co.,Ltd. All rights reserved. 7
CV予測モデル-概要 (C) Recruit Technologies Co.,Ltd. All rights reserved. 8 action:
広告配信 CV: 購⼊ action: 雑誌掲載 CV: 応募 action: メール配信 CV:開封
CV予測モデル-特徴 「精度⽬標」と「⽬的変数における時間制約」 (C) Recruit Technologies Co.,Ltd. All rights reserved. 9
CV予測モデル-特徴 「精度⽬標」と「⽬的変数における時間制約」 (C) Recruit Technologies Co.,Ltd. All rights reserved. 10
• ビジネス要件として、限界まで精度向上を⽬指すことがしばしばある。 • ⼤規模システムに実装するロジックとなると、1%の精度改善が⼤き な⾦額規模に跳ね返ってくる。 • その結果精度⽬標はしばしば厳しいものに
CV予測モデル-特徴 「精度⽬標」と「⽬的変数における時間制約」 (C) Recruit Technologies Co.,Ltd. All rights reserved. 11
• CVの「有無」を当てるだけではなく、「それがいつ起こるのか」を当て ることも同時に求められる
CV予測モデル-時間制約が求められる例 • モデル概要:広告の⽂⾔、時給、勤務地などから応募があるかを予 測するモデル • 使い⽅:顧客が時給などを変えつつ、応募有無の変化をシミュレー トする • ×「この時給ならいつかは応募がありそうです」 •
◯「この時給なら1週間以内に応募がありそうです」 (C) Recruit Technologies Co.,Ltd. All rights reserved. 12
CV予測モデル-⽬的変数の時間制約 • 求⼈誌の掲載モデル • action : ある店舗の求⼈情報が求⼈誌に掲載開始 • CV :
雑誌を⾒た⼈が応募してくる • CVの「有無」と「時期」で下記のように整理できる (C) Recruit Technologies Co.,Ltd. All rights reserved. 13 期間内 期間外 CV有り 1週間以内にCV 1週間以降にCV CV無し 1週間以内に掲載落ち (他社CV) 1週間以降に掲載落ち (他社CV)
CV予測モデル-⽬的変数の時間制約 • モデルの⽬的変数(以下yとして表現)として設定されるのは単純なCV 有無だけではない (C) Recruit Technologies Co.,Ltd. All rights
reserved. 14 期間内 期間外 CV有り 1週間以内にCV 1週間以降にCV CV無し 1週間以内に掲載落ち (他社CV) 1週間以降に掲載落ち (他社CV) y=1 • 単純な構造を持つ⽬的変数 y=0
CV予測モデル-⽬的変数の時間制約 • モデルの⽬的変数(以下yとして表現)として設定されるのは単純なCV 有無だけではない (C) Recruit Technologies Co.,Ltd. All rights
reserved. 15 期間内 期間外 CV有り 1週間以内にCV 1週間以降にCV CV無し 1週間以内に掲載落ち (他社CV) 1週間以降に掲載落ち (他社CV) • 単純な構造を持つ⽬的変数 y=1 y=0
CV予測モデル-⽬的変数の時間制約 • モデルの⽬的変数(以下yとして表現)として設定されるのは単純なCV 有無だけではない • CVの有無に加えて、それが設定された期間内に発⽣したかも考慮す ることが多い (C) Recruit Technologies
Co.,Ltd. All rights reserved. 16 期間内 期間外 CV有り 1週間以内にCV 1週間以降にCV CV無し 1週間以内に掲載落ち (他社CV) 1週間以降に掲載落ち (他社CV) y=1 y=0 • 複雑な構造を持つ⽬的変数 y=0
CV予測モデル-⽬的変数の時間制約 • 単純なCV有無よりは複雑な構造を持つ⽬的変数となる • CV有無を⽬的変数とするとauc0.8を超えるモデルでも、時 間制約を⼊れて⽬的変数を構成するとauc0.6を下回る事例 も・・・ üこのような時間制約があるCVの予測難度は⾼い。しかし、ビ ジネス要件で⾼精度が求められることも多い。 (C)
Recruit Technologies Co.,Ltd. All rights reserved. 17
CV予測モデル • 課題: • ⾼難度な、時間制約があるCVを予測する問題に対しても、 ⾼精度なモデルを構築する • ⼿段: 1. 特徴量・アルゴリズムを作り込む
2. アンサンブルモデルを使う (C) Recruit Technologies Co.,Ltd. All rights reserved. 18
CV予測モデル • 課題: • ⾼難度な、時間制約があるCVを予測する問題に対しても、 ⾼精度なモデルを構築する • ⼿段: 1. 特徴量・アルゴリズムを作り込む
2. アンサンブルモデルを使う (C) Recruit Technologies Co.,Ltd. All rights reserved. 19 • 特徴量を作り込んだり、アルゴリズムを検討することが第⼀にするべき こと • これで精度⽬標を達成できればそれでよし
CV予測モデル • 課題: • ⾼難度な、時間制約があるCVを予測する問題に対しても、 ⾼精度なモデルを構築する • ⼿段: 1. 特徴量・アルゴリズムを作り込む
2. アンサンブルモデルを使う (C) Recruit Technologies Co.,Ltd. All rights reserved. 20 • それでも精度⽬標を達成できない場合には、複数のモデルのアンサンブ ルで精度向上を狙えることもある • 劇的な精度向上というよりも、限界まで特徴量・アルゴリズムを詰めた あとの最後のひと押し
アンサンブルについて • 複数の学習器を組み合わせることで予測誤差を⼩さくする⼿法を アンサンブルという • 以下の⼿法が有名 • 平均や多数決を取るvoting • 前段の学習器の誤りを反映して次段の学習器を作成する
boosting • 初段の学習器の出⼒結果を次段の⼊⼒結果とするstacking • 代表的なアルゴリズムはn-fold stacking • 次スライド以下でアルゴリズム内容を説明 (C) Recruit Technologies Co.,Ltd. All rights reserved. 21
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 教師データをcross validationのように分割する(この例だと3-fold) (C) Recruit Technologies Co.,Ltd. All rights reserved. 22 training data: 学習に⽤いるデータ holdout: 学習には⽤いず、 最後の精度検証に⽤ いるデータ
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 ⼀つのfoldを除いて学習し、初段モデルをたくさんつくる(コンペだと100以上作ることも珍しくない) 学習 モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-2 rf モデル1-1 svm (C) Recruit Technologies Co.,Ltd. All rights reserved. 23
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 取り除いておいたfoldの説明変数を初段モデルに投⼊し、予測値を算出する 学習 モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-2 rf モデル1-1 svm 予測 モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm 予測値1-2 rf 予測値1-1 svm (C) Recruit Technologies Co.,Ltd. All rights reserved. 24
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 取り除いておいたfoldの説明変数を初段モデルに投⼊し、各モデルの予測値を新たな説明変数とする この例だと6つの変数が増える 予測値1-2 rf 予測値1-1 svm 予測値1-6 xgb … (C) Recruit Technologies Co.,Ltd. All rights reserved. 25
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 他のfoldについても同じように予測値を算出する 予測値1-2 rf 予測値1-1 svm 予測値1-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値3-2 rf 予測値3-1 svm 予測値3-6 xgb … (C) Recruit Technologies Co.,Ltd. All rights reserved. 26
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 holdoutについても同じように予測値をくっつけたい 予測値1-2 rf 予測値1-1 svm 予測値1-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値3-2 rf 予測値3-1 svm 予測値3-6 xgb … ? (C) Recruit Technologies Co.,Ltd. All rights reserved. 27
holdout holdout さっき学習したモデルにholdoutを投⼊して、予測値を算出する モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1
svm モデル1-2 rf モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル2-2 rf モデル2-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル3-2 rf モデル3-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm 予測値1-2 rf 予測値1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm 予測値2-2 rf 予測値2-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm 予測値3-2 rf 予測値3-1 svm 学習済みモデル群 (C) Recruit Technologies Co.,Ltd. All rights reserved. 28
holdout holdout foldの分だけ、予測値が出て来る→平均をとって⼀つにする 予測データ群 予測値 h1-2 rf 予測値 h1-1 svm
予測値 h1-6 xgb … 予測値 h2-2 rf 予測値 h2-1 svm 予測値 h2-6 xgb … 予測値 h3-2 rf 予測値 h3-1 svm 予測値 h3-6 xgb … 予測値 h-2 rf 予測値 h-1 svm 予測値 h-6 xgb … モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル2-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル1-1 svm モデル3-1 svm (C) Recruit Technologies Co.,Ltd. All rights reserved. 29
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 完成したデータセットの様⼦ 予測値1-2 rf 予測値1-1 svm 予測値1-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値h-2 rf 予測値h-1 svm 予測値h-6 xgb … (C) Recruit Technologies Co.,Ltd. All rights reserved. 30
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 完成したデータセットを次段のモデルで学習 予測値1-2 rf 予測値1-1 svm 予測値1-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値h-2 rf 予測値h-1 svm 予測値h-6 xgb … 次段のモデルで学習 (C) Recruit Technologies Co.,Ltd. All rights reserved. 31
fold 1 fold 2 fold 3 y1 y2 y3 x1
training data holdout holdout x2 x3 学習した次段モデルで予測 予測値1-2 rf 予測値1-1 svm 予測値1-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値2-2 rf 予測値2-1 svm 予測値2-6 xgb … 予測値h-2 rf 予測値h-1 svm 予測値h-6 xgb … 次段のモデルで学習 次段のモデルで予測 予測値 (C) Recruit Technologies Co.,Ltd. All rights reserved. 32
n-fold stackingの利点と問題点 • 利点 • 初段のモデルによって⾮線形性が緩和される • 説明変数の[0, 1]への変換 •
精度向上 • 問題点 • 初段のモデルの精度が悪いと次段も良くならない • 本研究で対象とする時間制約付きCV予測問題は、初段 の予測精度が悪いことがしばしばある • そのためstackingをしても精度が上がらないことがある (C) Recruit Technologies Co.,Ltd. All rights reserved. 33
fold 1 y1 (時間制約 付きCV) x1 時間制約付きCV予測問題における n-fold stacking 予測値1-2
rf 予測値1-1 svm 予測値1-6 xgb … (C) Recruit Technologies Co.,Ltd. All rights reserved. 34 )(0 )( )(0 1 )( 1 1. ⽬的変数は、「期間内にCVしたか否か」 • 問題としては難しい • 「CV有無」は個体差が結構あるが、「30⽇⽬に CV」と「31⽇⽬にCV」の個体差はそれほどない
fold 1 y1 (時間制約 付きCV) x1 時間制約付きCV予測問題における n-fold stacking 予測値1-2
rf 予測値1-1 svm 予測値1-6 xgb … (C) Recruit Technologies Co.,Ltd. All rights reserved. 35 2. 得られたモデルの予測精度が低いと、 説明変数として有効に機能せず、 全体の精度向上に寄与しない
提案⼿法-⽬的変数が異なるモデル間のstackingモデル • これらの問題点を踏まえ、「⽬的変数が異なるモデル間のstacking モデル」を提案する • 概要 • 初段⽬的変数:CV有無 • 次段⽬的変数:時間制約付きCV有無
(C) Recruit Technologies Co.,Ltd. All rights reserved. 36 )(0 )( )(0 1 )( 1 )(0 )( )(0 1 )( 1 ・時間制約付きCV有無 ・CV有無
提案⼿法-⽬的変数が異なるモデル間のstackingモデル (C) Recruit Technologies Co.,Ltd. All rights reserved. 37
)(0 )( )(0 1 )( 1 初段の⽬的変数 : 時間制約付きCV 次段の⽬的変数: 時間制約付きCV n-fold stacking(既存⼿法) )(0 )( )(0 1 )( 1 特徴量化 初段の⽬的変数 : 時間制約無しCV 次段の⽬的変数: 時間制約付きCV 提案⼿法 )(0 )( )(0 1 )( 1 特徴量化 )(0 )( )(0 1 )( 1
提案⼿法-期待される効果 • stackingした特徴量の意味が変わる • 既存⼿法ではstackingした特徴量はそれ単独で時間制約付き CVを当てようとするもの → ⽬的変数に対しては直接的だが、確度が低い • 提案⼿法ではstackingした特徴量はCV有無だけを当てよう
とするもの → ⽬的変数に対しては間接的だが、確度が⾼い • 提案⼿法で作成した特徴量は、直接的に⽬的変数を予測するも のでは無いものの、⼀特徴量としてはある程度有効であること が予想される (C) Recruit Technologies Co.,Ltd. All rights reserved. 38
数値実験-使⽤したデータ 以下では数値実験の結果を⽰す • 使⽤データ • ⾏数:186万⾏ • 列数:151列 • 前処理(質的変数):one-hot
encoding • 前処理(⽋損処理):0を代⼊し、⽋損有無をフラグ変数化 • 時間制約付きCVを⽬的変数として持つデータ • 単純なn-fold stackingは効果なし • 単⼀モデルと提案⼿法の精度⽐較を⾏う • 評価指標:auc (C) Recruit Technologies Co.,Ltd. All rights reserved. 39
数値実験-モデル詳細 • 提案⼿法の初段で使⽤するアルゴリズム • ⽊のモデルと線形モデルの代表的なアルゴリズムを選定 (C) Recruit Technologies Co.,Ltd. All
rights reserved. 40 アルゴリズム ハイパーパラメータ XGBoost learning rate = 0.01 XGBoost learning rate = 0.06 XGBoost learning rate = 0.1 XGBoost learning rate = 0.3 Elastic Net α=0 (Ridge) Elastic Net α=0.5 Elastic Net α=1 (lasso)
数値実験-モデル詳細 • 次段で使⽤するアルゴリズム • できるだけ多様なアルゴリズムを選定 • ナイーブベイズ • ロジスティック回帰 •
SVM • ランダムフォレスト • XGBoost (C) Recruit Technologies Co.,Ltd. All rights reserved. 41
数値実験-結果 (C) Recruit Technologies Co.,Ltd. All rights reserved. 42 アルゴリズム
⼿法 validationスコア holdoutスコア ナイーブベイズ 単⼀モデル 0.6166 0.6088 ナイーブベイズ 提案⼿法 0.6434 0.6417 ロジスティック回帰 単⼀モデル 0.6849 0.6769 ロジスティック回帰 提案⼿法 0.6867 0.6798 SVM 単⼀モデル 0.6889 0.68 SVM 提案⼿法 0.6928 0.6853 ランダムフォレスト 単⼀モデル 0.6869 0.6789 ランダムフォレスト 提案⼿法 0.6894 0.6827 XGBoost 単⼀モデル 0.6987 0.6884 XGBoost 提案⼿法 0.695 0.6862 • XGBoost以外は精度向上効果あり • ナイーブベイズは特に⼤きく向上 • ランダムフォレストは特にholdoutの精度向上が⼤きい
まとめ • 企業における予測モデルのうち、CV予測問題は精度向上が課題 になる場合がある。 • 精度向上のためにアンサンブルを⾏うこともあるが、時間制約 が付いたCVの精度向上は厳しいことも多い。 • 時間制約付きCV予測問題に対して、⽬的変数が異なるモデル間 のstackingモデルを提案した。
• 実データを⽤いて数値実験を⾏い、複数のアルゴリズムにおい て提案⼿法の有効性が確認された。 (C) Recruit Technologies Co.,Ltd. All rights reserved. 43