アンサンブル木モデル解釈のための
モデル簡略化法
原 聡
(大阪大学 産業科学研究所)
林 浩平
(産業技術総合研究所)
1
論文とコード
n Satoshi Hara and Kohei Hayashi. Making Tree Ensembles Interpretable: A
Bayesian Model Selection Approach. AISTATS'18 (to appear).
• arXiv ver.: https://arxiv.org/abs/1606.09066#
n GitHub
• https://github.com/sato9hara/defragTrees
2
背景(1):機械学習で得られた予測を人の意思決定に使いたい。
n 機械学習モデルの予測精度は年々高まっている。SVM→Boosting→Deep
• Kaggleなどの予測コンペではBoostingやDeep Learningがよく使われている。
n 機械学習で得られた予測を人の意思決定に使いたい。
• 売り上げ予測に基づく経営戦略の立案、製品の在庫需要予測に基づく製造計画の
策定など。
n しかし、機械学習の予測はブラックボックス。意思決定に使いづらい。
• 機械学習モデルからは予測値だけが得られる。どのような経緯でその予測値が得ら
れたかは不明なことが多い。
• 機械学習モデルを解釈したい。予測を人が理解できるようにしたい。
- モデルがどのような経緯で予測値を出したか知りたい。
- 「来週の気温は高いのでアイスの売り上げ増が見込める。」
- モデルが適切に学習されているか確認したい。
- 実用上役に立たないはずの特徴量が偶然予測モデルに組み込まれてしまうのを防ぎたい。
- KDD Cup’08で優勝したモデルは「患者ID」と「癌の予測」を結びつけた不適切なモデル。
3
背景(2) :モデルを解釈したい。でも予測精度は落としたくない。
n 解釈可能な機械学習モデルは一般に予測精度が高くない。
• 線形モデルや決定木が解釈可能なモデルとして一般に使われている。しかし、これ
らのモデルは予測精度が低い傾向がある。
• 決定木を拡張して、解釈性と予測精度を
両立させようという研究が多い。
(e.g., Eto et al., AISTATS’14, Wang et al., KDD’15)
n 解釈性のために予測精度を犠牲にしたくない。
• 意思決定のためには精度の高い予測が不可欠。
• 予測精度を犠牲にしたくない。
4
解釈性
予測精度
トレードオフ:
予測精度を犠牲に
解釈性を向上させ
る。
解釈性
予測精度
目指したいのはここ
本研究:ブラックボックスな機械学習モデルを事後的に解釈する。
n 従来研究:モデルを工夫して、解釈性-予測精度のトレードオフを改善する。
n 本研究:予測精度の高いブラックボックスモデルを学習してから、それを解釈する
ための解釈用のモデルを作る。
• 単一のモデルでトレードオフを改善するのでなく、予測用と解釈用でモデルを使い分
ける。
n 本研究では予測モデルとして特にアンサンブル木モデルを対象とする。
• アンサンブル木モデルはBoostingの代表例。(e.g., Random Forests, Boosted Trees)
• 複数の決定木を組み合わせて予測するモデル。XGBoostが有名。
5
解釈性
予測精度
解釈性
予測精度
ステップ1:
解釈性を度外視して
予測精度の高いモデ
ルを学習する。
ステップ2:
モデルを解釈するため
の解釈用モデルを作
る。
予測用の
モデル
解釈用の
モデル
なぜアンサンブル木? → 最も使われているモデルだから
n 2016年のKaggleコンペで一番使われたのがXGBoost。
• ちなみに二番はKeras(deep learning)
n MicrosoftのLightGBMも有名。
n 一方、XGBoostなどを使っている
ユーザからは解釈性が低いのが課題、
という声も上がっている。
n XGBoostなどアンサンブル木の解釈性を
向上することでデータサイエンティスト
の分析業務をより効果的にしたい。
6
Kaggleブログより
アンサンブル木
アンサンブル木
【参考】アンサンブル木モデル
n 決定木:ルールに従って入力xの属する領域を決定し、その領域に対応した予測
値を返すモデル。解釈性が高い。
n アンサンブル木:複数の決定木を組みわせる手法。
• 少しずつ異なる決定木の足し算(平均)や多数決で予測値を出力する。
7
x1 > 0.5
x2 > 0.5
y=0 y=1
x2 > 0.5
y=1 y=0
no yes
no yes no yes
y = XOR(x1 < 0.5, x2 < 0.5) + ✏
y=0.1 y=1.0 y=0.8 y=0.1
no yes
no yes no yes
y=0.1 y=0.9 y=1.1 y=0.0
no yes
no yes no yes
y=0.2 y=0.9 y=1.1 y=0.3
no yes
no yes no yes
+ + = 1.0
x1= 0.2, x2=0.8の
場合の例x1>0.4
x2>0.3 x2>0.7
x1>0.6
x2>0.4 x2>0.5
x2>0.5
x1>0.4 x1>0.7
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• 実験設定
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 8
研究目的:アンサンブル木モデルの予測ルールを解釈する。
n アンサンブル木モデルは予測精度が高く、各種コンペで広く使われている。
• 複数の決定木を生成し、それらの予測値の平均を最終予測とするモデル。
n 提案法イメージ:
9
y = XOR(x1 < 0.5, x2 < 0.5) + ✏
各領域が予測ルールに対応。
『入力xが領域Rに入ったら予
測値zを返す。』
アンサンブル木は領域が細分化
されている。数千個の領域(予測
ルール)を解釈するのは困難。
R
細分化されたモデルを少数の領
域(予測ルール)で近似、簡略化
すればモデルを解釈できる。
提案法
研究目的:アンサンブル木モデルの予測ルールを解釈する。
n アンサンブル木モデルは予測精度が高く、各種コンペで広く使われている。
• 複数の決定木を生成し、それらの予測値の平均を最終予測とするモデル。
n 提案法イメージ:
10
各領域が予測ルールに対応。
『入力xが領域Rに入ったら予
測値zを返す。』
アンサンブル木は領域が細分化
されている。数千個の領域(予測
ルール)を解釈するのは困難。
細分化されたモデルを少数の領
域(予測ルール)で近似、簡略化
すればモデルを解釈できる。
提案法
R
課題:簡略化モデルの領域数を適切に決める必要がある。
n 課題1: 簡略化モデルの領域数を適切に決める。
• 領域が少なすぎると、データの重要な側面を見落としてしまう恐れがある。
• 領域が多すぎると、解釈が困難になる。
n 課題2: 領域数をできる限り少なく絞った上で、予測精度はできる限り保つ。
11
課題:簡略化モデルの領域数を適切に決める必要がある。
n 課題1: 簡略化モデルの領域数を適切に決める。
• 領域が少なすぎると、データの重要な側面を見落としてしまう恐れがある。
• 領域が多すぎると、解釈が困難になる。
n 課題2: 領域数をできる限り少なく絞った上で、予測精度はできる限り保つ。
12
提案法
少ない領域数で
ある程度の予測
精度を達成。
課題:簡略化モデルの領域数を適切に決める必要がある。
n 課題1: 簡略化モデルの領域数を適切に決める。
• 領域が少なすぎると、データの重要な側面を見落としてしまう恐れがある。
• 領域が多すぎると、解釈が困難になる。
n 課題2: 領域数をできる限り少なく絞った上で、予測精度はできる限り保つ。
13
提案法
少ない領域数で
ある程度の予測
精度を達成。
深さ2決定木
領域数を絞りす
ぎると予測精度
が悪化。
課題:簡略化モデルの領域数を適切に決める必要がある。
n 課題1: 簡略化モデルの領域数を適切に決める。
• 領域が少なすぎると、データの重要な側面を見落としてしまう恐れがある。
• 領域が多すぎると、解釈が困難になる。
n 課題2: 領域数をできる限り少なく絞った上で、予測精度はできる限り保つ。
14
提案法
少ない領域数で
ある程度の予測
精度を達成。
深さ2決定木
領域数を絞りす
ぎると予測精度
が悪化。
既存法1
予測精度は良い
が領域数が多い。
既存法2
予測精度は良い
が領域数が非常
に多い。
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• 実験設定
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 15
既存研究:Born Again Trees (Breiman & Shang, ‘96)
n 学習で得られた任意のモデルを決定木で事後的に近似する。
• 入力 をランダムに大量に生成する。
• 学習されたモデル を元に、 により擬似的に学習データを生成する。
• 擬似学習データで決定木を学習する。
- 枝刈りとか細かいテクニックは省略。
n 特徴
• アイディアはすごくシンプル。
• 元データよりも多くの擬似学習データで決定木を作るため、一般に深い木になる傾
向がある。あまりに木が深すぎると解釈が困難になる。
16
y = ˆf(x)ˆf
x
既存研究:inTrees (Deng, ‘14)
n 複数の決定木のノード分割ルールのうち、頻出度合い、予測への貢献、ルール
の長さ、という3つの指標に基づいて重要なルールを抽出する。
n 特徴
• 分類問題に特化した手法。回帰の場合はまず出力を離散化して分類問題に直して
から処理を行う。
• 細かいルールを抽出する傾向にある。
• 抽出されたルールの間には領域の重複が大きい。重複が大きいと解釈が困難にな
る。
17
既存研究:Node Harvest (Meinshausen, ‘10)
n 複数の決定木の浅い部分(e.g., 深さ2)を取り出して、これら浅い木のアンサンブ
ルとしてモデルを学習する。
n 特徴
• 回帰問題に特化した手法。分類の場合は二値の場合のみ0, 1の回帰問題として取
り扱い可能。
• モデルの学習が凸二次計画で定式化されるの学習が容易。
• 学習の結果得られるモデルは、簡略化されたとはいえ依然としてアンサンブル木で
ある。そのため、モデルの解釈は難しいまま。
18
既存研究の問題点と提案法
n Born Again Trees
• 一般に深い決定木が学習される。あまりに木が深すぎると解釈が困難になる。
n inTrees
• 適用対象が分類に限られる。
• 抽出されたルールの重複が大きく解釈が難しい。
n Node Harvest
• 適用対象が回帰に限られる。
• 学習結果もアンサンブルなので解釈が難しい。
n 提案法
• ルール数の少ないモデルが学習されるので解釈が容易。
• 分類にも回帰にも使える。
19
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• 実験設定
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 20
決定木:領域を使った決定木の表現
n 決定木は分割された入力空間の領域と各領域の予測値を使って記述できる。
21
x1
x2
R2
z = 1
R4
z = 1
R1
z = 0
R3
z = 0
y=0 y=1 y=0 y=1
no yes
no yes no yes
x1>0.7
x2>0.4 x2>0.7
y =
˜IX
i=1
˜ziI(x 2 ˜Ri)
アンサンブル木:領域を使ったアンサンブル木の表現
n アンサンブル木は分割された入力空間の領域と各領域の予測値を使って記述で
きる。
22
x1
x2
y=0 y=1 y=0 y=1
no yes
no yes no yes
y=0 y=0 y=0 y=1
no yes
no yes no yes
y=0 y=1 y=0 y=1
no yes
no yes no yes
+ +
x1>0.7
x2>0.4 x2>0.7
x1>0.6
x2>0.5 x2>0.6
x2>0.5
x1>0.5 x1>0.7 …
x1
x2
+ + …
x1
x2
y = ↵
˜IX
i=1
˜ziI(x 2 ˜Ri) + ↵0
˜I0
X
i0=1
˜z0
i0 I(x 2 ˜R0
i0 ) + ↵00
˜I00
X
i00=1
˜z00
i00 I(x 2 ˜R00
i00 ) + . . .
アンサンブル木:領域を使ったアンサンブル木の表現
n アンサンブル木は分割された入力空間の領域と各領域の予測値を使って記述で
きる。
23
y=0 y=1 y=0 y=1
no yes
no yes no yes
y=0 y=0 y=0 y=1
no yes
no yes no yes
y=0 y=1 y=0 y=1
no yes
no yes no yes
+ +
x1>0.7
x2>0.4 x2>0.7
x1>0.6
x2>0.5 x2>0.6
x2>0.5
x1>0.5 x1>0.7 …
y = ↵
˜IX
i=1
˜ziI(x 2 ˜Ri) + ↵0
˜I0
X
i0=1
˜z0
i0 I(x 2 ˜R0
i0 ) + ↵00
˜I00
X
i00=1
˜z00
i00 I(x 2 ˜R00
i00 ) + . . .
y =
GX
g=1
zgI(x 2 Rg)
Rg = ˜Ri  ˜R0
i0  ˜R00
i00  . . .
zg = ↵˜zi + ↵0
˜z0
i0 + ↵00
˜z00
i00 + . . .
問題:アンサンブル木を簡略化する。
n アンサンブル木はG個の領域で表現される。(=G個のルールで記述される。)
• Gは一般に木の本数に対して指数。
• 指数個あるルールを人間が解釈するのはほぼ不可能。
n 簡略化:アンサンブル木をたかだかK個の領域で近似する。
• 予測値 と領域 を最適化することで近似モデルを作る。
• 領域数Kを適当な値に自動決定する。
- 領域が少なすぎると、データの重要な側面を見落としてしまう恐れがある。
- 領域が多すぎると、解釈が困難になる。
24
GX
g=1
zgI(x 2 Rg) ⇡
KX
k=1
z0
kI(x 2 R0
k), (K ⌧ G)
z0
k R0
k
y =
GX
g=1
zgI(x 2 Rg)
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• データ
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 25
提案法:ベイズモデル選択で適切な領域数を自動決定する。
n 簡略化モデルの領域数を決定するのは”モデル選択”の問題。
• 領域数=モデル複雑度、なのでモデル複雑度を決めるモデル選択問題になる。
n ベイズモデル選択の利点
• 理論保証
- サンプル数十分大で、”最適な複雑度”を持つモデルを選択できる。
• 計算効率性
- Factorized Asymptotic Bayesian (FAB) Inferenceを使うことで、効率的にモデル複雑度を決定で
きる。
n 本研究では、ベイズモデル選択を使うために、アンサンブル木を確率的生成モデ
ルとしてモデル化する。
26
アンサンブル木の特徴量表現
n 各領域の”特徴量”を二値ベクトルで定義する。
27
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4
1.00.0
1.0
特徴量:領域が各閾値条件を満たすか否か
⌘1 = I(x1 > 0.0), ⌘2 = I(x1 > 0.7), ⌘3 = I(x1 > 1.0),
⌘4 = I(x2 > 0.0), ⌘5 = I(x2 > 0.4), ⌘6 = I(x2 > 0.7), ⌘7 = I(x2 > 1.0)
アンサンブル木の特徴量表現
n 各領域の”特徴量”を二値ベクトルで定義する。
28
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4
ηg=(1, 0, 0, 1, 1, 0, 0)
1.00.0
1.0
特徴量:領域が各閾値条件を満たすか否か
⌘1 = I(x1 > 0.0), ⌘2 = I(x1 > 0.7), ⌘3 = I(x1 > 1.0),
⌘4 = I(x2 > 0.0), ⌘5 = I(x2 > 0.4), ⌘6 = I(x2 > 0.7), ⌘7 = I(x2 > 1.0)
アンサンブル木の特徴量表現
n 各領域の”特徴量”を二値ベクトルで定義する。
29
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4
ηg=(1, 0, 0, 1, 1, 0, 0)
ηg’=(1, 1, 0, 1, 0, 0, 0)
1.00.0
1.0
特徴量:領域が各閾値条件を満たすか否か
⌘1 = I(x1 > 0.0), ⌘2 = I(x1 > 0.7), ⌘3 = I(x1 > 1.0),
⌘4 = I(x2 > 0.0), ⌘5 = I(x2 > 0.4), ⌘6 = I(x2 > 0.7), ⌘7 = I(x2 > 1.0)
アンサンブル木の特徴量表現
n 各領域の”特徴量”を二値ベクトルで定義する。
n 特徴量を使ってアンサンブル木を表現できる。
30
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4
ηg=(1, 0, 0, 1, 1, 0, 0)
ηg’=(1, 1, 0, 1, 0, 0, 0)
y =
GX
g=1
zgI(x 2 Rg) y =
GX
g=1
zgI(s(x) = ⌘g)
領域を使った表現 特徴量を使った表現
s`(x) = I(xd`
> b`)
入力が含まれる領域
の予測値を使う。
入力の二値表現が合致
する特徴量の領域の予
測値を使う。
1.00.0
1.0
特徴量:領域が各閾値条件を満たすか否か
⌘1 = I(x1 > 0.0), ⌘2 = I(x1 > 0.7), ⌘3 = I(x1 > 1.0),
⌘4 = I(x2 > 0.0), ⌘5 = I(x2 > 0.4), ⌘6 = I(x2 > 0.7), ⌘7 = I(x2 > 1.0)
アンサンブル木の特徴量表現の定義の拡張
n 等価な表現への変換
31
I(s(x) = ⌘g) =
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
領域の特徴量ηがL次元だとする(=閾値条件がL個ある)。
左辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
右辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
アンサンブル木の特徴量表現の定義の拡張
n 等価な表現への変換
32
I(s(x) = ⌘g) =
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
領域の特徴量ηがL次元だとする(=閾値条件がL個ある)。
左辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
右辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
をパラメータだと思うと、 のベルヌーイ分布:s`⌘g` p(s`|⌘g`) = ⌘s`
g`(1 ⌘g`)1 s`
アンサンブル木の特徴量表現の定義の拡張
n 等価な表現への変換
n 定義の拡張
• 前頁の定義:ηは領域が各閾値条件を満たすか否かを表現
• 定義の拡張:ηは領域が各閾値条件を満たす確率を表現
33
I(s(x) = ⌘g) =
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
領域の特徴量ηがL次元だとする(=閾値条件がL個ある)。
左辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
右辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
⌘` = I(xd`
> b`)
⌘` = p(xd`
> b`)
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4
ηg’=(1, 1, 0, 1, 0, 0, 0)
⌘1 = I(x1 > 0.0), ⌘2 = I(x1 > 0.7),
⌘3 = I(x1 > 1.0), ⌘4 = I(x2 > 0.0),
⌘5 = I(x2 > 0.4), ⌘6 = I(x2 > 0.7),
⌘7 = I(x2 > 1.0)
1.00.0
1.0
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4 ηk=(1, *, 0, 1, 0, 0, 0)
ηの定義を緩和すると、
領域を統合した新しい領
域を表現できる。
x1 > 0.7 を満たす確率は
0でも1でもない。
1.00.0
1.0
をパラメータだと思うと、 のベルヌーイ分布:s`⌘g` p(s`|⌘g`) = ⌘s`
g`(1 ⌘g`)1 s`
アンサンブル木の特徴量表現の定義の拡張
n 等価な表現への変換
n 定義の拡張
• 前頁の定義:ηは領域が各閾値条件を満たすか否かを表現
• 定義の拡張:ηは領域が各閾値条件を満たす確率を表現
34
I(s(x) = ⌘g) =
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
領域の特徴量ηがL次元だとする(=閾値条件がL個ある)。
左辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
右辺:入力の二値表現と特徴量ηgの各次元が一致するなら1。
⌘` = I(xd`
> b`)
⌘` = p(xd`
> b`)
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4
ηg’=(1, 1, 0, 1, 0, 0, 0)
⌘1 = I(x1 > 0.0), ⌘2 = I(x1 > 0.7),
⌘3 = I(x1 > 1.0), ⌘4 = I(x2 > 0.0),
⌘5 = I(x2 > 0.4), ⌘6 = I(x2 > 0.7),
⌘7 = I(x2 > 1.0)
1.00.0
1.0
x1
x2
y = 1 y = 1
y = 0
y = 0
0.7
0.7
0.4 ηk=(1, *, 0, 1, 0, 0, 0)
ηの定義を緩和すると、
領域を統合した新しい領
域を表現できる。
x1 > 0.7 を満たす確率は
0でも1でもない。
1.00.0
1.0
ηの0,1パターンと領域の形状が対応する。
η=0, 1を満たす閾値条件は領域の端を表現する。
ηをデータに適合するように推定することで、
既存の領域を統合した新しい領域を学習できる。
をパラメータだと思うと、 のベルヌーイ分布:s`⌘g` p(s`|⌘g`) = ⌘s`
g`(1 ⌘g`)1 s`
アンサンブル木の特徴量表現から確率的生成モデルへ
n ηの定義の拡張
35
y =
GX
g=1
zgI(s(x) = ⌘g) y =
GX
g=1
zg
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
アンサンブル木の特徴量表現から確率的生成モデルへ
n ηの定義の拡張
n 潜在変数の導入
• 入力xがg番目の領域にいるときug=1となるone-hotベクトルu
36
y =
GX
g=1
zgI(s(x) = ⌘g) y =
GX
g=1
zg
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
y =
GY
g=1
zg
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
!ug
ug 2 {0, 1},
PG
g=1 ug = 1
n ηの定義の拡張
n 潜在変数の導入
• 入力xがg番目の領域にいるときug=1となるone-hotベクトルu
n 確率的生成モデル表現
p(y, s, u|⇧, G) =
GY
g=1
(p(y| g)p(s|⌘g))
ug
p(ug|↵)
アンサンブル木の特徴量表現から確率的生成モデルへ
37
y =
GX
g=1
zgI(s(x) = ⌘g) y =
GX
g=1
zg
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
y =
GY
g=1
zg
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
!ug
p(s|g, ⌘) =
LY
`=1
⌘s`
g`(1 ⌘g`)1 s`
⇧ = { , ⌘, ↵}
モデルパラメータ 入力xがg番目の領域に入る確率
g番目の領域から二値ベクトルsが生成される確率
g番目の領域から予測値yが生成される確率
p(u|↵) =
QG
g=1 ↵
ug
g ,
PG
g=1 ↵g = 1
ug 2 {0, 1},
PG
g=1 ug = 1
【参考】確率的生成モデルにおける予測
n アンサンブル木の確率的生成モデル表現
n 予測のためには、入力xがどの領域に属するかを推定する。
n 推定された所属領域をもとに予測値を決定する。
38
p(y, s, u|⇧, G) =
GY
g=1
(p(y| g)p(s|⌘g))
ug
p(ug|↵)
p(u|s) =
p(s, u)
P
s p(s, u)
/ p(s, u) =
GY
g=1
p(s|⌘g)ug
p(ug|↵) ˆg = argmaxgp(s|⌘g)p(ug = 1|↵)
ˆy = argmaxyp(y| ˆg)
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• データ
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 39
EMアルゴリズムによるパラメータ推定
n アンサンブル木の確率的生成モデル表現
n データ からパラメータ を推定する。
n EMアルゴリズムの欠点:適切な領域数Kをユーザが指定する必要がある。
40
p(y, s, u|⇧, G) =
GY
g=1
(p(y| g)p(s|⌘g))
ug
p(ug|↵) ⇧ = { , ⌘, ↵}
モデルパラメータ
D = {y(n)
, s(n)
}N
n=1, (s(n)
= s(x(n)
))
潜在変数uについて周辺化した対数尤度の最大化
潜在変数モデルなので、EMアルゴリズムで解ける。
max
NX
n=1
log p(y(n)
, s(n)
|⇧, K)
領域数をGからKまで減らしたもとで、パラメータを推定する。
p(y| g):回帰なら正規分布、分類ならカテゴリカル分布を使う。
⇧
【参考】EMアルゴリズムによるパラメータ推定 - 更新式
n EMの下限
n Eステップ:潜在変数の分布 の最適化
n Mステップ:モデルパラメータ の最適化
41
エントロピー
⌘k` =
PN
n=1 q(u
(n)
k )s
(n)
`
PN
n=1 q(u
(n)
k )
↵k =
1
N
NX
n=1
q(u
(n)
k ) k の更新も解析的に計算可能
LB =
NX
n=1
KX
k=1
Eq(U)[u
(n)
k ] log p(y(n)
| k) +
LX
`=1
log ⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` + log ↵k
!
+ H(q(U))
q(U)
⇧
q(u
(n)
k ) / p(y(n)
| k)
LY
`=1
⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` ↵k
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• データ
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 42
ベイズモデル選択
n 適切な領域数Kを自動で決定したい。
• EMアルゴリズムではKはユーザが指定する必要があった。
n ベイズモデル選択:周辺対数尤度を最大化することでKを選択する。
• データ についての周辺対数尤度最大化
n 【参考】なぜ周辺対数尤度の最大化か。
• 事後確率最大のKと対数周辺尤度最大のKは等価
43
D = {y(n)
, s(n)
}N
n=1, (s(n)
= s(x(n)
))
max
K

log p(D|K) := log
Z
p(D|⇧, K)p(⇧)d⇧ベイズモデル選択
= 周辺対数尤度の最大化
この量(周辺対数尤度)が最大になるように領域数Kを決める。
p(K|D) =
p(D|K)p(K)
p(D)
ベイズの定理から、データDのもとでの領域数Kの事後確率が得られる。
この事後確率が大きいKが良いKと言える。
log p(K|D) > log p(K0
|D) , log p(D|K)p(K) > log p(D|K0
)p(K0
) , log p(D|K) > log p(D|K0
)
(D|K)p(K) > log p(D|K0
)p(K0
) , log p(D|K) > log p(D|K0
) を仮定p(K) = p(K0
) = const.
FAB: Factorized Asymptotic Bayesian Inference
(Fujimaki et al., AISTATS’12, Hayashi et al., ICML’15)
n 対数周辺尤度を最大化して、パラメータ と領域数Kを同時決定する。
• 潜在変数モデルに対するラプラス近似を使って周辺対数尤度を近似する。
- ただし、 , は のヘシアン,
, はエントロピー。
n FABでは上記近似式の下限をEM-likeに最適化する。
44
log p(D|K) ⇡ Eq⇤(U)

log p(D, U|⇧, K)
1
2
log det Fˆ⇧ + H(q⇤
(U))
dim⇧
2
log N
Fˆ⇧
ˆ⇧ = argmax⇧ log p(D, U|⇧, K) log p(D, U|⇧, K)/N
q⇤
(U) = p(U|D, K)
⇧
H
LB =
NX
n=1
KX
k=1
Eq(U)[u
(n)
k ] log p(y(n)
| k) +
LX
`=1
log ⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` + log ↵k
!
!
KX
k=1
log
NX
n=1
Eq(U)[u
(n)
k ] + 1
!
+ H(q(U))
! =
dim( k) + L + 1
2
【参考】FABの下限はEMの下限に”正則化項”を加えたもの
n EM下限
n FAB下限
45
LB =
NX
n=1
KX
k=1
Eq(U)[u
(n)
k ] log p(y(n)
| k) +
LX
`=1
log ⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` + log ↵k
!
+ H(q(U))
追加の”正則化項”
この項により、領域数の自動決定が可能となる(次頁)。
LB =
NX
n=1
KX
k=1
Eq(U)[u
(n)
k ] log p(y(n)
| k) +
LX
`=1
log ⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` + log ↵k
!
!
KX
k=1
log
NX
n=1
Eq(U)[u
(n)
k ] + 1
!
+ H(q(U))
FAB Inferenceによるパラメータ推定
n Eステップ:潜在変数の分布 の最適化
• 収束するまで更新を繰り返す。
n 領域数Kの自動決定
• のとき、 に が乗算される。
→ となる。つまり、k番目の領域は削除される。
→ Eステップを繰り返すことで、不要な領域は削除されていき、
最適な領域数Kが自動決定される。
n Mステップ:EMアルゴリズムと同じ
46
q(U)
q(u
(n)
k ) / p(y(n)
| k)
LY
`=1
⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` ↵k exp
!
PN
n=1 q(u
(n)
k ) + 1
!
過去の分布の値を使って、新しい分布の値を更新する。
q(u
(n)
k )
q(u
(n)
k ) ⇡ 0 (8n)
EMではこの項がない
FAB Inferenceでは初期値として十分大きなKを
指定しておけば、あとは領域数の刈り込みによ
り適切なKが自動で決まる。
PN
n=1 q(u
(n)
k ) = ⌧ N exp( !/( + 1)) ⌧ 1
【参考】FAB Inferenceの計算量
n 1EMステップの計算量はO(KLN + ζKN)
• ただし、ζはEステップ内部の反復回数。
n Eステップ
n Mステップ
47
q(u
(n)
k ) / p(y(n)
| k)
LY
`=1
⌘
s
(n)
`
k` (1 ⌘k`)1 s
(n)
` ↵k exp
!
PN
n=1 q(u
(n)
k ) + 1
!
ここの計算にO(KLN)かかる。一回計算したらEステップの間は保持する。
全てのKとNについてqを更
新するため、一反復に
O(KN)かかる。
⌘k` =
PN
n=1 q(u
(n)
k )s
(n)
`
PN
n=1 q(u
(n)
k )
全てのKとLについてηを更新する。
一つのηの更新にO(N)かかるため、全
体でO(KLN)かかる。
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• 実験設定
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 48
実験設定
n データ(UCI Repositoryより)
n 実験設定
• RのrandomForestパッケージで100本の決定木を学習
• 学習されたランダムフォレストを、各種手法で簡略化する。
- 提案法ではKの初期値を10に設定。パラメータはランダム初期化20回のもとで推定。
• 簡略化されたモデルの予測精度、およびルール数を評価する。
49
⼊⼒の次元
D
学習⽤デー
タ数
テスト⽤
データ数
タスク
Synthetic 2 1000 1000 分類
Spambase 57 1000 1000 分類
MiniBooNE 50 5000 5000 分類
Magic 11 5000 5000 分類
Higgs 28 5000 5000 分類
Energy 8 384 384 回帰
人工データは以下に10%のラ
ベルノイズを加えたもの
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• 実験設定
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 50
EM vs. FAB – 1:領域数の比較
n EMアルゴリズムでは適切な領域数Kを決定するために、様々なKを試してその中
で良い結果をピックアップする必要がある。
51
どのデータでも、FABはテスト誤差がほぼ最小になる領域数を選択できている。
EMのように様々なKを試すことなく適切な領域数が自動決定されている。
EM vs. FAB – 2:計算時間の比較
n EMアルゴリズムでは適切な領域数Kを決定するために、様々なKを試してその中
で良い結果をピックアップする必要がある。
n EMアルゴリズムをKを変えて問題を解き直すだけ時間がかかる。
• 本実験ではKを1~10の間で変えて計算した。
52
FABはKを変えて計算し直さなくて良いだけ速い。
実験ではEMより5~20倍程度速かった。
目次
n 研究背景
n 研究目的と課題
n 既存研究
n 問題:アンサンブル木の簡略化
n 提案法
• アンサンブル木の確率的生成モデルによる表現
• EMアルゴリズム
• FAB Inference
n 実験
• 実験設定
• EM vs. FAB
• 提案法 vs. 既存手法
n まとめ 53
提案法 vs. 既存手法
n 比較対象
• 既存手法
- Born Again Trees (BATrees)
- inTrees
- Node Harvest (NH)
• 他のベースライン
- DTree2
- 深さ2の決定木(ルール数4のモデル)。少ないルール数のモデルの代表として導入。同じく
少ないルール数のモデルを学習する提案法との比較のためのベースライン。
- Ensemble
- もとのランダムフォレスト。予測精度の比較のために導入。
- 簡略化モデルのテスト誤差がランダムフォレストの予測誤差に近いほど良い。
54
提案法 vs. 既存手法:提案法が少ルール、低誤差を達成
n ルール数 vs. テスト誤差
55
提案法の結果が全体的に左下
にある。
つまり、少ないルール数で低い
テスト誤差を達成できた。
既存手法は全体的にルール数
が多かった(30~200程度)。
DTree2はルール数が少ないた
め予測誤差が高めだった。
提案法 vs. 既存手法:提案法が少ルールでモデル簡略化を達成
n 学習された簡略化モデルの例(Synthetic)
56
真のデータ 提案法
Born Again Trees inTrees Node Harvest
他の手法よりも少ない領域数で
モデルを簡略化できた。
少し領域数多め 領域数非常に多い
重複も大きい
重複が非常に
大きい
【参考】提案法はルール間の重複が少ない。
n inTreesはルール間の重複が大きい。
n Node Harvestはアンサンブルなのでルール間の重複が非常に大きい。
n 提案法も一部ルール間に重複が発生する場合がある。
• 確率的生成モデルとして領域の定義を緩和したため。
n 提案法の重複度合いはinTrees, Node Harvestよりも小さい。
• 提案法の重複度合いは1に近い(=ほぼ重複がない)。
• inTrees, Node Harvestの重複度合いは5~10程度と大きい。
57
まとめ
n アンサンブル木モデルを簡略化する方法を提案した。
• モデル簡略化をベイズモデル選択の問題として定式化した。
- アンサンブル木モデルを確率的生成モデルとして表現することで、ベイズモデル選択が使えるよ
うになった。
- FAB Inferenceを使うことでモデル選択の計算を効率化した。
n 実験により、FABがEMより効率的であることを確認した。
• FABはEMを使った領域数探索よりも5~20倍程度速かった。
n 実験により、提案法を使うことで「少ないルール」で「低い予測誤差」を達成できる
ことを確認した。
• 既存手法のBorn Again Trees, inTrees, Node Harvestはどれもルール数が多くなる
傾向があった。
• 提案法を使うことで「少ないルール数」によるモデルの簡略化という、モデル解釈に
おいて重要な目的を達成できた。 58

アンサンブル木モデル解釈のためのモデル簡略化法