More Related Content Similar to 機械学習モデルの列挙 (20) More from Satoshi Hara (10) 機械学習モデルの列挙2. 【参考】 論文は以下の通り
n Satoshi Hara and Takanori Maehara. “Enumerate Lasso
Solutions for Feature Selection”, AAAI'17.
n Satoshi Hara and Masakazu Ishihata. “Approximate and
Exact Enumeration of Rule Models”, AAAI'18 (accepted).
2
4. 本研究の貢献
4
本研究の貢献
• 良いモデル の列挙手法を提案
• 対象 : 線形モデル、ルールモデル
本研究の仮説
• 信頼できるモデル は 良いモデル の中にある
• 良いモデル = 学習精度が(比較的)高い
n 信頼できるモデル って何?
• 予測が当たればOK? - No! それだけでは不十分
• 納得できればOK? - Yes! 納得できないものは使えない
n 信頼できるモデル はどうしたら見つかる?
19. スパース線形回帰モデル(Lasso)
スパース線形回帰問題
Given: 入出力のペア 𝑥", 𝑦" ∈ ℝ'×ℝ 𝑖 = 1, 2, … , 𝑁
Find: 回帰係数𝛽 ∈ ℝ' s.t. 𝑥"
1
𝛽 ≈ 𝑦 (𝑖 = 1, 2, … , 𝑁)
ただし、𝛽は非ゼロ要素が少ない(スパース)
n スパース性
• 物理的要請:予測に効く特徴量は少ないはずという直感。
• 解釈性向上:意味のある少数の特徴量を絞り込みたい。
解法:Lasso回帰(ℓ6正則化)
𝛽∗ = argmin
>
1
2
𝑋𝛽 − 𝑦 A + 𝜌 𝛽 6
• 凸最適化問題。多項式時間で効率的に大域解が求まる。
• 𝛽∗はスパース。supp(𝛽∗) = {𝑖 ∶ 𝛽"
∗
≠ 0}が重要な特徴量。
19
20. ルールモデル(その1):ルールリスト
n ルールリスト: If-Then-Elseで記述されるモデル
• 例:ルールリストによる再犯の予測
If (性別=男性 and 若年犯罪=True) Then 再犯=True
Else If (前科 > 3) Then 再犯=True
Else 再犯=False
n ルールリストの定義
• データ: 入出力のペア 𝑥", 𝑦" ∈ 2 L ×[𝐶] 𝑖 = 1, 2, … , 𝑁
• ルールリスト: 𝑔 𝑥 𝑍, 𝑈) = ∑ 𝑧" cap 𝑥 𝑈, 𝑖)V
"W6
- 𝑍 = 𝑧" ∈ [𝐶] "W6
V
, 𝑈 = 𝑢" ∈ 2 L
"W6
V
- ただし cap 𝑥 𝑈, 𝑖) = Y1 if 𝑢" ⊆ 𝑥 and ∧"^W6
"_6
¬(𝑢"a ⊆ 𝑥)
0 otherwise
20
𝐿個のアイテム(属性)の有無
21. ルールモデル(その1):ルールリスト
n ルールリストの学習
• データ: 入出力のペア 𝑥", 𝑦" ∈ 2 L ×[𝐶] 𝑖 = 1, 2, … , 𝑁
• 前処理: アイテムセットマイニング(Frequent, Emergingなど)
- Find: 𝑇 = 𝑡j ∶ 𝑡j ⊆ 𝑥 ⇒ 𝑦 = 𝑐 with some confidence
jW6
m
n 組み合わせ最適化
• 探索+枝刈りを駆使して(小さい問題の)厳密解が求められる。
- CORELS(Angelino et al., KDD’17)
- ただし指数時間。
21
max
o∈ p q,r∈sq,V
1
𝑁
t 𝕀 𝑦 v = 𝑔 𝑥 v | 𝑍, 𝑈
x
vW6
− 𝜌𝐼
正則化付きの訓練精度
の最大化問題
23. ルールモデル(その2):ルールセット
n ルールセットの学習
• データ: 入出力のペア 𝑥", 𝑦" ∈ 2 L ×[𝐶] 𝑖 = 1, 2, … , 𝑁
• 前処理: アイテムセットマイニング(Frequent, Emergingなど)
- Find: 𝑇 = 𝑡j ∶ 𝑡j ⊆ 𝑥 ⇒ 𝑦 = 𝑐 with some confidence
jW6
m
n 組み合わせ最適化
• 被覆最大化問題なので、貪欲法で多項式時間で(1 − 1/𝑒)
近似解が求まる。
• あまり大きくない問題なら厳密解も求まる。
- Filtered Search(Chen et al, AISTATS’15)
- ただし指数時間。 23
max
€∈sq
1
𝑁•
t 𝕀 𝑦 v = 𝑔 𝑥 v | 𝑉
v:„ … W•
, s. t. 𝑉 ≤ 𝐼
サイズ制約付きの訓練
精度の最大化問題
27. 問題の定式化:線形モデル/ルールモデルの列挙
n 定義:学習可能な全てのモデルの集合ℳ‘’’
• ℳ‘’’ = {𝑚; 𝑚 = Alg‹ 𝑆 , ∃𝑆 ∈ 2s}
問題:モデルの列挙
目的関数の降順に上位𝐾個のモデルℳ• = 𝑚– –W6
•
⊆ ℳ‘’’を
列挙する。
n 【参考】 各モデルの目的関数𝑓(𝑚)
• Lasso
-
6
A
𝑦 A
−
6
A
𝑋𝛽 − 𝑦 A
− 𝜌 𝛽 6
• ルールリスト
-
6
x
∑ 𝕀 𝑦 v
= 𝑔 𝑥 v
| 𝑍, 𝑈x
vW6 − 𝜌𝐼
• ルールセット
-
6
x˜
∑ 𝕀 𝑦 v
= 𝑔 𝑥 v
| 𝑉v:„ … W•
27
29. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合 𝑺を入力して、モデル 𝒎が出力されたとする。
2. 全ての𝑡 ∈ supp(𝑚)について
𝑆からを𝑡を取り除いた𝑆a = 𝑆 ∖ {𝑡}を作る 。
Alg‹(𝑆′)の解𝑚′を得る。
(𝑚a, 𝑆′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
29
モデル候補
Alg‹
モデル𝑚
𝑠upp(𝑚) = 𝑡6, 𝑡A, 𝑡Ÿ
出力
𝑆 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
30. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。
2. 全ての 𝒕 ∈ supp(𝒎)について
𝑺からを 𝒕を取り除いた 𝑺a = 𝑺 ∖ {𝒕}を作る 。
Alg‹(𝑆′)の解𝑚′を得る。
(𝑚a, 𝑆′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
30
Alg‹
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
モデル候補
𝑆6
a
= 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆A
a
= 𝑡6, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆a
= 𝑡6, 𝑡A, 𝑡 , 𝑡¡
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
31. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。
2. 全ての 𝒕 ∈ supp(𝒎)について
𝑆からを𝑡を取り除いた𝑆a = 𝑆 ∖ {𝑡}を作る 。
𝐀𝐥𝐠 𝜶(𝑺′)の解 𝒎′を得る。
(𝒎a, 𝑺′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
31
Alg‹
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
モデル候補
𝑆6
a
= 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆A
a
= 𝑡6, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆a
= 𝑡6, 𝑡A, 𝑡 , 𝑡¡
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
(supp(𝑚6
a
) = 𝑥A, 𝑥Ÿ, 𝑥¡ , 𝑆6
a
)
32. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。
2. 全ての 𝒕 ∈ supp(𝒎)について
𝑆からを𝑡を取り除いた𝑆a = 𝑆 ∖ {𝑡}を作る 。
𝐀𝐥𝐠 𝜶(𝑺′)の解 𝒎′を得る。
(𝒎a, 𝑺′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
32
Alg‹
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
モデル候補
𝑆6
a
= 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆A
a
= 𝑡6, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆a
= 𝑡6, 𝑡A, 𝑡 , 𝑡¡
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
(supp(𝑚6
a
) = 𝑡A, 𝑡Ÿ, 𝑡¡ , 𝑆6
a
)
(supp(𝑚A
a
) = 𝑡6, 𝑡 , 𝑡Ÿ , 𝑆A
a
)
33. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。
2. 全ての 𝒕 ∈ supp(𝒎)について
𝑆からを𝑡を取り除いた𝑆a = 𝑆 ∖ {𝑡}を作る 。
𝐀𝐥𝐠 𝜶(𝑺′)の解 𝒎′を得る。
(𝒎a, 𝑺′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
33
Alg‹
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
モデル候補
𝑆6
a
= 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆A
a
= 𝑡6, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆a
= 𝑡6, 𝑡A, 𝑡 , 𝑡¡
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
(supp(𝑚6
a
) = 𝑡A, 𝑡Ÿ, 𝑡¡ , 𝑆6
a
)
(supp(𝑚A
a
) = 𝑡6, 𝑡 , 𝑡Ÿ , 𝑆A
a
)
(supp(𝑚a
) = 𝑡6, 𝑡A, 𝑡¡ , 𝑆a
)
34. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。
2. 全ての𝑡 ∈ supp(𝑚)について
𝑆からを𝑡を取り除いた𝑆a = 𝑆 ∖ {𝑡}を作る 。
Alg‹(𝑆′)の解𝑚′を得る。
(𝑚a, 𝑆′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
34
Alg‹
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
モデル候補
(supp(𝑚A
a
) = 𝑡6, 𝑡 , 𝑡Ÿ , 𝑆A
a
)
(supp(𝑚a
) = 𝑡6, 𝑡A, 𝑡¡ , 𝑆a
)
𝑚A; supp(𝑚A) = 𝑡A, 𝑡Ÿ, 𝑡¡
𝑆A = 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
出力
35. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』
アルゴリズム概略
1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。
2. 全ての 𝒕 ∈ supp(𝒎)について
𝑺からを 𝒕を取り除いた 𝑺a = 𝑺 ∖ {𝒕}を作る 。
Alg‹(𝑆′)の解𝑚′を得る。
(𝑚a, 𝑆′)をモデルの候補としてヒープに保持する。
3. 保持しているモデルの候補のうち、目的関数値が最大の
ものを出力する。
4. 以上、繰り返し。
35
Alg‹
𝑚6; supp(𝑚6) = 𝑡6, 𝑡A, 𝑡Ÿ
𝑆6 = 𝑡6, 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
モデル候補
(supp(𝑚A
a
) = 𝑡6, 𝑡 , 𝑡Ÿ , 𝑆A
a
)
(supp(𝑚a
) = 𝑡6, 𝑡A, 𝑡¡ , 𝑆a
)
𝑚A; supp(𝑚A) = 𝑡A, 𝑡Ÿ, 𝑡¡
𝑆A = 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆6
a
= 𝑡 , 𝑡Ÿ, 𝑡¡
𝑆A
a
= 𝑡A, 𝑡 , 𝑡¡
𝑆a
= 𝑡A, 𝑡 , 𝑡Ÿ
𝑆A = 𝑡A, 𝑡 , 𝑡Ÿ, 𝑡¡
36. 列挙法1の妥当性
n 定義:学習可能な全てのモデルの集合ℳ‘’’
• ℳ‘’’ = {𝑚; 𝑚 = Alg‹ 𝑆 , ∃𝑆 ∈ 2s}
定理
列挙されたモデル集合ℳ• = 𝑚– –W6
•
について以下が成立。
(i) ∀𝑘, ℓ ≤ 𝐾, 𝑘 < ℓ ⇒ 𝑓 𝑚– ≥ 𝛼𝑓 𝑚ℓ .
(ii) ∀𝑚 ∈ ℳ‘’’, 𝑚 ∈ ℳ• if ∃𝑘 ≤ 𝐾 s. t. 𝛼𝑓 𝑚 ≥ 𝑓 𝑚– .
• (i) 上位のモデルは下位のモデルよりも𝛼倍以上悪くはない。
- アルゴリズムが厳密(𝛼 = 1)なら列挙順序も厳密。
• (ii) 列挙に(大きな)見落としはない。
- アルゴリズムが厳密(𝛼 = 1)なら見落としはゼロ。
36
37. 定理から示されること
• Lassoは厳密列挙が可能。列挙数𝐾が定数なら多項式時間。
- Lassoは多項式時間で厳密解が求まる(𝛼 = 1)。
• ルールリストは厳密列挙が可能。ただし指数時間。
- CORESLが厳密(𝛼 = 1)だが指数時間アルゴリズムなので。
• ルールセットは(1 − 1/𝑒)近似列挙が可能。多項式時間。
- 貪欲法が多項式時間の(1 − 1/𝑒)近似アルゴリズムなので。
• ルールセットは厳密列挙が可能。ただし指数時間。
- Filtered Searchが厳密(𝛼 = 1)だが指数時間アルゴリズムなので。
37
Lasso ルールリスト ルールセット
列挙法1 厳密列挙
多項式時間
厳密列挙
指数時間
近似列挙
多項式時間
厳密列挙
指数時間
38. 列挙法1の問題
n 色々な𝑆についてAlg‹(𝑆)を計算する必要がある。
• Filtered Searchのような探索ベースの手法の場合、異なる𝑆と
𝑆′についてもAlg‹の中で同じモデルを探索することがある。
• 同じモデルを何度も探索するのは無駄 = 非効率
n 効率を改善する列挙法2を提案。
• モデルの学習が劣モジュラ最大化の場合に限定。
- ルールセットの学習(被覆最大化)が該当。
• Filtered Searchを拡張することで、同じモデルの探索の重複
を回避して効率化。
38
39. 列挙法2:Filtered Searchの拡張
n Filtered Search:ヒューリスティック関数ℎ(𝑚)を使った探索
• ℎ(𝑚)はモデル𝑚に要素を追加しても改善できない場合にゼ
ロ、改善できる場合は正になる関数(詳細は割愛)。
• 列挙法2では、ヒューリスティック関数ℎ(𝑚)を使って局所解を
順番に探索していく。
アルゴリズム概略
初期化: supp 𝑚 = ∅, モデル𝑚をヒープに保持する。
1. ヒープから𝑓 𝑚 + ℎ(𝑚)が最大のモデル𝑚を取り出す。
2-a. ℎ(𝑚)がゼロ。
モデル𝑚を出力する。
2-b. ℎ(𝑚)が正。
全ての𝑡 ∉ supp(𝑚)について
モデル𝑚に𝑡を追加したモデル𝑚’を作ってヒープに保持する。
3. 以上、繰り返し。 39
40. 列挙法2の妥当性
n 定義:学習可能な全てのモデルの集合ℳ‘’’
• ℳ‘’’ = {𝑚; 𝑚 = Alg‹ 𝑆 , ∃𝑆 ∈ 2s}
定理
目的関数𝑓 𝑚 が劣モジュラ関数だとする。
列挙されたモデル集合ℳ•について以下が成立。
(i) ∀𝑘, ℓ ≤ 𝐾, 𝑘 < ℓ ⇒ 𝑓 𝑚– ≥ 𝑓 𝑚ℓ .
(ii) ∀𝑚 ∈ ℳ‘’’, 𝑚 ∈ ℳ• if ∃𝑘 ≤ 𝐾 s. t. 𝑓 𝑚 ≥ 𝑓 𝑚– .
• 列挙法1より効率的なルールセットの厳密列挙が可能。
40
Lasso ルールリスト ルールセット
列挙法2 NA NA 厳密列挙 / 指数時間
42. 実験1. Lassoの列挙:シロイズナの開花
n Thaliana gene expression data (Atwell et al. ’10):
どの遺伝⼦が開花に効くかを知りたい。
• 𝑥 ∈ ℝA6-6 ®:遺伝⼦各パターンが⽣起しているか(2 値)
• 𝑦 ∈ ℝ:発現量
• データ数(個体数):134
42
50個列挙しても、目的関数値
は0.05%しか増加しなかった。
大域解が6個
あった。
解のサポートのサイ
ズは大体40~45くらい。
大域解が複数ある
→ 単純にLassoから出てきた大域解一つの特徴量だけを重要だと
判断してしまうと、他の解に含まれる特徴量を見落とす。
43. 実験2. Lassoの列挙:ニュース記事の分類
n 20 Newsgroups data (Lang’95); ibm vs mac
ニュース記事を二つのカテゴリに分類するのに特徴的な単語を
知りたい。
• 𝑥 ∈ ℝ66-Ÿ¯:単語の発現(実数値、tf-idf)
• 𝑦 ∈ {ibm, mac} :記事のカテゴリ(2値)
• データ数(投稿数):1168
→ 分類問題なので、ロジスティック回帰+Lassoに提案法を適用。
43
大域解にあった語 列挙解で置き換わった語
drive, os, diskのようなibmマシン
(Windows機)に特有の単語が見落とさ
れていたのが見つかった。
040, 610のようなmacマシン(型番)に
特有の単語が見落とされていたのが
見つかった。
44. 実験3. ルールモデルの列挙: 再犯の予測
n COMPAS data (https://github.com/nlarusstone/corels)
犯罪者の再犯を予測するモデルを作りたい。
ブラックボックスモデルだと不平等な判定がされているかわか
らないので、人間にわかりやすいルールモデルが好ましい。
• 𝑥 ∈ {0, 1}6±:犯罪歴に関する各種属性があるか(2 値)
• 𝑦 ∈ {再犯有, 再犯無}:再犯の有無
• データ数(人数):6,489
44
(a) 列挙法1
(ルールリスト、厳密列挙)
(b) 列挙法1
(ルールセット、近似列挙)
近似列挙だけど、
結果は厳密だった
Lasso同様、高い質のモ
デルが複数あった。
実用ではこれら高品質の
モデルを精査して、より納
得感の高いモデルを使う
方が良いかも。
きちんと降順に
列挙できた
45. 実験4. ルールモデルの列挙: 毒キノコの識別
n Mushroom data (UCI Repository)
キノコの外観の特徴から毒キノコか識別する。
科学的知見を得るために、人間にわかりやすいルールモデル
が好ましい。
• 𝑥 ∈ {0, 1}AA:キノコ外観に関する各種属性があるか(2 値)
• 𝑦 ∈ {毒キノコ, 食べられる}:毒キノコか否か
• データ数(キノコ数):6,499
45
(a) 列挙法1
(ルールセット、近似列挙)
(b) 列挙法2
(ルールセット、厳密列挙)
近似列挙なので順番は
完全には正しくない
きちんと降順に
列挙できた
Lasso同様、高い質のモ
デルが複数あった。
ルールリストはCORELS
がメモリ使い果たして停
止したので除外