bayesian efficient multiple kernel learning
DESCRIPTION
論文紹介TRANSCRIPT
Bayesian Efficient
Multiple Kernel Learning [ICML 2012]
Mehmet Gönen
(Edinburgh, Scotland, UK)
斎藤 淳哉
間違い等ありましたらご連絡ください
junya【あっと】fugaga.info
論文紹介
2013/03/25
目次
• 概要
• 問題設定
• Multiple Kernel Learning
• 提案手法
–構成
–学習アルゴリズム
–推定アルゴリズム
• 実験
• まとめ 1/16
概要
提案手法: Bayesian Efficient Multiple Kernel Learning(BEMKL)
特長: • 高速(カーネルを数百個使っても1分かからない!) ※従来手法との比較実験なし
• 高精度 ※従来手法との比較実験あり
特徴: • 中間データ生成
• 変分近似
テーマ:Multiple Kernel Learning
特徴1 特徴2 特徴3 ラベル𝑦
0.53 良い天気 1
0.2 桜がきれい -1
複数のカーネルを組み合わせた(分類)学習
利点1)異なる種類の特徴をもつデータを学習できる
いろいろな超パラメータのカーネルを組み合わせる exp −𝑥1−𝑥2
2
12, exp −
𝑥1−𝑥22
0.52, exp −
𝑥1−𝑥22
0.252,・・・
利点2)超パラメータの調整なしでデータを学習できる
特徴に合ったカーネルを組み合わせる
2/16
問題設定
• 2値分類
–入力
• 訓練データ
– 特徴ベクトル𝒙 = 𝑥𝑖 𝑖=1𝑁
– ラベル 𝒚 = 𝑦𝑖 ∈ −1,+1 𝑖=1𝑁
• テストデータ
– 特徴ベクトル𝑥∗
–出力
• テストデータ
– 特徴ベクトル𝑥∗のラベルの確率分布𝑝 𝑦∗ = +1|𝑥∗
3/16
Multiple Kernel Learning
• 複数のカーネルを組み合わせた学習
𝑓 𝑥∗ = 𝑎𝑚𝑘𝑚 𝑥𝑛, 𝑥∗
𝑃
𝑚=1
𝑁
𝑛=1
+ 𝑏
例)
𝑝 𝑦∗ = +1|𝑥∗ = sigmoid𝑓 𝑥∗ − 𝜈
𝜎
P個のカーネル 𝑘𝑚 ∈ 𝑋 × 𝑋 → ℝ 𝑚=1𝑃 を使って、
とモデル化して、𝒂 = 𝑎1, … , 𝑎𝑚, … , 𝑎𝑃⊤, 𝑏 を学習
4/16
提案手法
• Bayesian Efficient Multiple Kernel Learning
(BEMKL)
• 特徴
–事前分布を使用した完全なベイズモデル
–中間データを生成
–変分近似で(MCMCよりも)高速
5/16
𝑲𝑚
構成(グラフィカルモデル)
𝑦
𝑃
𝛾 𝑏
𝒇 𝑮
𝒂 𝝀 𝒆 𝝎
𝑮 =
𝑔11 … 𝑔1
𝑚
⋮ ⋱ ⋮… 𝑔1
𝑃
⋱ ⋮𝑔𝑖1 … 𝑔𝑖
𝑚
⋮ ⋱ ⋮𝑔𝑁1 … 𝑔𝑁
𝑚
… 𝑔𝑖𝑃
⋱ ⋮… 𝑔𝑁
𝑃
𝑲𝑚 =
𝑘𝑚 𝑥1, 𝑥1 … 𝑘𝑚 𝑥1, 𝑥𝑖⋮ ⋱ ⋮
… 𝑘𝑚 𝑥1, 𝑥𝑁⋱ ⋮
𝑘𝑚 𝑥𝑖 , 𝑥1 … 𝑘𝑚 𝑥𝑖 , 𝑥𝑖⋮ ⋱ ⋮
𝑘𝑚 𝑥𝑁 , 𝑥1 … 𝑘𝑚 𝑥𝑁 , 𝑥𝑖
… 𝑘𝑚 𝑥𝑖, 𝑥𝑁⋱ ⋮… 𝑘𝑚 𝑥𝑁 , 𝑥𝑁
𝑔𝑖𝑚|𝑎, 𝑘𝑚,𝑖~𝒩 𝑔𝑖
𝑚; 𝑎⊤𝑘𝑚,𝑖 , 1
𝜆𝑖~𝒢 𝜆𝑖; 𝛼𝜆, 𝛽𝜆 𝑎𝑖|𝜆𝑖 ~𝒩 𝑎𝑖; 0, 𝜆𝑖−1
𝜔𝑚~𝒢 𝜔𝑚; 𝛼𝜔 , 𝛽𝜔 𝑒𝑚|𝜔𝑚 ~𝒩 𝑒𝑚; 0, 𝜔𝑚−1
𝑏|𝛾 ~𝒩 𝑏; 0, 𝛾−1 𝛾~𝒢 𝛾 ; 𝛼𝛾 , 𝛽𝛾
𝑓𝑖|𝑏, 𝑒, 𝑔𝑖~𝒩 𝑓𝑖; 𝑒⊤𝑔𝑖 + 𝑏, 1
𝑦𝑖|𝑓𝑖~𝛿 𝑓𝑖𝑦𝑖 > 𝜈 中間データ ラベル
カーネルの重み 中間データの重み
バイアス
カーネル(の空間内での
訓練データの相互距離)
※ 𝒩:正規分布、𝒢:ガンマ分布、𝛿:クロネッカーのデルタ関数
予測値
6/16
学習アルゴリズム(準備;変分近似のキモ)
【定理】任意の確率変数𝚯, 𝚵および確率密度関数𝑞 𝚯, 𝚵 に対して、次式が成り立つ。
log 𝑝 𝒚| 𝐊𝑚 𝑚=1𝑃 = log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1
𝑃 d𝚯d𝚵
= log 𝑞 𝚯, 𝚵𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1
𝑃
𝑞 𝚯, 𝚵d𝚯d𝚵
≥ 𝑞 𝚯, 𝚵 log𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1
𝑃
𝑞 𝚯, 𝚵d𝚯d𝚵
= E𝑞 𝚯,𝚵 log𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1
𝑃
𝑞 𝚯, 𝚵
= E𝑞 𝚯,𝚵 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 − E𝑞 𝚯,𝚵 log 𝑞 𝚯, 𝚵
【証明】
log 𝑝 𝒚| 𝐊𝑚 𝑚=1𝑃 ≥ E𝑞 𝚯,𝚵 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1
𝑃 − E𝑞 𝚯,𝚵 log 𝑞 𝚯, 𝚵
-logは上に凸な関数なのでJensen‘s inequalityより
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲 = 𝑞 𝚯, 𝚵
等号成立時、次式が成り立つ。
PRMLのとちょっと違う証明
7/16
学習アルゴリズム(準備;変分近似のキモ)
𝑝 𝐲,𝚯,𝚵| 𝐊𝑚 𝑚=1𝑃
𝑞 𝚯,𝚵= 1のとき等号成立
𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
𝑞 𝚯, 𝚵= 1
𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 = 𝑞 𝚯, 𝚵
𝑝 𝐲, 𝚯, 𝚵, 𝐊𝑚 𝑚=1𝑃
𝑝 𝐊𝑚 𝑚=1𝑃 = 𝑞 𝚯, 𝚵
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲 𝑝 𝐊𝑚 𝑚=1
𝑃 , 𝐲
𝑝 𝐊𝑚 𝑚=1𝑃 = 𝑞 𝚯, 𝚵
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲 𝑝 𝒚| 𝐊𝑚 𝑚=1
𝑃 = 𝑞 𝚯, 𝚵
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲 = 𝑞 𝚯, 𝚵
𝑝 𝒚| 𝐊𝑚 𝑚=1𝑃 = 1
→
→
→
→
→
8/16
学習アルゴリズム(準備;変分近似のキモ)
【定理】任意の確率変数𝚯, 𝚵および確率密度関数𝑞 𝚯, 𝚵 に対して、次式が成り立つ。
log 𝑝 𝒚| 𝐊𝑚 𝑚=1𝑃 ≥ E𝑞 𝚯,𝚵 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1
𝑃 − E𝑞 𝚯,𝚵 log 𝑞 𝚯, 𝚵
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲 = 𝑞 𝚯, 𝚵
等号成立時、次式が成り立つ。
𝑞 𝚯, 𝚵 を簡単な扱いやすい関数(で、かつ、それっぽい関数)に定義して、
𝚯, 𝚵をうまく調整して、周辺尤度の下限が最大になるようにすれば、
簡単な扱いやすい関数𝑞 𝚯, 𝚵 で
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲
を近似できる。
何が言える?:
𝚯 = 𝑎, 𝑏, 𝑒, 𝑓, 𝑮 , 𝚵 = 𝛾, 𝝀, 𝜔 とするとき、
𝑝 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 , 𝐲 は、本来、複雑な関数(もはや、何もできないレベル)。
周辺尤度 周辺尤度の下限
変分近似の重要で基本的な考え方! 9/16
学習アルゴリズム(準備)
次のように𝑞 𝚯, 𝚵 を定義する。
※ 𝒯𝒩 𝑥; 𝜇, Σ, 𝜌 :切断正規分布。
𝒯𝒩 𝑥; 𝜇, Σ, 𝜌 = 𝒩 𝑥; 𝜇, Σ if 𝜌 is True0 otherwise
ざっくり定義しているだけ。
周辺尤度の下限を最大化する𝑞 𝚯, 𝚵 に
するため、次スライドの定理を使用。
10/16
学習アルゴリズム(準備;変分近似のキモ)
【定理】前スライドの𝑞 𝚯, 𝚵 の定義の下、周辺尤度を最大化するとき、
𝝉 ∈ 𝝀 , 𝒂 , 𝑮 , 𝛾 , 𝝎 , 𝑏, 𝒆 , 𝒇 に対して、次式が成り立つ。
𝑞 𝝉 ∝ exp E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
【証明】 前証明より、𝑝 𝐲,𝚯,𝚵| 𝐊𝑚 𝑚=1
𝑃
𝑞 𝚯,𝚵= 1が成り立っているので、
𝑞 𝚯, 𝚵 = 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
log 𝑞 𝚯, 𝚵 = log𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
E𝑞 𝚯,𝚵 ∖𝝉 log 𝑞 𝚯, 𝚵 = E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
E𝑞 𝚯,𝚵 ∖𝝉 log 𝑞 𝝉 𝑞 𝚯, 𝚵 ∖ 𝝉 = E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
E𝑞 𝚯,𝚵 ∖𝝉 log 𝑞 𝝉 + E𝑞 𝚯,𝚵 ∖𝝉 log 𝑞 𝚯, 𝚵 ∖ 𝝉 = E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
log 𝑞 𝝉 + const = E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
𝑞 𝝉 = exp E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 exp −const
𝑞 𝝉 ∝ exp E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
→
→
→
→
→
→
→
11/16
学習アルゴリズム
1.適当な初期値の元で以下を計算
2.周辺尤度の下限:E𝑞 𝚯,𝚵 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃 − E𝑞 𝚯,𝚵 log 𝑞 𝚯, 𝚵
が収束しているか確認し、収束していなければ1.へ戻る
※
𝑞 𝝉 ∝ exp E𝑞 𝚯,𝚵 ∖𝝉 log 𝑝 𝐲, 𝚯, 𝚵| 𝐊𝑚 𝑚=1𝑃
を使うと求められる
12/16
推定アルゴリズム
※ Φ:標準正規分布の累積分布関数
新たな特徴ベクトル𝑥∗のラベル𝑦∗のとる確率は次式より求められる
𝑘𝑚,∗ = 𝑘𝑚 𝑥1, 𝑥∗ , … , 𝑘𝑚 𝑥𝑁, 𝑥∗⊤
13/16
実験(1)
・実験データ:UCI repository pima
・訓練データ数:N=537 (テストデータ数:230程度) ・カーネル数:P=117
・9個の特徴それぞれに対して以下のカーネルを用意
・ガウスカーネル:10個
・多項式カーネル:3個
・PC:3.0GHzCPU 4GBメモリ
14/16
実験(2)
・実験データ: Protein Fold Recognition
・訓練データ数:N=311 (テストデータ数:383) ・カーネル数:P=12
15/16
まとめ
• Multiple Kernel Learning: – 複数のカーネルを組み合わせる学習手法
• 提案手法BEMKL: – 高速・高精度
– 数百個のカーネルを使っても1分以下で学習
16/16