Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Pattern Recognition andMachine 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を学習したら捨てる。           非線形、複雑なモデルに対応できない。...
6.0   カーネル法の概要(2)●カーネル関数とは?         k (x, x ) = φ (x) φ (x )                          T                   特徴空間への非線形写像  カーネ...
6.0   カーネル法の概要(3)●なぜ内積をとるのか?  ①特徴空間は高次元(時には無限次元)      ⇒直接扱えない(計算できない)      ⇒カーネル関数を通せば、計算できる  ②多くの線形モデルは、双対表現で表すと、カーネル関数  ...
6.1   双対表現(1)多くの線形モデルは、双対表現で表すことにより、カーネル関数が自然に現れる。→サポートベクトルマシン(7章)において重要具体的に、線形回帰モデルの二乗和誤差を考える。              1 N          ...
6.1     双対表現(2)最小二乗法のアルゴリズムを w を使わず、 a で表現し直す。                                   →双対表現の誕生w = Φ T a を J (w ) に代入      K nm ...
6.1   双対表現(3)aの解:       a = (K + λI N ) t −1線形回帰モデルに代入し直すと予測関数は  y ( x ) = w φ ( x ) = a Φ φ ( x ) = k ( x ) (K + λI N ) t...
6.2   カーネル関数の構成(1)●有効なカーネル関数を構成する方法  ①特徴空間への写像φ(x)から 構成する。                                        M      k ( x, x ) = φ ( ...
6.2      カーネル関数の構成(2)●関数が有効なカーネルか簡単に調べたい!      関数      k (x, x ) が有効なカーネル                             ∀                   ...
6.2   カーネル関数の構成(3)●色々なカーネル関数  ①一般化された多項式カーネル k (x, x ) = (x x+ c)                 ( c > 0)                                ...
6.3   RBFネットワーク(1)線形回帰モデル(3章)                      M −1        y (x, w ) = ∑ w jφ j (x) = w φ (x)T                       j...
6.3     RBFネットワーク(2)入力変数に確率分布ν(ξ)に従う確率変数ξで表されるノイズが含まれるとき、二乗和誤差関数は                  1 N               E = ∑ ∫ { y (x n + ξ ...
6.3    RBFネットワーク (3)●基底関数が正規化されていると何がいいのか?      全ての基底関数が小さな値を持つ領域を無くす。       →その領域内の予測値が小さくなったり、ほとんどバイ       アスパラメータによって決定...
6.3.1     Nadaraya-Watsonモデル(1)・訓練集合{xn ,tn}について同時分布 p(x,t) の推定にParzen 推定法を用いると                         N                 ...
6.3.1   Nadaraya-Watsonモデル(2)簡単のため、密度関数の各要素の平均が零、すなわち                    ∞                ∫          ∀              x、  f ...
6.3.1            Nadaraya-Watsonモデル(3)ここで、                                   g (x − x n )                        k (x, x n...
6.4   ガウス過程6.1節→回帰のための非確率的モデルからカーネル法を導いた。この節→ベイズ的な設定においても自然にカーネルが現れる      ことを見る。●そもそもガウス過程とは? ガウス過程:      関数y(x)の上の確率分布で次を...
6.4.1 線形回帰再訪(1)線形回帰モデル          y ( x) = w T φ ( x)    を考える。wの事前分布として、次の等方的ガウス分布を考える。     p (w ) = Ν (w | 0, α I )     −1 ...
6.4.1 線形回帰再訪(2)wはガウス分布に従う変数集合 →その線形結合であるy自身もガウス分布に従う。 →平均と分散を求めれば、yの分布(同時分布)が定まる。    E[y ] = ΦE[w ] = 0                   ...
6.4.2 ガウス過程による回帰(1)目標変数にノイズが含まれていることを考慮     →各観測値に対し独立に決定、ガウス分布に従う⇒目標値の同時分布は、等方的なガウス分布に従う。  p (t | y ) = N (t | y , β I N ...
6.4.2 ガウス過程による回帰(2)                       実線: 事前分布p(y)からサンプリング                           された関数y                         : ...
6.4.2 ガウス過程による回帰(3)これに2章の結果を用いると、条件付き分布 p (t N +1 | t ) は次に示す平均と共分散を持つガウス分布に従う。    m(x N +1 ) = k T C −1t                 ...
6.4.3 超パラメータの学習ガウス過程による予測は、共分散関数の選択に依存 →パラメトリックな関数族を考えて、そのパラメータを  データから推定             θ●超パラメータの学習方法 →尤度関数 p(t|θ) を評価する。 →簡...
6.4.5 ガウス過程による分類(1)確率的な手法による分類⇒区間(0,1)に収まる事後分布を求めるしかし…ガウス過程のモデルは予測が実数値全体での値をとるガウス過程の出力を非線形な活性化関数で変換     →ガウス過程を分類問題に適用できるよ...
6.4.5 ガウス過程による分類(2)   ガウス過程の事前分布             ロジスティックシグモ   からのサンプル                イド関数による変換目標変数tの確率分布はベルヌーイ分布になる    p (t | ...
6.4.5 ガウス過程による分類(3)◆導出の流れ    a N +1 = {a (x1 ),, a (x N +1 )} のガウス過程事前分布を考える⇒   tN+1に対する非ガウス過程事前分布が導かれる⇒   tNが与えられた下での予測分...
6.4.5 ガウス過程による分類(4)※2クラス分類問題なので                      p (t N +1 = 1 | t N ) を求めるので十分 p (t N +1 = 1 | t N ) = ∫ p (t N +1 = ...
6.4.6 ラプラス近似p (a N +1 | t N ) のラプラス近似       E[a N +1 | t N ] = k T (t N − σ N )                                          −...
ガウス過程まとめ●ガウス過程のモデルは、カーネル関数で決まる●ガウス過程での、回帰・分類問題     予測分布   p (t N +1 | t N )   を求める●ガウス過程の利点・欠点 ・利点:無限個の基底関数に対応できる     予測の分...
Upcoming SlideShare
Loading in …5
×

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

24,869 views

Published on

人生ではじめて作ったスライド

  • Be the first to comment

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

  1. 1. Pattern Recognition andMachine Learning Chap.6 Kernel Methods 2012年5月30日 B4 池宮 由楽
  2. 2. 目次6.0 カーネル法の概要6.1 双対表現6.2 カーネル関数の構成6.3 RBFネットワーク6.4 ガウス過程 1
  3. 3. 6.0 カーネル法の概要(1) 3・4章の線形なパラメトリックモデル y (x, w ) = w T Φ (x) 訓練データはwを学習したら捨てる。 非線形、複雑なモデルに対応できない。・カーネル法は、訓練データを予測時にも利用するモデル。 ⇒学習は速いが、予測は遅い。●なぜ「カーネル法」というのか? カーネル関数を使うから。 2
  4. 4. 6.0 カーネル法の概要(2)●カーネル関数とは? k (x, x ) = φ (x) φ (x ) T 特徴空間への非線形写像 カーネル関数は、元の次元から特徴空間次元に移して、 内積をとる関数 ⇒2変数の類似度を定めるようなもの φ●なぜ特徴空間へ移すか? 元の空間では線形手法が使えない。 ⇒特徴空間に移して使えるようにする。 3
  5. 5. 6.0 カーネル法の概要(3)●なぜ内積をとるのか? ①特徴空間は高次元(時には無限次元) ⇒直接扱えない(計算できない) ⇒カーネル関数を通せば、計算できる ②多くの線形モデルは、双対表現で表すと、カーネル関数 が自然に現れる。●カーネル法の利用 ・サポートベクトルマシン(7章) ・非線形主成分分析(12.3節) など 4
  6. 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. 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. 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. 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. 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 , xa ) + kb (x b , xb ) k (x, x ) = k1 (x, x ) + k 2 (x, x ) k (x, x ) = k a (x a , xa )kb (x b , xb ) f( )は任意の関数、q( )は非負の係数をもつ多項式、k3( , ) は特徴空間次元で定義された有効なカーネル、Aは対称 な半正定値行列、x=(xa,xb)、kaとkbはそれぞれの特徴空 間において有効なカーネル関数 9
  11. 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. 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. 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. 14. 6.3 RBFネットワーク (3)●基底関数が正規化されていると何がいいのか? 全ての基底関数が小さな値を持つ領域を無くす。 →その領域内の予測値が小さくなったり、ほとんどバイ アスパラメータによって決定されてしまうのを避ける。 (3つのガウス基底関数) (正規化したもの)次に、正規化されたRBF(Nadaraya-Watsonモデル)が、カーネル密度推定を用いた回帰においても現れることを見ていく。13
  15. 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. 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. 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. 18. 6.4 ガウス過程6.1節→回帰のための非確率的モデルからカーネル法を導いた。この節→ベイズ的な設定においても自然にカーネルが現れる ことを見る。●そもそもガウス過程とは? ガウス過程: 関数y(x)の上の確率分布で次を満たすもの(を定義するモデル) ∀ {x1 ,  , x N } に対して、 y (x1 ), , y (x N )} の同時分布が、 { ガウス分布に従う●ガウス過程の考え方 パラメータwの事前分布p(w)を使うのではなく、 関数y(x)の事前分布p(y)を直接定義してしまう。 →具体的に線形回帰モデルを見てみると理解しやすい。 17
  19. 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. 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. 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. 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. 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. 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. 25. 6.4.5 ガウス過程による分類(1)確率的な手法による分類⇒区間(0,1)に収まる事後分布を求めるしかし…ガウス過程のモデルは予測が実数値全体での値をとるガウス過程の出力を非線形な活性化関数で変換 →ガウス過程を分類問題に適用できるようになる●2クラス分類問題 目標変数:t∈{0,1} 関数a(x)上のガウス過程を定義 これを、ロジスティックシグモイド関数σ(a)で変換 →y ∈(0,1)な関数y(x)上の非ガウス確率過程が得られる 24
  26. 26. 6.4.5 ガウス過程による分類(2) ガウス過程の事前分布 ロジスティックシグモ からのサンプル イド関数による変換目標変数tの確率分布はベルヌーイ分布になる p (t | a ) = σ (a ) (1 − σ (a )) t 1−t目的:予測分布 p(t N +1 | t ) の決定 25
  27. 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. 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. 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. 30. ガウス過程まとめ●ガウス過程のモデルは、カーネル関数で決まる●ガウス過程での、回帰・分類問題 予測分布 p (t N +1 | t N ) を求める●ガウス過程の利点・欠点 ・利点:無限個の基底関数に対応できる 予測の分散が出せる ・欠点:O(N3)の大きな計算量を必要とする (訓練データ数N) ⇒ 基底関数の数Mがデータ数Nより大きいとき に有効 終 29

×