ML_123shinshun

A7381cb5cf18c259c48cc3d5fe8f4fac?s=47 eqs
January 12, 2019

 ML_123shinshun

LT@高専カンファレンス新春 in 大阪 (http://kosenconf.jp/?123shinshun)

A7381cb5cf18c259c48cc3d5fe8f4fac?s=128

eqs

January 12, 2019
Tweet

Transcript

  1. Machine Learning with Bayesian Inference Satoshi Murashige 高専カンファレンス新春 in 大阪

    (January 12, 2019) Mathematical Informatics Lab., NAIST
  2. 自己紹介 GitHub: eqs • 村重哲史 (Satoshi Murashige) • 2011.4 –

    2018.3 徳山工業高等専門学校 + 専攻科 • 2018.4 – 現在 奈良先端科学技術大学院大学 (NAIST) • 先端科学技術研究科 先端科学技術専攻 情報科学領域 (旧 情報科学研究科 情報科学専攻) • 数理情報学研究室 2/16
  3. Today’s theme ベイズ推論による機械学習 P(B|A) = P(A|B)P(B) P(A) (数式が怖い人は図だけ見て話についてきて下さい ) 3/16

  4. 調査:該当すると思うものに挙手 1. 機械学習かじったことがある 2. 微積分わかる 3. 線型代数わかる 4. フーリエ解析・ラプラス変換わかる 5.

    確率統計わかる 6. ベイズ推論やったことある 4/16
  5. 高専 1 年のときの前期中間試験 • 数学 IA: • 数学 IB: 5/16

  6. 高専 1 年のときの前期中間試験 • 数学 IA:25 点 • 数学 IB:44

    点 5/16
  7. 機械学習の定義 “機械学習とは,データに潜む規則や構造を抽出すること により,未知の現象に対する予測やそれに基づく判断を 行うための計算技術の総称である. ” (須山, 講談社, 2018) 機械学習のタスクの例: 分類問題

    ネコのクラス イヌのクラス 回帰問題 (今日はこっちの話) 物件の値段 部屋の数 周辺の人口 周辺の犯罪発生率 川の近くか? 6/16
  8. やりたいこと:入力 x と出力 y の関係をデータから求めたい 10.0 7.5 5.0 2.5 0.0

    2.5 5.0 7.5 10.0 x 60 40 20 0 20 40 60 y Observations 7/16
  9. データの生成過程のモデルを立てる 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0

    x 60 40 20 0 20 40 60 y Latent Space Observations • 潜在的な直線があって,それ にノイズを乗せたものが観測 されてる yn = wxn + b + ϵn ϵn ∼ N(ϵn; 0, β−1) • まとめて書くと, p(y|w, b) = N(y; wx + b, β−1) • 直線のパラメタ (傾き w と切片 b) が知りたい 8/16
  10. パラメタの事前分布を設定する 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0

    w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b パラメタ w, b の事前分布 p(w, b) = N ( w, b; 0, α−1I ) •「パラメタはこんな値だ! 」という主観を分布として与える • ここでは, 「w, b は 0 だ!でもちょっと自信ない」という 気持ちを分布で表現する 9/16
  11. 事前分布からサンプリングしたパラメタ 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0

    w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b Sampled Parameters 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 x 60 40 20 0 20 40 60 y Sampled Models Observations 10/16
  12. ベイズの定理を用いてパラメタに関する知識を更新する • 知ってる情報 • 手元のデータに関する知識 p(y|w, b) • パラメタに関する事前知識 p(w,

    b) • 知らない情報 (知りたい情報) • 観測データ y からパラメタに関する新しい知識 p(w, b|y) • ベイズの式により,事前分布を事後分布に更新する p(w, b|y) = p(y|w, b)p(w, b) p(y) 11/16
  13. ベイズの定理を用いてパラメタに関する知識を更新する 事前分布 p(w, b) 10.0 7.5 5.0 2.5 0.0 2.5

    5.0 7.5 10.0 w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b 事後分布 p(w, b|y) 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b • 最初の気持ちは「w, b は 0 だ!でもちょっと自信ない」 • 知識の更新後は w, b の値に関する確信度が強くなっている 12/16
  14. 事後分布からサンプリングしたパラメタ 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0

    w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b Sampled Parameters 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 x 60 40 20 0 20 40 60 y Sampled Models Observations 13/16
  15. 事前分布と事後分布の比較 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0

    w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b Sampled Parameters 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 x 60 40 20 0 20 40 60 y Sampled Models Observations 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 w 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 b Sampled Parameters 10.0 7.5 5.0 2.5 0.0 2.5 5.0 7.5 10.0 x 60 40 20 0 20 40 60 y Sampled Models Observations 14/16
  16. ベイズ推論のいいところ/わるいところ いいところ • 予測の不確実性を定量的に扱える •「明日は雨」ではなく「明日の降水確率は 60%」と予測 • 色々な問題を同じ枠組みで一貫して解ける • 教師あり/なし学習,次元削減,欠損値処理,…

    悪いところ • モデルを立てるのが難しい • データの背後にある現象に関する知識が必要 • 事後分布の推定が大変 • サンプリングの式の導出が難しい • 推論にかかる計算コストがでかい 15/16
  17. 最後に • ベイズ推論は確率論の枠組みにより「予測の不確かさ」を 定量的に扱うことができる • I’m hunting job! • 続きは

    Web で • 今回扱った線形回帰の Pyro 実装は GitHub で公開中 • ベイズ推論をプログラミングで実装するためのパッケージ • ベイズ推論に興味が出てきたら次に読むべき本 16/16
  18. Appendix

  19. 今回扱った線形回帰の Pyro 実装は GitHub で公開中 https://github.com/eqs/123shinshun

  20. ベイズ推論をプログラミングで実装するためのパッケージ • Stan • C++ で書かれた統計モデリングのパッケージ • R, Python, Julia

    や MATLAB 向けのインタフェースがある • Edward2 • バックエンドが Tensorflow なので GPU の恩恵による高速 な推論が可能 • 最近 Tensorflow Probability にマージされた • Pyro • バックエンドが PyTorch なので GPU や自動微分の恩恵によ る高速な推論 • Tensorflow 系統のパッケージより記述が綺麗になる,気 がする • スクラッチで全部書く • ディリクレ過程とかは既存のパッケージでカバーできない ので自前で書かないといけない • 定数オーダーの高速化でも推論の速度に影響する世界ら しい…
  21. ベイズ推論に興味が出てきたら次に読むべき本 • 須山, 『ベイズ推論による機械学習入門』, 講談社, 2018. • 非常に丁寧な説明でベイズ推論のアイデアを述べてる本 • ベイズ推論の本で途中式をここまで細かく書いてるものは

    中々無い • 岩田, 『トピックモデル』, 講談社, 2015. • ニュース記事の生成過程を題材に確率的モデルを説明 • 単純なモデルからはじまり,混合モデルや可変クラスのモ デルへ発展させる過程を俯瞰できる • 持橋, 大羽, 『ガウス過程と機械学習』, 講談社, 2019. (未 発売) • γ 版が発売までの間無料公開中 • 第 0 章が世界一わかりやすいベイズ推定の導入 • 石井, 上田, 『続・わかりやすいパターン認識』, オーム社, 2014. • 確率論の導入から Dirichlet 過程まで扱ってる •『わかりやすいパターン認識』を知らなくても読める