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
710
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
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.6k
JOAI発表資料 @ 関東kaggler会
joai_committee
1
260
DeNA での思い出 / Memories at DeNA
orgachem
PRO
3
1.5k
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
660
浸透しなさいRFC 5322&7208
hinono
0
120
あなたの知らない OneDrive
murachiakira
0
230
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
4
210
夢の印税生活 / Life on Royalties
tmtms
0
280
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
280
[CV勉強会@関東 CVPR2025 読み会] MegaSaM: Accurate, Fast, and Robust Structure and Motion from Casual Dynamic Videos (Li+, CVPR2025)
abemii
0
190
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
5
520
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.1k
Practical Orchestrator
shlominoach
190
11k
Embracing the Ebb and Flow
colly
87
4.8k
BBQ
matthewcrist
89
9.8k
Docker and Python
trallard
45
3.5k
Writing Fast Ruby
sferik
628
62k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Automating Front-end Workflow
addyosmani
1370
200k
For a Future-Friendly Web
brad_frost
179
9.9k
Designing Experiences People Love
moore
142
24k
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