Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ガウス過程入門

 ガウス過程入門

株式会社LabBase主催 LabTech Talk vol.59 にて使用した資料です.

Takahiro Kawashima

November 16, 2022
Tweet

More Decks by Takahiro Kawashima

Other Decks in Science

Transcript

  1. ガウス過程入門 川島 貴大 1, 2 LabTech Talk, November 16, 2022

    1 総合研究大学院大学 統計科学専攻 2 国立精神・神経医療研究センター
  2. さまざまな非線形モデル • 深層学習 •  非常に高い表現力 •  広範なタスクで高性能な万能性 •

     大量のデータと計算リソースが必要 • 決定木・アンサンブル学習 •  コンペなど多くの実問題で深層学習を超える精度 •  分類以外の問題への拡張性の低さ • ガウス過程・カーネル法 •  少数データでの安定性 •  回帰・分類を含め,多くのタスクに対する拡張性の高さ •  大規模なデータ・タスクにはしばしば不向き 4
  3. ベイズの定理 ベイズの定理 確率変数 𝑋, 𝑌 について,次のベイズの定理が成り立つ: 𝑝(𝑋|𝑌 ) = 𝑝(𝑌

    |𝑋)𝑝(𝑋) 𝑝(𝑌 ) . 𝑝(𝑋|𝑌 ) は条件付き分布で, 「𝑌 の値が得られたもとでの 𝑋 の 分布」を表す. ベイズ推論:ベイズの定理を応用した機械学習の枠組み ∠ ガウス過程もベイズ推論の一種 5
  4. ベイズ推論 手元のデータを用いて,それを背後で支配する未知のパラメータ を求めるのが目標. D をデータ集合,𝜽 を未知パラメータとすると,ベイズ推論では 𝑝(𝜽|D) = 𝑝(D|𝜽)𝑝(𝜽) 𝑝(D)

    ∝ 𝑝(D|𝜽)𝑝(𝜽) を求める.各項はそれぞれ次のように呼ばれる: • 𝑝(𝜽):事前分布 • 𝑝(D|𝜽):尤度 • 𝑝(𝜽|D):事後分布 • 𝑝(D):分配関数(正規化定数) 6
  5. ガウス分布 ベイズ推論ではデータの特性に合わせてさまざまな確率分布が 用いられるが,今回の主役はガウス分布 (単変量)ガウス分布 N(𝑥|𝜇, 𝜎2) = 1 √ 2𝜋𝜎2

    exp (− (𝑥 − 𝜇)2 2𝜎2 ) 多変量ガウス分布 N(𝒙|𝝁, 𝜮) = (2𝜋)− 𝐷 2 |𝜮|− 1 2 exp (− 1 2 (𝒙 − 𝝁)⊤𝜮−1(𝒙 − 𝝁)) 7
  6. ガウス分布 - 3 - 2 - 1 φ μ,σ2 (

    0.8 0.6 0.4 0.2 0.0 −5 −3 1 3 5 x 1.0 −1 0 2 4 −2 −4 x) 0, μ= 0, μ= 0, μ= −2, μ= 2 0.2, σ = 2 1.0, σ = 2 5.0, σ = 2 0.5, σ = 単変量ガウス分布 二変量ガウス分布 平均 𝜇 / 𝝁 によってピーク位置が,分散/共分散 𝜎2 / 𝜮 によって 広がり方が決まる 8
  7. ベイズ推論による線形回帰 ベイズ推論による線形回帰を試してみる 𝑁 = 31 本の木から胴回りの長さと体積を測ったデータ 胴回り長 𝑥 と体積 𝑦

    の関係を推定 パラメータを 𝒘 = (𝑤0 , 𝑤1 )⊤ とし, 𝑝(𝑦𝑖 |𝑥𝑖 , 𝒘) = N(𝑦𝑖 |𝑤0 + 𝑤1 𝑥𝑖 , 𝜎2), 𝑝(𝒘) = N(𝒘|𝟎, 103𝑰) と尤度・事前分布をおいてみる. 20 40 60 80 8 12 16 20 Girth Volume 9
  8. ベイズ推論による線形回帰 灰:事前分布 𝑝(𝑤𝑖 ),緑:事後分布 𝑝(𝑤𝑖 |D) 0.00 0.05 0.10 0.15

    -100 -50 0 50 100 𝑤0 の事前・事後分布 0.0 0.5 1.0 1.5 2.0 -10 -5 0 5 10 𝑤1 の事前・事後分布 ∠ パラメータの情報が,もとの事前分布からより確信度の高い 事後分布へ更新された 10
  9. 基底関数によるベイズ線形回帰モデル 先ほどの例では尤度の平均を 𝑤0 + 𝑤1 𝑥 と与えたが,これを 𝒘⊤𝝓(𝑥) = 𝐿

    ∑ 𝑙=0 𝑤𝑙 𝜙𝑙 (𝑥) = 𝑤0 𝜙0 (𝑥) + 𝑤1 𝜙1 (𝑥) + ⋯ + 𝑤𝐿 𝜙𝐿 (𝑥) と一般化してみる1. ∠ たとえば 𝜙𝑙 (𝑥) = 𝑥𝑙 とおくと,𝐿 次の多項式回帰に すなわち { 𝑝(𝑦𝑖 |𝑥𝑖 , 𝒘) = N(𝑦𝑖 |𝒘⊤𝝓(𝑥𝑖 ), 𝜎2) (尤度) , 𝑝(𝒘) = N(𝒘|𝟎, 𝑠2𝑰) (事前分布) なる回帰モデルを設定する. 1ガウス過程の世界では 𝝓 は特徴写像と呼ばれる. 11
  10. ベイズ線形回帰モデルの周辺化 { 𝑝(𝑦𝑖 |𝑥𝑖 , 𝒘) = N(𝑦𝑖 |𝒘⊤𝝓(𝑥𝑖 ),

    𝜎2), 𝑝(𝒘) = N(𝒘|𝟎, 𝑠2𝑰) ここでパラメータ 𝒘 を同時分布 𝑝(𝒚, 𝒘|𝒙) = 𝑝(𝒚|𝒙, 𝒘)𝑝(𝒘) から 積分消去(周辺化)してしまうと,𝒚 の条件付き分布 𝑝(𝒚|𝒙) = N(𝒚|𝟎, 𝑠2𝜱𝜱⊤ + 𝜎2𝑰) が得られる.ここで 𝑁 × (𝐿 + 1) 行列 𝜱 の (𝑖, 𝑙) 成分は 𝜙𝑙 (𝑥𝑖 ). また 𝜱𝜱⊤ は 𝑁 × 𝑁 行列で,(𝑖, 𝑗) 成分は 𝝓(𝑥𝑖 )⊤𝝓(𝑥𝑗 ). ∠ 𝝓(𝑥𝑖 ) と 𝝓(𝑥𝑗 ) の内積 12
  11. ベイズ線形回帰からガウス過程回帰へ 𝑝(𝒚|𝒙) = N(𝒚|𝟎, 𝑠2𝜱𝜱⊤ + 𝜎2𝑰) ガウス過程回帰では,𝝓(𝑥) の具体的な形式は直接与えずに,その 内積だけを指定する.

    つまりカーネル関数と呼ばれる 2 変数関数 𝑘(𝑥, 𝑥′) をあらかじめ 決めておき,𝝓(𝑥𝑖 )⊤𝝓(𝑥𝑗 ) = 𝑘(𝑥𝑖 , 𝑥𝑗 ) と置き換えてしまう. すなわち 𝑘(𝑥𝑖 , 𝑥𝑗 ) を (𝑖, 𝑗) 成分にもつ 𝑁 × 𝑁 行列 𝑲 で, 𝜱𝜱 = 𝑲 と置き換える2: 𝑝(𝒚|𝒙) = N(𝒚|𝟎, 𝑲 + 𝜎2𝑰) 2ここでは簡単のため 𝑠2 も 𝑲 内に押し込めた. 13
  12. ガウス過程回帰 ガウス過程回帰の尤度 𝑝(𝒚|𝑿) = N(𝒚|𝟎, 𝑲 + 𝜎2𝑰) ここでグラム行列 𝑲

    は 𝑲 = ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ 𝑘(𝒙1 , 𝒙1 ) 𝑘(𝒙1 , 𝒙2 ) ⋯ 𝑘(𝒙1 , 𝒙𝑁 ) 𝑘(𝒙2 , 𝒙1 ) 𝑘(𝒙2 , 𝒙2 ) ⋯ 𝑘(𝒙2 , 𝒙𝑁 ) ⋮ ⋮ ⋱ ⋮ 𝑘(𝒙𝑁 , 𝒙1 ) 𝑘(𝒙𝑁 , 𝒙2 ) ⋯ 𝑘(𝒙𝑁 , 𝒙𝑁 ) ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ なる 𝑁 × 𝑁 の(半正定値対称)行列. カーネル関数 𝑘(𝑥, 𝑥′) は通常正定値性と呼ばれる性質を満たす ように設計するが,今回は割愛 14
  13. ガウス過程回帰による予測 未知の入力点 𝒙∗ に対する出力 𝑦∗ の予測分布もガウス分布に関す る計算から求まる: ガウス過程回帰の予測分布 データ集合を D

    = {(𝑦𝑖 , 𝒙𝑖 )𝑁 𝑖=1 } とする.ガウス過程回帰の 予測分布は 𝑝(𝒚∗|𝒙∗, D) = N(𝒌⊤ ∗ (𝑲 + 𝜎2𝑰)−1𝒚, 𝑘∗∗ − 𝒌⊤ ∗ (𝑲 + 𝜎2𝑰)−1𝒌∗ ). ここで 𝑘∗∗ = 𝑘(𝒙∗, 𝒙∗), 𝒌∗ = (𝑘(𝒙1 , 𝒙∗), 𝑘(𝒙2 , 𝒙∗), … , 𝑘(𝒙𝑁 , 𝒙∗))⊤. ∠  尤度や予測分布が閉形式で書ける! 15
  14. 代表的なカーネル関数 • ガウスカーネル ∠ 𝑘(𝒙, 𝒙′) = exp(− 1 2𝜎2

    ‖𝒙 − 𝒙′‖2) • ラプラスカーネル ∠ 𝑘(𝒙, 𝒙′) = exp(−𝛼‖𝒙 − 𝒙′‖2 1 ) • Matérn 3/2 カーネル ∠ 𝑘(𝒙, 𝒙′) = (1 + √ 3 𝜌 ‖𝒙 − 𝒙′‖) exp(− √ 3 𝜌 ‖𝒙 − 𝒙′‖) ガウスカーネル ラプラスカーネル Matérn 3/2 カーネル 16
  15. ガウス過程の特徴 ガウス過程の利点と欠点  解が閉形式で求まる ∠ カーネル関数のハイパーパラメータはうまく決定する必要  データ点ペアでの内積(≈ 類似度)さえ定義できれば使える ∠

    画像・文字列・グラフなど,構造的なデータへの適用が可能  回帰以外のタスクへの拡張性(後述)  大きいデータセットへのスケールの難しさ(後述)  深層学習ほどの高い表現力は期待しにくい ∠ 良くも悪くもカーネル関数にモデルが大きく支配される 17
  16. ガウス過程回帰の例 Boston Housing : ボストン内の地区で住宅価格の中央値と 13 変 数との関係を調べたデータ (𝑁 =

    506) 住宅価格の中央値 (medv) と低所得者層割合 (lstat) を用いてガウ ス過程回帰を行ってみる -2 -1 0 1 2 3 -1 0 1 2 3 lstat medv 18
  17. ガウス過程回帰の例 -2 -1 0 1 2 3 -2 0 2

    4 lstat medv ガウスカーネルによる回帰 -2 -1 0 1 2 3 -2 0 2 4 lstat medv Matérn 3/2 カーネルによる回帰 ガウスカーネルは滑らかな,Matérn カーネルは比較的ギザギザ した回帰を行う傾向 19
  18. ガウス過程の別解釈 先ほどはガウス過程回帰を線形回帰モデルから導出した. 一方,次のような確率モデルもガウス過程回帰と等価になる. ガウス過程回帰の補助変数表現 𝑝(𝒚|𝒇) = N(𝒚|𝒇, 𝜎2𝑰) 𝑝(𝒇|𝑿) =

    N(𝒇|𝟎, 𝑲) 𝑝(𝒚, 𝒇|𝒙) = 𝑝(𝒚|𝒇)𝑝(𝒇|𝒙) から 𝒇 を積分消去すれば,ガウス過程 回帰の尤度と同じ形に. 入力 𝒙1 , … , 𝒙𝑁 の値が変わると,𝒇 の分布が変わる ∠ 𝒇 をある関数 𝑓(⋅) の関数値𝒇 = (𝑓(𝒙1 ), … , 𝑓(𝒙𝑁 ))⊤と解釈 20
  19. ガウス過程の計算問題 ガウス過程の各種計算を正確に行うには O(𝑁3) の計算量が必要 ∠ 主にグラム行列の逆行列 𝑲−1 の計算による ∠ 

    大規模な問題にスケールしない ガウス過程の計算量削減に用いられる代表的なアプローチが 補助入力点によるもの. ∠ 入力空間上の少数の点にデータを “代表” させる 今回は比較的メジャーなスパース変分近似を紹介 22
  20. スパース変分近似 ガウス過程回帰の尤度 𝑝(𝒚|𝑿) = N(𝟎, 𝑲ff + 𝜎2𝑰) は,入力空間 上に

    𝑀 個の誘導点 𝒛1 , … , 𝒛𝑀 を導入することで, 𝑝(𝒚|𝒇) = N(𝒇, 𝜎2𝑰) 𝑝(𝒇|𝒖) = N(𝑲fu 𝑲−1 uu 𝒖, 𝑲ff − 𝑲fu 𝑲−1 uu 𝑲⊤ fu ) 𝑝(𝒖) = N(𝟎, 𝑲uu ) とさらに分解できる(𝒇, 𝒖 の積分消去でもとに戻る) . • 𝑲ff :(𝑖, 𝑗) 成分が 𝑘(𝒙𝑖 , 𝒙𝑗 ) の 𝑁 × 𝑁 行列 • 𝑲fu :(𝑖, 𝑚) 成分が 𝑘(𝒙𝑖 , 𝒛𝑚 ) の 𝑁 × 𝑀 行列 • 𝑲uu :(𝑙, 𝑚) 成分が 𝑘(𝒛𝑙 , 𝒛𝑚 ) の 𝑀 × 𝑀 行列 23
  21. スパース変分近似 スパース変分近似では,𝒇, 𝒖 の事後分布を 𝑞(𝒇, 𝒖) = 𝑝(𝒇|𝒖)𝑞(𝒖) 𝑞(𝒖) =

    N(𝒎, 𝜮) なる形に制限したときに,最も真の事後分布への近似が良くなる ように 𝒎, 𝜮 を決定する. 近似の良さは KL ダイバージェンスを用いて測る: 𝐷KL (𝑞‖𝑝) = ∫ 𝑞(𝒙) log 𝑞(𝒙) 𝑝(𝒙) 𝑑𝒙. ∠ 確率分布間の乖離度を示す代表的な指標 24
  22. スパース変分近似 KL ダイバージェンス最小化により,𝑞(𝒎, 𝜮) の最適パラメータが 𝜮 = [𝑲−1 uu +

    𝜎−2𝑲−1 uu 𝑲uf 𝑲fu 𝑲−1 uu ]−1, 𝒎 = 𝜎−2𝜮𝑲uf 𝒚 と求まる. ∠  𝑁 × 𝑁 行列の逆行列が現れなくなった! 予測分布も同様に 𝑁 × 𝑁 の逆行列計算を回避して近似計算可能 各種計算量はO(𝑁3)からO(𝑁𝑀2)へ ∠  データ数 10k–100k オーダーでの学習が現実的に 25