SlideShare a Scribd company logo
PRMLからベイズの世界へ
慶應義塾大学 M2
植木 大地
自己紹介


植木 大地
 慶応義塾大学大学院 M2
 twitter:@PlantEarth
 専攻:(柔らかい)理論統計学か計算機統計
 研究:Principal Pointsの推定
 最近の興味:電気回路
Principal Points
   一言で言うと,分布を仮定した上でのk-means法
       k-means法:クラスタリング法の一つ.

   Definition

 - 𝒚 𝑗 ∈ 𝑹 𝑝 (1 ≤ 𝑗 ≤ 𝑘) をある𝑘個の点の組とする. このと
き𝒙 ∈ 𝑹 𝑝 に対する最小距離を以下のように書く.
                                                                       1/2
           𝑑 𝒙 𝒚1 , 𝒚2 , … , 𝒚 𝑘 = min            𝒙− 𝒚𝑗 ′ 𝒙− 𝒚𝑗
                                      1≤𝑗≤𝑘
    p次元のあるベクトル𝑿 に対するk-principal points
𝝃 𝑗 (1 ≤ 𝑗 ≤ 𝑘) の組は,以下のようなk個の点の組
{𝝃1 , 𝝃2 , … , 𝝃 𝑘 }で定義される.
  𝐸[𝑑 2 𝑿 𝝃1 , 𝝃2 , … , 𝝃 𝑘 ] =      min
                                      𝑝
                                                  𝐸[𝑑 2 𝑿 𝒚1 , 𝒚2 , … , 𝒚 𝑘 ]
                                  𝑦 𝑗 ∈𝑅 ,1≤𝑗≤𝑘
いきなりですが…
 あなたは頻度主義者ですか?
 それとも,ベイジアンですか?

    僕は俄然ベイジアンです.
統計学の宗派

        頻度主義者      必ず真の値はある.
                  それにしか興味はない.
統計学者       VS
        ベイジアン 大体値がわかればいいや.
                  (パラメータに分布を仮定する)

 頻度主義者「ベイジアン、お前雑すぎるだろ^ω^#」
ベイジアン「いい結果が得られればいいんだよm9(^Д^)」
  実際にはそこまで明確に分かれているわけでもないようです.
 リッジ回帰パラメーターの推定がベイズ推定量と同値になるとか,
 頻度主義でも怪しいことをし始めると同じことになったりします.
では,
  統計的学習と機械学習の差は
      なんでしょうか?
統計的学習と機械学習

            頻度主義者に基づいた,
  統計的学習      少し数学的な手法
           重回帰,判別分析,主成分分析,数量化Ⅲ類…




            ヒューリスティックな方法,
   機械学習        悪く言えば適当
            k-means法,SVM,ニューラルネットワーク…



 統計的学習「機会学習、お前雑すぎるだろ^ω^#」
機械学習「いい結果が得られればいいんだよm9(^Д^)」
ある見方からすれば…

                          頻度主義的統計的学習
  統計的学習
                             ベイズ的統計学習

                             ベイズ的機械学習
    機械学習
                              その他機械学習

統計的機械学習なる言い方をされている方々もいるので,
   見方が統一されているわけではありません.
 cf:http://www.nii.ac.jp/userdata/karuizawa/h23/111104_3rdlecueda.pdf
少しベイズの定理の復習
ベイズの定理
 普通に書くと,
                     𝑃 𝑏 𝑎 𝑝(𝑎)
             𝑝 𝑎 𝑏 =
                        𝑃(𝑏)

 データが与えられた時のパラメータを求めるとき風に書くと,
                    𝑃(𝐷|𝑥)𝑝(𝑥)
            𝑃 𝑥 𝐷 =
                       𝑃(𝐷)


 忘れたら,
           𝑃 𝑎, 𝑏 = 𝑝 𝑎 𝑏 𝑝 𝑏 = 𝑝 𝑏 𝑎 𝑝(𝑎)

から作ればOK
ベイズの定理の考え方


今知りたい情報(1)に対して,何か情報(2)が得られ
た時に知りたい情報を更新してやろう,という考え
方


(1):回帰などのパラメータ,確率変数,なんでも
(2):データ,パラメータの分布,なんでも
𝑃(𝐷|𝑥)𝑝(𝑥)
ベイズの定理右辺の分母(                   の𝑃(𝐷)の部分)の
                        𝑃(𝐷)
値を求めるのは,実は超大変.


求めるのを回避する方法は幾つかあって,
•   事前分布を共役事前分布にする
    •   ちょっと複雑な分布になると無理…(ex. 混合ガウス分布

•   マルコフ連鎖モンテカルロ法(MCMC)を使う
    •   なんでもいける神様!


    今回は関係ありません
今日は,
 “ベイズの考え方を入れた統計的学習”
       を少し見てみます.
と,その前にPRMLの紹介
PRML



英語:Pattern Recognition And
Machine Learning
日本語:パターン認識と機械学習
英語版はネットに落ちてます.
PRML 勉強会




   月1      隔週
ベイズの考え方を用いた線形回帰
線形回帰といえば

                                         𝑻
      𝑦 𝒙, 𝒘 = 𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 + ⋯ = 𝒘 𝒙
𝒙:データ, 𝒘:パラメータ
というモデルの下,データX(−1) = 𝒙 𝑖 , 𝑦 𝑖 , 1 ≤ 𝑖 ≤ 𝑁が
与えられたとき, 𝒘を求めたい.
最小二乗法的考え方で求めれば,
         𝒘= 𝑋 𝑇 𝑋 −1 𝑋 𝑇 𝒚

で求まる.なお,最小二乗法は最尤法の一つ.
モデル
                              𝑀−1                𝑀−1

              𝑦 𝒙, 𝒘 = 𝑤0 +         𝑤𝑗 𝜙 𝑗 𝒙 =         𝑤𝑗 𝜙 𝑗 𝒙   𝜙0 = 1
                              𝑗=1                𝑗=0
                                                  −1
                               𝑡~𝑁 𝑦 𝒙, 𝒘 , 𝛽

             という,一次線形モデル.

             𝒙:データ,𝜙 𝑗 :基底関数, 𝒘:回帰係数, 𝛽:精度

             今,𝑤 𝑗 にそれぞれ以下のような事前分布を考える.
                       𝑝 𝒘 = 𝑁(𝒘|𝒎 𝟎 , 𝑆0 )

             𝒎 𝟎 : 𝒘の期待値,𝑆0 :分散共分散行列


  データ𝒕が得られた時                                     逐次学習しようと思うと
𝒕を用いて𝑝(𝒘)を更新することを考える.                       時間𝑁 + 1において𝑡 𝑁+1 が得られた時の更新
      𝑝 𝒘 𝑡 = 𝑁 𝒘 𝒎 𝑵, 𝑆 𝑁                  を考えると,
                   −1
     𝒎 𝑵 = 𝑆 𝑁 (𝑆0 𝒎 𝟎 + 𝛽Φ 𝑇 𝒕)             𝑝 𝒘 𝒕 𝑁+1 , 𝒙 𝑁+1 , 𝒎 𝑁 , 𝑆 𝑁 = 𝑁 𝒘 𝒎 𝑁+1 , 𝑆 𝑁+1
         𝑆 −1 = 𝑆0 + 𝛽Φ 𝑇 Φ
           𝑁
                   −1
                                                𝒎 𝑵+𝟏 = 𝑆 𝑁+1 (𝑆 𝑁 −1 𝒎 𝑵 + 𝛽𝚽 𝑁+1 𝒕 𝑵+𝟏 )
          𝜙0 𝑥1      ⋯ 𝜙 𝑀−1 (𝑥1 )                      𝑆 −1 = 𝑆 −1 + 𝛽Φ 𝑁+1 𝑡 𝑁+1
                                                          𝑁+1      𝑁
   Φ=        ⋮       ⋱     ⋮
          𝜙0 (𝑥 𝑁 ) ⋯ 𝜙 𝑀−1 (𝑥 𝑁 )          なお,𝒎0 = 𝟎, 𝑆0 = 𝛼 −1 𝐼と置く.
逐次学習の例
         真のモデル:𝑦 = −0.3 + 0.5𝑥

         データ
         ~𝑁 𝑦 𝑥, 0.2 , 𝑥~𝑈(−1,1)



         段々と,事後分布の山が鋭く
         なっていることがわかる.



         一々大量データを回帰し直さ
         なくても逐次的に計算できる
         ようになった!
分布が得られた後



分布が得られても点推定しているわけでもないので,
値が得られているわけでもない.
 MAP推定
 期待値で推定
 etc
今回はベイズ推定が逐次推定のように使えることが
わかった.


その他にも(きっと)いろいろな使い方があるは
ず!DeepLearning周りの基礎知識も得られるし,み
なさんPRML読みましょう!

More Related Content

【Zansa】第12回勉強会 -PRMLからベイズの世界へ