Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

機械学習モデルの列挙

2 063 vues

Publié le

機械学習モデルの列挙

Publié dans : Données & analyses
  • Soyez le premier à commenter

機械学習モデルの列挙

  1. 1. 機械学習モデルの列挙 原 聡1,2、石畠 正和3、前原 貴憲4 1 1) 大阪大学 産業科学研究所 2) JST, ERATO, 河原林巨大グラフプロジェクト 3) 北海道大学 4) 理研AIP
  2. 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
  3. 3. 突然ですが n abc 3 あなたの機械学習モデル、信頼できますか? n こんなことはありませんか? n 回帰係数の値、おかしくないですか? n 見つかった予測ルールに納得できますか? 回帰係数がおかしい。 このモデル大丈夫? エンジンの出力に寄与す るはずのエンジン回転数 の係数がゼロだぞ。。。 ルールに納得できない。 このモデル大丈夫? 血圧が高いと病気になり やすいはずなのに、ルー ルに血圧が出てこない!
  4. 4. 本研究の貢献 4 本研究の貢献 • 良いモデル の列挙手法を提案 • 対象 : 線形モデル、ルールモデル 本研究の仮説 • 信頼できるモデル は 良いモデル の中にある • 良いモデル = 学習精度が(比較的)高い n 信頼できるモデル って何? • 予測が当たればOK? - No! それだけでは不十分 • 納得できればOK? - Yes! 納得できないものは使えない n 信頼できるモデル はどうしたら見つかる?
  5. 5. 研究背景 5
  6. 6. 研究背景:機械学習は完璧か? n 『機械学習技術を使うと、データから有用な知見が見つ かる』 と言われている。 • 少数の非零な回帰係数を持つモデルを学習できれば、解き たいタスクに関連するデータの特徴量(=重要な特徴量)が特 定できる。 • 人間に解釈しやすい予測ルールをデータから獲得できれば、 データの背後にある仕組みを推測できる。 n しかし、機械学習に完璧はありえない。 • 有限のデータから学習する以上、エラーは起こりうる。 • データ由来・学習手法由来のバイアスがのることがある。 6 機械学習は時として間違える。 機械学習がミスすると。。。
  7. 7. 研究背景:機械学習がミスすると。。。 7 専門家 Xという病気には 「体重」と「血圧」が 関連するはず!
  8. 8. 研究背景:機械学習がミスすると。。。 8 Xという病気には 「体重」と「血圧」が 関連するはず! Xという病気に関 連する項目は 「身長」と「血圧」 です! !?専門家 機械学習モデル
  9. 9. 研究背景:機械学習がミスすると。。。 n 理想的には 9 専門家 Xという病気には 「体重」と「血圧」が 関連するはず! Xという病気に関 連する項目は 「身長」と「血圧」 です! !? 機械学習モデル 自分の理解が 間違っていたかも。 調べ直そう。
  10. 10. 研究背景:機械学習がミスすると。。。 n 最悪の場合は 10 このモデルは 間違っている! こんなモデル 信頼できるか!! 専門家 Xという病気には 「体重」と「血圧」が 関連するはず! Xという病気に関 連する項目は 「身長」と「血圧」 です! !? 機械学習モデル
  11. 11. 研究背景:機械学習がミスすると。。。 n 最悪の場合は 11 悲劇 たとえ精度の高いモデルで も、ユーザの信頼が得られ ないと使われない。 せっかく見つかった知見も、 間違っていると思われてし まったら意味がない。 専門家 Xという病気には 「体重」と「血圧」が 関連するはず! Xという病気に関 連する項目は 「身長」と「血圧」 です! !? 機械学習モデル このモデルは 間違っている! こんなモデル 信頼できるか!!
  12. 12. 研究背景:ユーザに信頼されるモデルを作りたい。 n しかし、“間違えない機械学習”は難しい。 • 例えば『少数の非零な回帰係数』を探す問題では - Lassoと呼ばれる手法が広く使われている。 - しかし、Lassoは選ばれた非零の特徴量が“真に重要な特徴量”であ ることが一般には保証されない。 12
  13. 13. 研究背景:ユーザに信頼されるモデルを作りたい。 n しかし、“間違えない機械学習”は難しい。 • 例えば『少数の非零な回帰係数』を探す問題では - Lassoと呼ばれる手法が広く使われている。 - しかし、Lassoは選ばれた非零の特徴量が“真に重要な特徴量”であ ることが一般には保証されない。 n 本研究のアイディア • そもそも“良いモデル”を一つ作ろうとしているから難しい。 • “良いモデル”をたくさん作って、それをユーザに提示したらど うか? → 「機械学習モデルを列挙する問題」 を考える。 13
  14. 14. 研究背景:ユーザに信頼されるモデルを作りたい。 n しかし、“間違えない機械学習”は難しい。 • 例えば『少数の非零な回帰係数』を探す問題では - Lassoと呼ばれる手法が広く使われている。 - しかし、Lassoは選ばれた非零の特徴量が“真に重要な特徴量”であ ることが一般には保証されない。 n 本研究のアイディア • そもそも“良いモデル”を一つ作ろうとしているから難しい。 • “良いモデル”をたくさん作って、それをユーザに提示したらど うか? → 「機械学習モデルを列挙する問題」 を考える。 14 Xという病気に関連す る項目は。。。
  15. 15. 研究背景:ユーザに信頼されるモデルを作りたい。 n しかし、“間違えない機械学習”は難しい。 • 例えば『少数の非零な回帰係数』を探す問題では - Lassoと呼ばれる手法が広く使われている。 - しかし、Lassoは選ばれた非零の特徴量が“真に重要な特徴量”であ ることが一般には保証されない。 n 本研究のアイディア • そもそも“良いモデル”を一つ作ろうとしているから難しい。 • “良いモデル”をたくさん作って、それをユーザに提示したらど うか? → 「機械学習モデルを列挙する問題」 を考える。 15 Xという病気に関連す る項目は。。。 「身長」と「血圧」 う〜ん?
  16. 16. 研究背景:ユーザに信頼されるモデルを作りたい。 n しかし、“間違えない機械学習”は難しい。 • 例えば『少数の非零な回帰係数』を探す問題では - Lassoと呼ばれる手法が広く使われている。 - しかし、Lassoは選ばれた非零の特徴量が“真に重要な特徴量”であ ることが一般には保証されない。 n 本研究のアイディア • そもそも“良いモデル”を一つ作ろうとしているから難しい。 • “良いモデル”をたくさん作って、それをユーザに提示したらど うか? → 「機械学習モデルを列挙する問題」 を考える。 16 Xという病気に関連す る項目は。。。 「身長」と「血圧」 う〜ん? 「体重」と「血糖値」 う〜ん?
  17. 17. 研究背景:ユーザに信頼されるモデルを作りたい。 n しかし、“間違えない機械学習”は難しい。 • 例えば『少数の非零な回帰係数』を探す問題では - Lassoと呼ばれる手法が広く使われている。 - しかし、Lassoは選ばれた非零の特徴量が“真に重要な特徴量”であ ることが一般には保証されない。 n 本研究のアイディア • そもそも“良いモデル”を一つ作ろうとしているから難しい。 • “良いモデル”をたくさん作って、それをユーザに提示したらど うか? → 「機械学習モデルを列挙する問題」 を考える。 17 Xという病気に関連す る項目は。。。 「身長」と「血圧」 う〜ん? 「体重」と「血糖値」 う〜ん? 「体重」と「血圧」 これだ!!
  18. 18. 本研究で列挙する機械学習モデル 18 • 線形回帰モデル(Lasso) • ルールモデル 人間が意味を解釈しや すいモデルの代表例
  19. 19. スパース線形回帰モデル(Lasso) スパース線形回帰問題 Given: 入出力のペア 𝑥", 𝑦" ∈ ℝ'×ℝ 𝑖 = 1, 2, … , 𝑁 Find: 回帰係数𝛽 ∈ ℝ' s.t. 𝑥" 1 𝛽 ≈ 𝑦 (𝑖 = 1, 2, … , 𝑁) ただし、𝛽は非ゼロ要素が少ない(スパース) n スパース性 • 物理的要請:予測に効く特徴量は少ないはずという直感。 • 解釈性向上:意味のある少数の特徴量を絞り込みたい。 解法:Lasso回帰(ℓ6正則化) 𝛽∗ = argmin > 1 2 𝑋𝛽 − 𝑦 A + 𝜌 𝛽 6 • 凸最適化問題。多項式時間で効率的に大域解が求まる。 • 𝛽∗はスパース。supp(𝛽∗) = {𝑖 ∶ 𝛽" ∗ ≠ 0}が重要な特徴量。 19
  20. 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. 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 − 𝜌𝐼 正則化付きの訓練精度 の最大化問題
  22. 22. ルールモデル(その2):ルールセット n ルールリスト: If-Or-Thenで記述されるモデル • 例:ルールセットによる再犯の予測 If (性別=男性 and 重罪=True) Or (前科 > 3) Then 再犯=True n ルールセットの定義 • データ: 入出力のペア 𝑥", 𝑦" ∈ 2 L ×[𝐶] 𝑖 = 1, 2, … , 𝑁 • ルールセット: 𝑔 𝑥 𝑉) = { 1 ∃𝑖, 𝑣" ⊆ 𝑥 0 otherwise - 𝑉 = 𝑣" ∈ 2 L "W6 V 22
  23. 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. 𝑉 ≤ 𝐼 サイズ制約付きの訓練 精度の最大化問題
  24. 24. 本研究の成果:線形モデル/ルールモデルの列挙 列挙アルゴリズムの提案 モデルを目的関数値の順に列挙するアルゴリズム。 列挙したモデルからユーザに気に入ったものを選んでもらう。 副次的な成果 実データで、無数の異なるモデルが同等の予測精度を持つこ とを確認。 知識発見の観点からは、学習で得られたモデルを唯一絶対の ものとして安易に信頼するのは危険。 24 Lasso ルールリスト ルールセット 列挙法1 厳密列挙 多項式時間 厳密列挙 指数時間 近似列挙 多項式時間 厳密列挙 指数時間 列挙法2 NA NA 厳密列挙 指数時間
  25. 25. 問題の定式化と提案法 25
  26. 26. 問題の定式化:線形モデル/ルールモデルの列挙 n Lassoもルールモデルの学習も、ある集合の部分集合 を選び出すプロセスである。 • Lasso - 特徴量の集合𝑇の中から𝐼個の特徴量を選んで線形モデルを作る。 • ルールモデル - アイテムセット集合 𝑇 = 𝑡j ∶ 𝑡j ⊆ 𝑥 ⇒ 𝑦 = 𝑐 jW6 m から𝐼個のアイテム セットを選んでモデルを作る。 仮定: 適当な学習アルゴリズムの存在 任意の部分集合𝑆からモデルを作るアルゴリズムAlg‹(S) が存 在し、以下を満たす: (i) Alg‹(S)は𝛼近似解を出力する。 (ii) ∀𝑆, 𝑆a ∈ 2s, Alg‹ S = Alg‹ Sa = 𝑚 if supp 𝑚 ⊆ 𝑆a ⊆ 𝑆. 26モデルとして選ばれた部分集合
  27. 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
  28. 28. アルゴリズム(列挙法1):『Lawlerの 𝒌-best列挙』 アルゴリズム概略 1. 部分集合𝑆を入力して、モデル𝑚が出力されたとする。 2. 全ての𝑡 ∈ supp(𝑚)について 𝑆からを𝑡を取り除いた𝑆a = 𝑆 ∖ {𝑡}を作る 。 Alg‹(𝑆′)の解𝑚′を得る。 (𝑚a, 𝑆′)をモデルの候補としてヒープに保持する。 3. 保持しているモデルの候補のうち、目的関数値が最大の ものを出力する。 4. 以上、繰り返し。 28
  29. 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. 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. 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. 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. 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. 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. 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. 36. 列挙法1の妥当性 n 定義:学習可能な全てのモデルの集合ℳ‘’’ • ℳ‘’’ = {𝑚; 𝑚 = Alg‹ 𝑆 , ∃𝑆 ∈ 2s} 定理 列挙されたモデル集合ℳ• = 𝑚– –W6 • について以下が成立。 (i) ∀𝑘, ℓ ≤ 𝐾, 𝑘 < ℓ ⇒ 𝑓 𝑚– ≥ 𝛼𝑓 𝑚ℓ . (ii) ∀𝑚 ∈ ℳ‘’’, 𝑚 ∈ ℳ• if ∃𝑘 ≤ 𝐾 s. t. 𝛼𝑓 𝑚 ≥ 𝑓 𝑚– . • (i) 上位のモデルは下位のモデルよりも𝛼倍以上悪くはない。 - アルゴリズムが厳密(𝛼 = 1)なら列挙順序も厳密。 • (ii) 列挙に(大きな)見落としはない。 - アルゴリズムが厳密(𝛼 = 1)なら見落としはゼロ。 36
  37. 37. 定理から示されること • Lassoは厳密列挙が可能。列挙数𝐾が定数なら多項式時間。 - Lassoは多項式時間で厳密解が求まる(𝛼 = 1)。 • ルールリストは厳密列挙が可能。ただし指数時間。 - CORESLが厳密(𝛼 = 1)だが指数時間アルゴリズムなので。 • ルールセットは(1 − 1/𝑒)近似列挙が可能。多項式時間。 - 貪欲法が多項式時間の(1 − 1/𝑒)近似アルゴリズムなので。 • ルールセットは厳密列挙が可能。ただし指数時間。 - Filtered Searchが厳密(𝛼 = 1)だが指数時間アルゴリズムなので。 37 Lasso ルールリスト ルールセット 列挙法1 厳密列挙 多項式時間 厳密列挙 指数時間 近似列挙 多項式時間 厳密列挙 指数時間
  38. 38. 列挙法1の問題 n 色々な𝑆についてAlg‹(𝑆)を計算する必要がある。 • Filtered Searchのような探索ベースの手法の場合、異なる𝑆と 𝑆′についてもAlg‹の中で同じモデルを探索することがある。 • 同じモデルを何度も探索するのは無駄 = 非効率 n 効率を改善する列挙法2を提案。 • モデルの学習が劣モジュラ最大化の場合に限定。 - ルールセットの学習(被覆最大化)が該当。 • Filtered Searchを拡張することで、同じモデルの探索の重複 を回避して効率化。 38
  39. 39. 列挙法2:Filtered Searchの拡張 n Filtered Search:ヒューリスティック関数ℎ(𝑚)を使った探索 • ℎ(𝑚)はモデル𝑚に要素を追加しても改善できない場合にゼ ロ、改善できる場合は正になる関数(詳細は割愛)。 • 列挙法2では、ヒューリスティック関数ℎ(𝑚)を使って局所解を 順番に探索していく。 アルゴリズム概略 初期化: supp 𝑚 = ∅, モデル𝑚をヒープに保持する。 1. ヒープから𝑓 𝑚 + ℎ(𝑚)が最大のモデル𝑚を取り出す。 2-a. ℎ(𝑚)がゼロ。 モデル𝑚を出力する。 2-b. ℎ(𝑚)が正。 全ての𝑡 ∉ supp(𝑚)について モデル𝑚に𝑡を追加したモデル𝑚’を作ってヒープに保持する。 3. 以上、繰り返し。 39
  40. 40. 列挙法2の妥当性 n 定義:学習可能な全てのモデルの集合ℳ‘’’ • ℳ‘’’ = {𝑚; 𝑚 = Alg‹ 𝑆 , ∃𝑆 ∈ 2s} 定理 目的関数𝑓 𝑚 が劣モジュラ関数だとする。 列挙されたモデル集合ℳ•について以下が成立。 (i) ∀𝑘, ℓ ≤ 𝐾, 𝑘 < ℓ ⇒ 𝑓 𝑚– ≥ 𝑓 𝑚ℓ . (ii) ∀𝑚 ∈ ℳ‘’’, 𝑚 ∈ ℳ• if ∃𝑘 ≤ 𝐾 s. t. 𝑓 𝑚 ≥ 𝑓 𝑚– . • 列挙法1より効率的なルールセットの厳密列挙が可能。 40 Lasso ルールリスト ルールセット 列挙法2 NA NA 厳密列挙 / 指数時間
  41. 41. 実験結果 41
  42. 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. 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. 44. 実験3. ルールモデルの列挙: 再犯の予測 n COMPAS data (https://github.com/nlarusstone/corels) 犯罪者の再犯を予測するモデルを作りたい。 ブラックボックスモデルだと不平等な判定がされているかわか らないので、人間にわかりやすいルールモデルが好ましい。 • 𝑥 ∈ {0, 1}6±:犯罪歴に関する各種属性があるか(2 値) • 𝑦 ∈ {再犯有, 再犯無}:再犯の有無 • データ数(人数):6,489 44 (a) 列挙法1 (ルールリスト、厳密列挙) (b) 列挙法1 (ルールセット、近似列挙) 近似列挙だけど、 結果は厳密だった Lasso同様、高い質のモ デルが複数あった。 実用ではこれら高品質の モデルを精査して、より納 得感の高いモデルを使う 方が良いかも。 きちんと降順に 列挙できた
  45. 45. 実験4. ルールモデルの列挙: 毒キノコの識別 n Mushroom data (UCI Repository) キノコの外観の特徴から毒キノコか識別する。 科学的知見を得るために、人間にわかりやすいルールモデル が好ましい。 • 𝑥 ∈ {0, 1}AA:キノコ外観に関する各種属性があるか(2 値) • 𝑦 ∈ {毒キノコ, 食べられる}:毒キノコか否か • データ数(キノコ数):6,499 45 (a) 列挙法1 (ルールセット、近似列挙) (b) 列挙法2 (ルールセット、厳密列挙) 近似列挙なので順番は 完全には正しくない きちんと降順に 列挙できた Lasso同様、高い質のモ デルが複数あった。 ルールリストはCORELS がメモリ使い果たして停 止したので除外
  46. 46. まとめ n 問題意識:ユーザに信頼されるモデルを作りたい。 • 単一のモデルを出力するのでなく、複数のモデルを列挙して 出力する。 n 「線形モデル/ルールモデルの列挙」として問題を定式 化した。 n 二つのアルゴリズムを提案した。 • 列挙法1: Lawlerの𝑘-bestフレームワークを利用 • 列挙法2: Filtered Searchを拡張して効率化 n 実験より、実問題には「同じくらいの品質のモデルが大 量に存在する」ことを確認。 • これら“良いモデル”の中に納得感の高いものがあると期待 • 知識発見では、単一のモデルに依存するのは危険 46

×