SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Pattern Recognition and
Machine Learning
       Chap.6 Kernel Methods


                2012年5月30日
                B4 池宮 由楽
目次
6.0 カーネル法の概要
6.1 双対表現
6.2 カーネル関数の構成
6.3 RBFネットワーク
6.4 ガウス過程


                1
6.0   カーネル法の概要(1)
  3・4章の線形なパラメトリックモデル

       y (x, w ) = w T Φ (x)
           訓練データはwを学習したら捨てる。

           非線形、複雑なモデルに対応できない。

・カーネル法は、訓練データを予測時にも利用するモデル。

      ⇒学習は速いが、予測は遅い。

●なぜ「カーネル法」というのか?

  カーネル関数を使うから。
                                2
6.0   カーネル法の概要(2)
●カーネル関数とは?

         k (x, x' ) = φ (x) φ (x' )
                          T

                   特徴空間への非線形写像

  カーネル関数は、元の次元から特徴空間次元に移して、
  内積をとる関数
      ⇒2変数の類似度を定めるようなもの

                                      φ
●なぜ特徴空間へ移すか?

  元の空間では線形手法が使えない。

      ⇒特徴空間に移して使えるようにする。
                                          3
6.0   カーネル法の概要(3)
●なぜ内積をとるのか?

  ①特徴空間は高次元(時には無限次元)

      ⇒直接扱えない(計算できない)
      ⇒カーネル関数を通せば、計算できる

  ②多くの線形モデルは、双対表現で表すと、カーネル関数
   が自然に現れる。

●カーネル法の利用

  ・サポートベクトルマシン(7章)
  ・非線形主成分分析(12.3節)
                     など
                               4
6.1   双対表現(1)
多くの線形モデルは、双対表現で表すことにより、カー
ネル関数が自然に現れる。
→サポートベクトルマシン(7章)において重要

具体的に、線形回帰モデルの二乗和誤差を考える。
              1 N                     λ T
      J (w ) = ∑ {w φ ( xn ) − t n } + w w   ≥ 0)
                     T              2
                                           (λ
              2 n =1                  2
                                   J’(w)=0
                 N                              N
            1
      w=−
            λ
                ∑ {w T φ ( xn ) − t n }φ ( xn ) = ∑ anφ ( xn ) = Φ T a
                n =1                            n =1

                       1
       ( an = − {w T φ ( xn ) − t n } 、a = (a1 ,⋅ ⋅ ⋅, an ) )
                       λ
                                                                         5
6.1     双対表現(2)
最小二乗法のアルゴリズムを w を使わず、 a で表現し直す。
                                   →双対表現の誕生
w = Φ T a を J (w ) に代入

      K nm = φ ( xn ) φ ( xm ) = k ( xn , xm )
                     T                           カーネル関数


と定められるグラム行列                 K = ΦΦ     T
                                           を定義する.


               1 T             1 T λ T
        J (a) = a KKa − a Kt + t t + a Ka
                         T

               2               2          2
                             ( t = (t1 ,⋅ ⋅ ⋅, t N ) )
                                                    T


                                                          6
6.1   双対表現(3)
aの解:       a = (K + λI N ) t −1


線形回帰モデルに代入し直すと予測関数は

  y ( x ) = w φ ( x ) = a Φ φ ( x ) = k ( x ) (K + λI N ) t
             T         T                 T             −1


      (   k (x) は要素 k n ( x) = k ( x n , x) を持つベクトル)

  ●双対関数の意義

  すべてがカーネル関数 k ( x, x' ) で表現されるため、常
  にカーネル関数を通じて問題を扱うことができ、特徴ベ
  クトル φ (x) を明示的に考えることを避け、高次元・無
  限次元の特徴ベクトルを間接的に扱うことができる。
                                                              7
6.2   カーネル関数の構成(1)
●有効なカーネル関数を構成する方法

  ①特徴空間への写像φ(x)から 構成する。
                                        M
      k ( x, x' ) = φ ( x) φ ( x' ) = ∑ φi ( x)φi ( x' )
                          T

                                       i =1

        φi ( x) : 基底関数(多項式関数、ガウス分布など))
      (

  ②カーネル関数を直接定義する。
    →カーネル関数として有効であることを保証する必要

      k (x, z ) = (xT z ) 2 = ( x1 z1 + x2 z 2 ) 2 = x12 z12 + 2 x1 z1 x2 z 2 + x2 z 2
                                                                                 2 2


                = ( x12 , 2 x1 x2 , x2 )( z12 , 2 z1 z 2 , z 2 )T
                                     2                       2


                = φ ( x)T φ ( z )           有効なカーネル関数だと分かった
                                                                                         8
6.2      カーネル関数の構成(2)
●関数が有効なカーネルか簡単に調べたい!
      関数      k (x, x' ) が有効なカーネル
                             ∀
                        ⇔        {x n }    に対してグラム行列Kが半正定値

●新たなカーネルの構築法
      k (x, x' ) =ck1 (x, x' )                  k (x, x' ) = k1 (x, x' )k 2 (x, x' )
      k (x, x' ) = f (x)k1 (x, x' ) f (x' )     k (x, x' ) = k3 (φ (x), φ (x' ))
      k (x, x' ) = q (k1 (x, x' ))              k (x, x' ) = xT Ax'
      k (x, x' ) = exp(k1 (x, x' ))             k (x, x' ) = k a (x a , x'a ) + kb (x b , x'b )
      k (x, x' ) = k1 (x, x' ) + k 2 (x, x' )   k (x, x' ) = k a (x a , x'a )kb (x b , x'b )
      f( )は任意の関数、q( )は非負の係数をもつ多項式、k3( , )
      は特徴空間次元で定義された有効なカーネル、Aは対称
      な半正定値行列、x=(xa,xb)、kaとkbはそれぞれの特徴空
      間において有効なカーネル関数                                                                              9
6.2   カーネル関数の構成(3)
●色々なカーネル関数

  ①一般化された多項式カーネル k (x, x' ) = (x x'+ c)                 ( c > 0)
                                T       M




                k (x, x' ) = exp(− x − x' / 2σ 2 )
                                                    2
  ②ガウスカーネル
   →よく使われる。
    特徴ベクトルが無限次元。
  ③集合が対象のカーネル                    A1 ∩ A2
                          k ( A1 , A2 ) = 2
                                   k (x, x' ) = p (x) p (x' )
  ④生成モデルから構成したカーネル                            生成モデル

  ⑤シグモイドカーネル                     k (x, x' ) = tahn(axT x'+b)
   →グラム行列が必ずしも半正定値にならない。
    サポートベクトルマシンとニューラルネットワークが
    表層的に類似したものになる。                                                 10
6.3   RBFネットワーク(1)
線形回帰モデル(3章)
                      M −1
        y (x, w ) = ∑ w jφ j (x) = w φ (x)T

                       j =0

●基底関数にどのようなものを使えばよいか?
 一般的にRBF(動径基底関数:radial basis function)
        φ j ( x) = h( x − μ j )   : RBF       よく使うものとして
                                              ガウス関数がある。

  ※RBFはその中心μjからの動径のみに依存している。

●RBFを導入する動機
 ①正確に目標変数の値を再現する関数補間
      → 目的変数のノイズによって過学習の恐れ有り
 ②入力変数にノイズが含まれる場合の補間
               → Nadaraya-Watsonモデル                       11
6.3     RBFネットワーク(2)
入力変数に確率分布ν(ξ)に従う確率変数ξで表されるノイズ
が含まれるとき、二乗和誤差関数は
                  1 N
               E = ∑ ∫ { y (x n + ξ ) − t n }2ν (ξ )dξ
                  2 n =1
変分法を用いると
                N
      y (x) = ∑ t n h(x − x n ) :Nadaraya - Watsonモデル
               n =1

ここで、RBFは以下によって与えられる。
                        ν (x − x n )       式の形から分かるよ
      h( x − x n ) =   N                   うに、このRBFは正
                       ∑ν (x − x
                       n =1
                                   n   )   規化されている。
                                                         12
6.3    RBFネットワーク (3)
●基底関数が正規化されていると何がいいのか?

      全ての基底関数が小さな値を持つ領域を無くす。
       →その領域内の予測値が小さくなったり、ほとんどバイ
       アスパラメータによって決定されてしまうのを避ける。




      (3つのガウス基底関数)   (正規化したもの)


次に、正規化されたRBF(Nadaraya-Watsonモデル)が、カー
ネル密度推定を用いた回帰においても現れることを見ていく。13
6.3.1     Nadaraya-Watsonモデル(1)
・訓練集合{xn ,tn}について同時分布 p(x,t) の推定にParzen
 推定法を用いると
                         N
                     1
         p (x, t ) =
                     N
                         ∑ f (x − x
                         n =1
                                         n   , t − tn )
        ( f(x,t) は密度関数の要素で、各データ点が中心 )

回帰関数(予測関数)は以下の式で与えられる。
                                ∞
        y (x) = E[t | x] = ∫ tp (t | x)dt
                                −∞


                ∫ tp(x, t )dt ∑ ∫ tf (x − x , t − t )dt   n   n
              =             =        n

                ∫ p(x, t )dt ∑ ∫ f (x − x , t − t )dt
                                     m
                                                          m   m

                                                                  14
6.3.1   Nadaraya-Watsonモデル(2)
簡単のため、密度関数の各要素の平均が零、すなわち
                    ∞
                ∫
          ∀
              x、  f (x, t )tdt = 0
                   −∞

とし、また
                        ∞
              g (x) = ∫ f (x, t )dt
                        −∞

とすると、回帰関数は、

                       ∑ g (x − x )t
                                  n       n
              y ( x) =  n
                                     = ∑ k (x, x       )t n
                       ∑ g (x − x )
                                                   n
                                      m       n
                         m

と書くことができる。                                                    15
6.3.1            Nadaraya-Watsonモデル(3)
ここで、                                   g (x − x n )
                        k (x, x n ) =
                                      ∑ g (x − x m )
                                       m
これらは、先に見たNadaraya-Watsonモデルである。
または、カーネル回帰(kernel regression)と呼ばれる。

このモデルは、E[t|x]だけではなく、p(t|x) も定義する。
                                                       緑線:正弦関数
                  p (t , x)                            赤線:予測関数
p (t | x) =
                ∫ p(t , x)dt                           青点:データ点
                                                       青○:対応する
     ∑ f (x − x , t − t )n     n
                                                       カーネルの標準
                                                       偏差の等高線
   =        n
                                                       赤領域:p(t|x)
     ∑ ∫ f (x − x , t − t )
                          m        m                   の標準偏差の2
        m                                              倍までの領域
                                                                16
6.4   ガウス過程
6.1節→回帰のための非確率的モデルからカーネル法を導いた。
この節→ベイズ的な設定においても自然にカーネルが現れる
      ことを見る。

●そもそもガウス過程とは?
 ガウス過程:
      関数y(x)の上の確率分布で次を満たすもの(を定義するモデル)
       ∀
           {x1 ,  , x N } に対して、 y (x1 ), , y (x N )} の同時分布が、
                                {
       ガウス分布に従う

●ガウス過程の考え方

  パラメータwの事前分布p(w)を使うのではなく、
  関数y(x)の事前分布p(y)を直接定義してしまう。

  →具体的に線形回帰モデルを見てみると理解しやすい。                                      17
6.4.1 線形回帰再訪(1)
線形回帰モデル          y ( x) = w T φ ( x)    を考える。

wの事前分布として、次の等方的ガウス分布を考える。

     p (w ) = Ν (w | 0, α I )     −1
                                         α : 分布の精度
※1つのwに対して1つのy(x)が決まる
 →wの事前分布を与えることは、y(x)の事前分布を与える
  ことに相当する

●訓練データに対応する{y(x1), … ,y(xN)}の同時分布を求める

   y = { y (x1 ), , y (x N )}T


     = Φw                              ( Φ nk = φk (x n ) )
                                                              18
6.4.1 線形回帰再訪(2)
wはガウス分布に従う変数集合
 →その線形結合であるy自身もガウス分布に従う。
 →平均と分散を求めれば、yの分布(同時分布)が定まる。
    E[y ] = ΦE[w ] = 0
                               1
  cov[y ] = E[yy ] = ΦE[ww ]Φ = ΦΦ T = K
                T         T  T

                                                    α
                               1                            カーネル
   ( K nm = k (x n , x m ) =       φ ( x n )T φ ( x m ) )
                               α                            関数
●ガウス過程の重要な点
 →同時分布が、平均や共分散といった2次までの統計量で
  記述される。
 →y(x)の平均は零とすることが多いので、ガウス過程は
  カーネル関数として与えられる。
※カーネル関数は直接定義することもできる。
(基底関数の選択をしない)
        →ガウスカーネル、指数カーネルなど                                          19
6.4.2 ガウス過程による回帰(1)
目標変数にノイズが含まれていることを考慮
     →各観測値に対し独立に決定、ガウス分布に従う
⇒目標値の同時分布は、等方的なガウス分布に従う。
  p (t | y ) = N (t | y , β I N )
                          −1
                                         β : ノイズの精度
ガウス過程の定義より

  p (y ) = N (y | 0, K )
よって、周辺分布p(t)は、(2.3.3節の結果より)

  p (t ) = ∫ p (t | y ) p (y )dy = Ν (t | 0, C)
ここで、共分散行列Cは次の要素を持つ。

  C (x n , x m ) = k (x n , x m ) + β δ nm
                                    −1
                                                      20
6.4.2 ガウス過程による回帰(2)
                       実線: 事前分布p(y)からサンプリング
                           された関数y
                         : 入力集合{xn}に対するy(xn)
                         : y(xn)+ノイズ = tn


●回帰の目的:
 訓練集合 x1 , … , xN 、tN = (t1,…,tN)T が与えられている
 時、新しい入力 xN+1に対する目標変数 tN+1を予測したい。
→予測分布 p(tN+1|tN) を求めたい。
先の結果から、                                                   CN k            
                                               C N +1 =  T
                                                          k          
                                                                            
                                                                 c        
  p (t N +1 ) = N (t N +1 | 0, C N +1 )   , 
                                               k n = k ( xn , x N +1 )  
                                                                           
                                                                        −1  
                                             c = k(x , x ) + β
                                                     N +1  N +1              21
6.4.2 ガウス過程による回帰(3)
これに2章の結果を用いると、条件付き分布 p (t N +1 | t ) は次に
示す平均と共分散を持つガウス分布に従う。
    m(x N +1 ) = k T C −1t
                       N

    σ (x N +1 ) = c − k C k
      2                 T    −1
                             N


●カーネル関数の制約:
  共分散行列Cが正定値
 (カーネル行列Kが半正定値)
                                  ガウス過程による回帰の例
                                  (右に行くに従い、不確か
●ガウス過程の利点・欠点                      さが大きくなっている)


 ・利点:無限個の基底関数に対応できる。
 ・欠点:O(N3)の大きな計算量を必要とする。
     (大きな訓練データを使えない)
                                                 22
6.4.3 超パラメータの学習
ガウス過程による予測は、共分散関数の選択に依存

 →パラメトリックな関数族を考えて、そのパラメータを
  データから推定             θ

●超パラメータの学習方法
 →尤度関数 p(t|θ) を評価する。
 →簡単には、対数尤度関数を最大化するθの点推定を行う。
  →共役勾配法などの効率的な最適化アルゴリズムが用いら
   れる。
                1            1 T −1 N
 ln p(t | θ) = − ln | C N | − t C N t − ln(2π )
                2            2         2
                                    MAX           23
6.4.5 ガウス過程による分類(1)
確率的な手法による分類⇒区間(0,1)に収まる事後分布を求める

しかし…ガウス過程のモデルは予測が実数値全体での値をとる

ガウス過程の出力を非線形な活性化関数で変換
     →ガウス過程を分類問題に適用できるようになる

●2クラス分類問題

 目標変数:t∈{0,1}

 関数a(x)上のガウス過程を定義
 これを、ロジスティックシグモイド関数σ(a)で変換
  →y ∈(0,1)な関数y(x)上の非ガウス確率過程が得られる
                                    24
6.4.5 ガウス過程による分類(2)




   ガウス過程の事前分布             ロジスティックシグモ
   からのサンプル                イド関数による変換


目標変数tの確率分布はベルヌーイ分布になる

    p (t | a ) = σ (a ) (1 − σ (a ))
                      t            1−t



目的:予測分布 p(t N +1 | t ) の決定
                                         25
6.4.5 ガウス過程による分類(3)
◆導出の流れ
    a N +1 = {a (x1 ),, a (x N +1 )} のガウス過程事前分布を考える

⇒   tN+1に対する非ガウス過程事前分布が導かれる

⇒   tNが与えられた下での予測分布が与えられる

aN+1に対するガウス過程事前分布は

        p (a N +1 ) = N (a N +1 | 0, C N +1 )

回帰問題と異なり、共分散行列にノイズが含まれない
→行列の正定値性を保証するためノイズのような項をいれる

                                                       26
6.4.5 ガウス過程による分類(4)
※2クラス分類問題なので                      p (t N +1 = 1 | t N ) を求めるので十分
 p (t N +1 = 1 | t N ) = ∫ p (t N +1 = 1 | a N +1 ) p (a N +1 | t N )da N +1
                                 σ (a N +1 )
               この積分を解析的に解くのは不可能

               サンプリング、またはガウス分布による近似

●ガウス分布による近似

 ①変分推論法(10.1節)に基づく方法
 ②EP法(10.7節)を用いる方法

 ③ラプラス近似(4.4節)を用いた方法                                           次の節
                                                                               27
6.4.6 ラプラス近似
p (a N +1 | t N ) のラプラス近似

       E[a N +1 | t N ] = k T (t N − σ N )
                                          −1            −1
     var[a N +1 | t N ] = c − k ( W + C N ) k
                                  T
                                          N


よって、近似式


  ∫ σ (a) Ν (a | µ , σ       )da ≅ σ (κ (σ ) µ )
                         2                      2
                                                             (4.153)
           ( κ (σ ) = (1 + πσ / 8)
                   2                  2        −1 / 2
                                                        )
により解くことができる。

                                                                       28
ガウス過程まとめ
●ガウス過程のモデルは、カーネル関数で決まる

●ガウス過程での、回帰・分類問題

     予測分布   p (t N +1 | t N )   を求める

●ガウス過程の利点・欠点

 ・利点:無限個の基底関数に対応できる
     予測の分散が出せる

 ・欠点:O(N3)の大きな計算量を必要とする
     (訓練データ数N)

 ⇒   基底関数の数Mがデータ数Nより大きいとき
     に有効
                                       終
                                           29

Weitere ähnliche Inhalte

Was ist angesagt?

パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」
パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」
パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」Koichi Hamada
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門Shuyo Nakatani
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別Hiroshi Nakagawa
 
混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム貴之 八木
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説弘毅 露崎
 
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー階層ベイズと自由エネルギー
階層ベイズと自由エネルギーHiroshi Shimizu
 
PRML輪読#6
PRML輪読#6PRML輪読#6
PRML輪読#6matsuolab
 
PRML輪読#12
PRML輪読#12PRML輪読#12
PRML輪読#12matsuolab
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法Kenichi Hironaka
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章Takushi Miki
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)Yasunori Ozaki
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章Kota Matsui
 
PRML輪読#5
PRML輪読#5PRML輪読#5
PRML輪読#5matsuolab
 

Was ist angesagt? (20)

パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」
パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」
パターン認識と機械学習 (PRML) 第1章-「多項式曲線フィッティング」「確率論」
 
PRML11章
PRML11章PRML11章
PRML11章
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 
PRML8章
PRML8章PRML8章
PRML8章
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別
 
混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
 
PRML 第4章
PRML 第4章PRML 第4章
PRML 第4章
 
PRML輪読#6
PRML輪読#6PRML輪読#6
PRML輪読#6
 
PRML輪読#12
PRML輪読#12PRML輪読#12
PRML輪読#12
 
Prml14 5
Prml14 5Prml14 5
Prml14 5
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章
 
PRML輪読#5
PRML輪読#5PRML輪読#5
PRML輪読#5
 

Ähnlich wie パターン認識と機械学習6章(カーネル法)

パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成Prunus 1350
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
8.4 グラフィカルモデルによる推論
8.4 グラフィカルモデルによる推論8.4 グラフィカルモデルによる推論
8.4 グラフィカルモデルによる推論sleepy_yoshi
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングMaruyama Tetsutaro
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)RCCSRENKEI
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamotoRCCSRENKEI
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4Takeshi Sakaki
 
カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論Daiki Tanaka
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析Shu Tanaka
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理Ryo Nakamura
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1hirokazutanaka
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)yukihiro domae
 

Ähnlich wie パターン認識と機械学習6章(カーネル法) (20)

パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
Prml sec6
Prml sec6Prml sec6
Prml sec6
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
主成分分析
主成分分析主成分分析
主成分分析
 
8.4 グラフィカルモデルによる推論
8.4 グラフィカルモデルによる推論8.4 グラフィカルモデルによる推論
8.4 グラフィカルモデルによる推論
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
 
210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamoto
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
PRML5
PRML5PRML5
PRML5
 
カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論カーネル法:正定値カーネルの理論
カーネル法:正定値カーネルの理論
 
量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析量子アニーリングを用いたクラスタ分析
量子アニーリングを用いたクラスタ分析
 
PRML 8.4-8.4.3
PRML 8.4-8.4.3 PRML 8.4-8.4.3
PRML 8.4-8.4.3
 
Prml07
Prml07Prml07
Prml07
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
 
PRML chapter7
PRML chapter7PRML chapter7
PRML chapter7
 

パターン認識と機械学習6章(カーネル法)

  • 1. Pattern Recognition and Machine Learning Chap.6 Kernel Methods 2012年5月30日 B4 池宮 由楽
  • 2. 目次 6.0 カーネル法の概要 6.1 双対表現 6.2 カーネル関数の構成 6.3 RBFネットワーク 6.4 ガウス過程 1
  • 3. 6.0 カーネル法の概要(1) 3・4章の線形なパラメトリックモデル y (x, w ) = w T Φ (x) 訓練データはwを学習したら捨てる。 非線形、複雑なモデルに対応できない。 ・カーネル法は、訓練データを予測時にも利用するモデル。 ⇒学習は速いが、予測は遅い。 ●なぜ「カーネル法」というのか? カーネル関数を使うから。 2
  • 4. 6.0 カーネル法の概要(2) ●カーネル関数とは? k (x, x' ) = φ (x) φ (x' ) T 特徴空間への非線形写像 カーネル関数は、元の次元から特徴空間次元に移して、 内積をとる関数 ⇒2変数の類似度を定めるようなもの φ ●なぜ特徴空間へ移すか? 元の空間では線形手法が使えない。 ⇒特徴空間に移して使えるようにする。 3
  • 5. 6.0 カーネル法の概要(3) ●なぜ内積をとるのか? ①特徴空間は高次元(時には無限次元) ⇒直接扱えない(計算できない) ⇒カーネル関数を通せば、計算できる ②多くの線形モデルは、双対表現で表すと、カーネル関数 が自然に現れる。 ●カーネル法の利用 ・サポートベクトルマシン(7章) ・非線形主成分分析(12.3節) など 4
  • 6. 6.1 双対表現(1) 多くの線形モデルは、双対表現で表すことにより、カー ネル関数が自然に現れる。 →サポートベクトルマシン(7章)において重要 具体的に、線形回帰モデルの二乗和誤差を考える。 1 N λ T J (w ) = ∑ {w φ ( xn ) − t n } + w w   ≥ 0) T 2 (λ 2 n =1 2 J’(w)=0 N N 1 w=− λ ∑ {w T φ ( xn ) − t n }φ ( xn ) = ∑ anφ ( xn ) = Φ T a n =1 n =1 1 ( an = − {w T φ ( xn ) − t n } 、a = (a1 ,⋅ ⋅ ⋅, an ) ) λ 5
  • 7. 6.1 双対表現(2) 最小二乗法のアルゴリズムを w を使わず、 a で表現し直す。 →双対表現の誕生 w = Φ T a を J (w ) に代入 K nm = φ ( xn ) φ ( xm ) = k ( xn , xm ) T カーネル関数 と定められるグラム行列 K = ΦΦ T を定義する. 1 T 1 T λ T J (a) = a KKa − a Kt + t t + a Ka T 2 2 2 ( t = (t1 ,⋅ ⋅ ⋅, t N ) ) T 6
  • 8. 6.1 双対表現(3) aの解: a = (K + λI N ) t −1 線形回帰モデルに代入し直すと予測関数は y ( x ) = w φ ( x ) = a Φ φ ( x ) = k ( x ) (K + λI N ) t T T T −1 ( k (x) は要素 k n ( x) = k ( x n , x) を持つベクトル) ●双対関数の意義 すべてがカーネル関数 k ( x, x' ) で表現されるため、常 にカーネル関数を通じて問題を扱うことができ、特徴ベ クトル φ (x) を明示的に考えることを避け、高次元・無 限次元の特徴ベクトルを間接的に扱うことができる。 7
  • 9. 6.2 カーネル関数の構成(1) ●有効なカーネル関数を構成する方法 ①特徴空間への写像φ(x)から 構成する。 M k ( x, x' ) = φ ( x) φ ( x' ) = ∑ φi ( x)φi ( x' ) T i =1   φi ( x) : 基底関数(多項式関数、ガウス分布など)) ( ②カーネル関数を直接定義する。 →カーネル関数として有効であることを保証する必要 k (x, z ) = (xT z ) 2 = ( x1 z1 + x2 z 2 ) 2 = x12 z12 + 2 x1 z1 x2 z 2 + x2 z 2 2 2 = ( x12 , 2 x1 x2 , x2 )( z12 , 2 z1 z 2 , z 2 )T 2 2 = φ ( x)T φ ( z ) 有効なカーネル関数だと分かった 8
  • 10. 6.2 カーネル関数の構成(2) ●関数が有効なカーネルか簡単に調べたい! 関数 k (x, x' ) が有効なカーネル ∀ ⇔ {x n } に対してグラム行列Kが半正定値 ●新たなカーネルの構築法 k (x, x' ) =ck1 (x, x' ) k (x, x' ) = k1 (x, x' )k 2 (x, x' ) k (x, x' ) = f (x)k1 (x, x' ) f (x' ) k (x, x' ) = k3 (φ (x), φ (x' )) k (x, x' ) = q (k1 (x, x' )) k (x, x' ) = xT Ax' k (x, x' ) = exp(k1 (x, x' )) k (x, x' ) = k a (x a , x'a ) + kb (x b , x'b ) k (x, x' ) = k1 (x, x' ) + k 2 (x, x' ) k (x, x' ) = k a (x a , x'a )kb (x b , x'b ) f( )は任意の関数、q( )は非負の係数をもつ多項式、k3( , ) は特徴空間次元で定義された有効なカーネル、Aは対称 な半正定値行列、x=(xa,xb)、kaとkbはそれぞれの特徴空 間において有効なカーネル関数 9
  • 11. 6.2 カーネル関数の構成(3) ●色々なカーネル関数 ①一般化された多項式カーネル k (x, x' ) = (x x'+ c) ( c > 0) T M k (x, x' ) = exp(− x − x' / 2σ 2 ) 2 ②ガウスカーネル →よく使われる。 特徴ベクトルが無限次元。 ③集合が対象のカーネル A1 ∩ A2 k ( A1 , A2 ) = 2 k (x, x' ) = p (x) p (x' ) ④生成モデルから構成したカーネル 生成モデル ⑤シグモイドカーネル k (x, x' ) = tahn(axT x'+b) →グラム行列が必ずしも半正定値にならない。 サポートベクトルマシンとニューラルネットワークが 表層的に類似したものになる。 10
  • 12. 6.3 RBFネットワーク(1) 線形回帰モデル(3章) M −1 y (x, w ) = ∑ w jφ j (x) = w φ (x)T j =0 ●基底関数にどのようなものを使えばよいか? 一般的にRBF(動径基底関数:radial basis function) φ j ( x) = h( x − μ j ) : RBF よく使うものとして ガウス関数がある。 ※RBFはその中心μjからの動径のみに依存している。 ●RBFを導入する動機 ①正確に目標変数の値を再現する関数補間 → 目的変数のノイズによって過学習の恐れ有り ②入力変数にノイズが含まれる場合の補間 → Nadaraya-Watsonモデル 11
  • 13. 6.3 RBFネットワーク(2) 入力変数に確率分布ν(ξ)に従う確率変数ξで表されるノイズ が含まれるとき、二乗和誤差関数は 1 N E = ∑ ∫ { y (x n + ξ ) − t n }2ν (ξ )dξ 2 n =1 変分法を用いると N y (x) = ∑ t n h(x − x n ) :Nadaraya - Watsonモデル n =1 ここで、RBFは以下によって与えられる。 ν (x − x n ) 式の形から分かるよ h( x − x n ) = N うに、このRBFは正 ∑ν (x − x n =1 n ) 規化されている。 12
  • 14. 6.3 RBFネットワーク (3) ●基底関数が正規化されていると何がいいのか? 全ての基底関数が小さな値を持つ領域を無くす。 →その領域内の予測値が小さくなったり、ほとんどバイ アスパラメータによって決定されてしまうのを避ける。 (3つのガウス基底関数) (正規化したもの) 次に、正規化されたRBF(Nadaraya-Watsonモデル)が、カー ネル密度推定を用いた回帰においても現れることを見ていく。13
  • 15. 6.3.1 Nadaraya-Watsonモデル(1) ・訓練集合{xn ,tn}について同時分布 p(x,t) の推定にParzen 推定法を用いると N 1 p (x, t ) = N ∑ f (x − x n =1 n , t − tn ) ( f(x,t) は密度関数の要素で、各データ点が中心 ) 回帰関数(予測関数)は以下の式で与えられる。 ∞ y (x) = E[t | x] = ∫ tp (t | x)dt −∞ ∫ tp(x, t )dt ∑ ∫ tf (x − x , t − t )dt n n = = n ∫ p(x, t )dt ∑ ∫ f (x − x , t − t )dt m m m 14
  • 16. 6.3.1 Nadaraya-Watsonモデル(2) 簡単のため、密度関数の各要素の平均が零、すなわち ∞ ∫ ∀ x、  f (x, t )tdt = 0 −∞ とし、また ∞ g (x) = ∫ f (x, t )dt −∞ とすると、回帰関数は、 ∑ g (x − x )t n n y ( x) = n = ∑ k (x, x )t n ∑ g (x − x ) n m n m と書くことができる。 15
  • 17. 6.3.1 Nadaraya-Watsonモデル(3) ここで、 g (x − x n ) k (x, x n ) = ∑ g (x − x m ) m これらは、先に見たNadaraya-Watsonモデルである。 または、カーネル回帰(kernel regression)と呼ばれる。 このモデルは、E[t|x]だけではなく、p(t|x) も定義する。 緑線:正弦関数 p (t , x) 赤線:予測関数 p (t | x) = ∫ p(t , x)dt 青点:データ点 青○:対応する ∑ f (x − x , t − t )n n カーネルの標準 偏差の等高線 = n 赤領域:p(t|x) ∑ ∫ f (x − x , t − t ) m m の標準偏差の2 m 倍までの領域 16
  • 18. 6.4 ガウス過程 6.1節→回帰のための非確率的モデルからカーネル法を導いた。 この節→ベイズ的な設定においても自然にカーネルが現れる ことを見る。 ●そもそもガウス過程とは? ガウス過程: 関数y(x)の上の確率分布で次を満たすもの(を定義するモデル) ∀ {x1 ,  , x N } に対して、 y (x1 ), , y (x N )} の同時分布が、 { ガウス分布に従う ●ガウス過程の考え方 パラメータwの事前分布p(w)を使うのではなく、 関数y(x)の事前分布p(y)を直接定義してしまう。 →具体的に線形回帰モデルを見てみると理解しやすい。 17
  • 19. 6.4.1 線形回帰再訪(1) 線形回帰モデル y ( x) = w T φ ( x) を考える。 wの事前分布として、次の等方的ガウス分布を考える。 p (w ) = Ν (w | 0, α I ) −1 α : 分布の精度 ※1つのwに対して1つのy(x)が決まる →wの事前分布を与えることは、y(x)の事前分布を与える ことに相当する ●訓練データに対応する{y(x1), … ,y(xN)}の同時分布を求める y = { y (x1 ), , y (x N )}T = Φw ( Φ nk = φk (x n ) ) 18
  • 20. 6.4.1 線形回帰再訪(2) wはガウス分布に従う変数集合 →その線形結合であるy自身もガウス分布に従う。 →平均と分散を求めれば、yの分布(同時分布)が定まる。 E[y ] = ΦE[w ] = 0 1 cov[y ] = E[yy ] = ΦE[ww ]Φ = ΦΦ T = K T T T α 1 カーネル ( K nm = k (x n , x m ) = φ ( x n )T φ ( x m ) ) α 関数 ●ガウス過程の重要な点 →同時分布が、平均や共分散といった2次までの統計量で 記述される。 →y(x)の平均は零とすることが多いので、ガウス過程は カーネル関数として与えられる。 ※カーネル関数は直接定義することもできる。 (基底関数の選択をしない) →ガウスカーネル、指数カーネルなど 19
  • 21. 6.4.2 ガウス過程による回帰(1) 目標変数にノイズが含まれていることを考慮 →各観測値に対し独立に決定、ガウス分布に従う ⇒目標値の同時分布は、等方的なガウス分布に従う。 p (t | y ) = N (t | y , β I N ) −1 β : ノイズの精度 ガウス過程の定義より p (y ) = N (y | 0, K ) よって、周辺分布p(t)は、(2.3.3節の結果より) p (t ) = ∫ p (t | y ) p (y )dy = Ν (t | 0, C) ここで、共分散行列Cは次の要素を持つ。 C (x n , x m ) = k (x n , x m ) + β δ nm −1 20
  • 22. 6.4.2 ガウス過程による回帰(2) 実線: 事前分布p(y)からサンプリング された関数y : 入力集合{xn}に対するy(xn) : y(xn)+ノイズ = tn ●回帰の目的: 訓練集合 x1 , … , xN 、tN = (t1,…,tN)T が与えられている 時、新しい入力 xN+1に対する目標変数 tN+1を予測したい。 →予測分布 p(tN+1|tN) を求めたい。 先の結果から、   CN k    C N +1 =  T k      c  p (t N +1 ) = N (t N +1 | 0, C N +1 ) ,   k n = k ( xn , x N +1 )      −1    c = k(x , x ) + β   N +1 N +1  21
  • 23. 6.4.2 ガウス過程による回帰(3) これに2章の結果を用いると、条件付き分布 p (t N +1 | t ) は次に 示す平均と共分散を持つガウス分布に従う。 m(x N +1 ) = k T C −1t N σ (x N +1 ) = c − k C k 2 T −1 N ●カーネル関数の制約: 共分散行列Cが正定値 (カーネル行列Kが半正定値) ガウス過程による回帰の例 (右に行くに従い、不確か ●ガウス過程の利点・欠点 さが大きくなっている) ・利点:無限個の基底関数に対応できる。 ・欠点:O(N3)の大きな計算量を必要とする。 (大きな訓練データを使えない) 22
  • 24. 6.4.3 超パラメータの学習 ガウス過程による予測は、共分散関数の選択に依存 →パラメトリックな関数族を考えて、そのパラメータを データから推定 θ ●超パラメータの学習方法 →尤度関数 p(t|θ) を評価する。 →簡単には、対数尤度関数を最大化するθの点推定を行う。 →共役勾配法などの効率的な最適化アルゴリズムが用いら れる。 1 1 T −1 N ln p(t | θ) = − ln | C N | − t C N t − ln(2π ) 2 2 2 MAX 23
  • 25. 6.4.5 ガウス過程による分類(1) 確率的な手法による分類⇒区間(0,1)に収まる事後分布を求める しかし…ガウス過程のモデルは予測が実数値全体での値をとる ガウス過程の出力を非線形な活性化関数で変換 →ガウス過程を分類問題に適用できるようになる ●2クラス分類問題 目標変数:t∈{0,1} 関数a(x)上のガウス過程を定義 これを、ロジスティックシグモイド関数σ(a)で変換 →y ∈(0,1)な関数y(x)上の非ガウス確率過程が得られる 24
  • 26. 6.4.5 ガウス過程による分類(2) ガウス過程の事前分布 ロジスティックシグモ からのサンプル イド関数による変換 目標変数tの確率分布はベルヌーイ分布になる p (t | a ) = σ (a ) (1 − σ (a )) t 1−t 目的:予測分布 p(t N +1 | t ) の決定 25
  • 27. 6.4.5 ガウス過程による分類(3) ◆導出の流れ a N +1 = {a (x1 ),, a (x N +1 )} のガウス過程事前分布を考える ⇒ tN+1に対する非ガウス過程事前分布が導かれる ⇒ tNが与えられた下での予測分布が与えられる aN+1に対するガウス過程事前分布は p (a N +1 ) = N (a N +1 | 0, C N +1 ) 回帰問題と異なり、共分散行列にノイズが含まれない →行列の正定値性を保証するためノイズのような項をいれる 26
  • 28. 6.4.5 ガウス過程による分類(4) ※2クラス分類問題なので p (t N +1 = 1 | t N ) を求めるので十分 p (t N +1 = 1 | t N ) = ∫ p (t N +1 = 1 | a N +1 ) p (a N +1 | t N )da N +1 σ (a N +1 ) この積分を解析的に解くのは不可能 サンプリング、またはガウス分布による近似 ●ガウス分布による近似 ①変分推論法(10.1節)に基づく方法 ②EP法(10.7節)を用いる方法 ③ラプラス近似(4.4節)を用いた方法 次の節 27
  • 29. 6.4.6 ラプラス近似 p (a N +1 | t N ) のラプラス近似 E[a N +1 | t N ] = k T (t N − σ N ) −1 −1 var[a N +1 | t N ] = c − k ( W + C N ) k T N よって、近似式 ∫ σ (a) Ν (a | µ , σ )da ≅ σ (κ (σ ) µ ) 2 2 (4.153) ( κ (σ ) = (1 + πσ / 8) 2 2 −1 / 2 ) により解くことができる。 28
  • 30. ガウス過程まとめ ●ガウス過程のモデルは、カーネル関数で決まる ●ガウス過程での、回帰・分類問題 予測分布 p (t N +1 | t N ) を求める ●ガウス過程の利点・欠点 ・利点:無限個の基底関数に対応できる 予測の分散が出せる ・欠点:O(N3)の大きな計算量を必要とする (訓練データ数N) ⇒ 基底関数の数Mがデータ数Nより大きいとき に有効 終 29