SlideShare a Scribd company logo
パターン認識と機械学習
               6.2 カーネル関数の構成


                     PRML復々習レーン #9
                         2013/3/10(日)
                      ぷるうぬす@Prunus1350



13年3月10日日曜日                              1
•     カーネル関数を構成するには?

                           (x)
              (1) 特徴空間への写像   を考え、これをもとに対応するカー
                  ネルを構成する。
                                               M
                                               X
                      0           T     0                         0
                 k(x, x ) = (x)       (x ) =         i (x) i (x       )
                                               i=1

              (2) カーネル関数を直接定義する。

               • 与えた関数がカーネル関数として有効であることを保証
                 する必要がある。

               • 言い換えれば、ある特徴空間におけるスカラー積である
                 ことを保証する必要がある。




13年3月10日日曜日                                                               2
(2) の簡単な例

              k(x, z) = (xT z)2
                   x = (x1 , x2 )
          2次元の入力空間       を考えると、対応する特徴空間
          への非線形写像を得ることができる。
                          T   2                    2
              k(x, z) = (x z) = (x1 z1 + x2 z2 )
                     = x2 z1 + 2x1 z1 x2 z2 + x2 z2
                        1
                           2
                                                2
                                                  2
                            p                  p
                     = (x2 , 2x1 x2 , x2 )(z1 , 2z1 z2 , z2 )T
                         1             2
                                            2             2


                     = (x)T (z)
                                           p
                    (x) = (x2 , 2x1 x2 , x2 )T の形を持つ
          特徴空間への写像は              
                            1             2
          ことが分かる。




13年3月10日日曜日                                                      3
(x)
          より一般的には、   を明示的に構成することなく、関数が有
          効なカーネルであるかどうかを簡単に調べる方法が望まれる。


                  k(x, x0 )
               関数     が有効なカーネルである



                         必要十分条件



                 {xn }      k(xn , xm )
              任意の   に対して、要素が      で
                         K
              与えられるグラム行列  が半正定値である




13年3月10日日曜日                               4
付録Cより

              A                  w Aw > 0
                                  T
                         w の値に対して       
          正方行列  がすべてのベクトル 
                 A                 A⌫0
          を満たすとき、 は半正定値行列であると言われ、    と表
          す。

                              i > 0
          これは、半正定値行列のすべての固有値が    を満たすこと
          と同値である。



          ※ 行列のすべての要素が非負であることとは異なることに注意
          する。




13年3月10日日曜日                                 5

          グラム行列の成分がカーネル関数  であるとき、この行列を
          カーネル行列という。

          標準的な表記法を用いて、この行列を

              K      1             2          ···       N
              1   (x1 , x1 )   (x1 , x1 )   ···    (x1 , xN )
              2   (x2 , x1 )   (x2 , x2 )   ···    (x2 , xN )
              .
              .       .
                      .             .
                                    .         ..         .
                                                         .
              .       .             .            .       .
              N   (xN , x1 )   (xN , x2 )   ···    (xN , xN )

          と書く。

             K
          左隅の  の記号は、表がカーネル行列の表であることを示す。




13年3月10日日曜日                                                        6
新たなカーネルを構築するための便利な方法は、より単純なカー
          ネルを構成要素として用いることである。これには、次の性質を
          利用することができる。


               0              0
        k(x, x ) = ck1 (x, x )                       c>0
                                                        は定数
        k(x, x0 ) = f (x)k1 (x, x0 )f (x0 )          f (·)
                                                       は任意の関数
        k(x, x0 ) = q(k1 (x, x0 ))                     は非負の係数をもつ多項式
                                                     q(·)
                                                       (x)
                                                        は から  x   RM への関数
        k(x, x0 ) = exp(k1 (x, x0 ))
                                                     k3 (·, ·) RM
                                                         は   で定義された有効なカー
        k(x, x0 ) = k1 (x, x0 ) + k2 (x, x0 )       ネル
        k(x, x0 ) = k1 (x, x0 )k2 (x, x0 )           A
                                                      は対称な半正定値行列
        k(x, x0 ) = k3 ( (x), (x0 ))                 xa xb      x = (xa , xb )
                                                       と  は        であるよう
                                                    な変数
        k(x, x0 ) = xT Ax0
                                                      ka kb
                                                       と  はそれぞれの特徴空間におい
        k(x, x0 ) = ka (xa , x0 ) + kb (xb , x0 )
                               a               b    て有効なカーネル関数
        k(x, x0 ) = ka (xa , x0 )kb (xb , x0 )
                               a           b




13年3月10日日曜日                                                                      7
0   0
        k(x, x ) = ck1 (x, x ) (c > 0)
                         の証明

        w K1 w > 0
              T
                より wT (cK1 )w > 0        (w 2 RN )
        ) cK1
            は半正定値行列

              ck1
          よって   はカーネル関数である。




13年3月10日日曜日                                          8
k(x, x0 ) = k1 (x, x0 ) + k2 (x, x0 )
                         の証明

        w K1 w > 0, w K2 w > 0
              T        T       (w 2 RN )
                              より

        wT K1 w + wT K2 w = wT (K1 + K2 )w > 0

        ) K1 + K2
               は半正定値行列

              k1 + k2
          よって     はカーネル関数である。




13年3月10日日曜日                                      9
k(x, x0 ) = k1 (x, x0 )k2 (x, x0 )
                         の証明

            K1 K2
          行列  と  のテンソル積を
                       N
              K = K1       K2
          とする。

                 K1     K2          K1
          テンソル積とは  の各成分に  の行列を掛け合わせ、  の
          各成分の位置にその行列を置いたものをいう。

          2つの半正定値行列のテンソル積は、それ自体が半正定値であ
          る。積の固有値は2コンポーネントの固有値の積すべてのペアだ
          からである。




13年3月10日日曜日                                    10
k(x, x0 ) = k1 (x, x0 )k2 (x, x0 )
                         の証明続き

            k1 k2      H K1 K2
          関数   に対応する行列  を  と  のシューア積とい
          う。この成分は対応する2つのコンポーネントの成分ごとの積と
          なる。

            H K               K       K
          行列  は  の主部分行列である(  の主部分行列とは、 の部
          分行列で、行の集合と列の集合が同じ添字集合からなる行列をい
                       w 2 RN
          う)。したがって任意の     に対して、

              wT Hw = w1 Kw1 > 0
                       T

                                N2
                    w1 2 R         H
          を満たすような対応      が存在し、したがって  は半
          正定値行列となる。

              k1 k2
          よって    はカーネル関数である。




13年3月10日日曜日                                    11
これらの性質を用いると、より複雑なカーネルを構成すること
                             k(x, x0 )
              が可能になる。なお、カーネル     は、

              ・対称

              ・半正定値

                           x と 0 の適切な類似度である
              ・適用先の問題領域における   x

              ことが必要である。




13年3月10日日曜日                                   12
多項式カーネルの一般化

          k(x, x0 ) = (xT x0 )2
                    は2次の項のみを含む。
              0   T 0   2
          k(x, x ) = (x x + c) (c > 0)
                            は2次までの項を持つ。

          k(x, x0 ) = (xT x0 )M M
                     は  次の項すべてをもつ。
              0   T 0   M
          k(x, x ) = (x x + c) (c > 0) M
                            は  次までのすべての
          次数の項をもつ。

          これらはすべて有効なカーネル関数である。




13年3月10日日曜日                                13
ガウスカーネル

              k(x, x0 ) = exp( kx   x0 k2 /2   2
                                                   )
          カーネル法の文脈では、これは確率密度関数としては解釈され
          ず、したがって正規化のための定数は省かれている。

           kx x0 k2 = xT x 2xT x0 + (x0 )T x0
                              と展開すると、
                          ✓  T
                                 ◆     ✓ T 0◆     ✓   0 T 0
                                                            ◆
                 0          x x         x x         (x ) x
           k(x, x ) = exp      2
                                   exp    2
                                              exp
                            2                         2 2

          となる。これは有効なカーネル関数である。

          ※  はカーネル関数の広がりを制御するパラメータである。

                         x0 から遠く離れている広範囲の
          ※  が大きい場合は入力データ 
          サポートベクトルが識別に寄与することになる。

13年3月10日日曜日                                                     14
演習 6.11
                    xT x0
           exp( 2 )
                を、べき級数展開することによって、ガウスカーネ
          ルは、無限次元の特徴ベクトルの内積で表されることを示せ。
                    ✓           ◆               M
                                                              !       M           ✓           ◆
                         T
                        x x   0                 X         0
                                                      xi xi           Y                   0
                                                                                      xi xi
              exp         2
                                    = exp                         =         exp
                                                i=1                   i=1
                    ✓           ◆       1
                                        X       ✓           ◆n
                        xi x0
                            i             1         xi x0
                                                        i
              exp                   =
                                      n=0
                                          n!
                                        1
                                        X  1   ⇣ x ⌘ n 1 ✓ x 0 ◆n
                                                  i          i
                                    =     p           p
                                      n=0   n!          n!
                                         T 0
                                    =   xi xi


13年3月10日日曜日                                                                                       15
演習 6.11 続き

          ここで、    xiと 0 はそれぞれ、
                      xi
               ⇣ x ⌘n        ✓ 0 ◆n
           1      i      1    xi
          p           , p             (n = 0, 1, 2, · · · )
            n!            n!

          の無限の要素をもつベクトルである。

          よって、ガウスカーネルは、無限次元の特徴ベクトルの内積で表
          される。




13年3月10日日曜日                                                   16
ガウスカーネルは、必ずしもユークリッド距離に限定されたもの
          ではない。
                               ✓       T
                                               ◆         ✓   T 0
                                                                   ◆         ✓     0 T 0
                                                                                           ◆
                   0               x x                       x x                 (x ) x
              k(x, x ) = exp                       exp                 exp
                                   2 2                        2                    2 2

                 T 0                                     0
           x x        (x, x )
          の   を非線形カーネル     で置き換えれば、次のよう
          なカーネルが得られる。
                               ⇢
                   0                   1                                0          0   0
          k(x, x ) = exp                   2
                                               ((x, x)       2(x, x ) + (x , x ))
                                   2




13年3月10日日曜日                                                                                    17
カーネル法の考え方によって得られる重要な利点は、入力が実数
          値ベクトルだけではなく、記号であるような場合にも適用できる
          ことである。

          グラフ、集合、文字列、テキスト文書などのさまざまな対象に対
          して、カーネル関数が定義されている。

          例)対象としてある集合を考え、この集合のすべての部分集合で
          構成される、ベクトル形式を持たない入力空間を定義する。

          A1 A2
            と  をこのような部分集合とすると、カーネル関数のひと
          つの定義としては、以下のようなものが考えられる。

              k(A1 , A2 ) = 2|A1 A2 |

              A1  A2            |A| A
          ここで、     は  と  の共通集合とし、  を  に
                      A1 A2
          含まれる要素の数とする。


13年3月10日日曜日                               18
別の強力なアプローチとして、確率的生成モデルからカーネル関
          数を構成する方法がある。これによって、生成モデルを分類に用
          いることができる。

          生成モデルは、欠損データを自然に扱うことができ、また、隠れ
          マルコフモデルなどを使えば可変長の配列を扱うことができる。

          一方、識別モデルは、分類問題においては生成モデルよりも一般
          に性能が良いことが知られている。

          これら2つのアプローチを組み合わせることは、しばしば興味の
          対象となる。これを実現する方法のひとつとして考えられるの
          は、生成モデルを用いてカーネルを定義し、このカーネルを用い
          て識別アプローチをとるという方法である。




13年3月10日日曜日                               19
p(x)
          生成モデル   が与えられたとき、カーネルを以下のように定
          義する。

              k(x, x0 ) = p(x)p(x0 )
                        x と 0 の確率が共に大きいとき
          このカーネルでは、2つの入力   x
          に、2つの入力が似ているとみなされる。

          さらに、複数の確率分布があるときに、確率分布の積の和を考え
          ることによって、以下のように拡張することができる。
                            X
              k(x, x0 ) =       p(x|i)p(x0 |i)p(i)   (p(i) > 0)
                            i
          これは全体を定数倍すれば、混合分布に等しくなる。

                   i
          混合要素を指定する は、「潜在」変数であると解釈できる。




13年3月10日日曜日                                                       20
無限個の構成要素の和を考えることで、次のようなカーネルを考
          えることができる。
                Z
              k(x, x0 ) =   p(x|z)p(x0 |z)p(z)

              z
          ここで、  は連続値をとる潜在変数である。




13年3月10日日曜日                                      21
隠れマルコフモデル

                              X = {x1 , · · · , xL }
          データの長さ  の配列、つまり入力変数が          
                L
          の形であたえられる場合を考える。

          配列の生成モデルとしてよく使われるものとしては、隠れマルコ
          フモデルがある。隠れマルコフモデルは、   の分布を、対応  p(X)
                  Z = {z1 , · · · , zL }
          する隠れ変数          について周辺化したものとし
          て表す。このアプローチにより、混合表現を拡張して、2つの配
                0
          列  と  の類似度を測るカーネル関数が定義できる。
            X X
                       X
                0                   0
          k(X, X ) =       p(X|Z)p(X |Z)p(Z)
                       Z
          このモデルは2つの配列の長さが異なる場合にも容易に拡張が可
          能である。




13年3月10日日曜日                                            22
フィッシャーカーネル

          生成モデルを用いてカーネル関数を定義する別の方法としては、
                                   ✓
          フィッシャーカーネルがよく知られている。パラメータ  を持
                         p(x|✓)
          つ、パラメトリックな生成モデル    を考える。

          フィッシャースコアを g(✓, x) = r✓ ln p(x|✓)
                                                    T
          フィッシャー情報量行列を F = Ex [g(✓, x)g(✓, x) ]

          と定義し、フィッシャーカーネルを
                   0           T     1         0
              k(x, x ) = g(✓, x) F       g(✓, x )
          と定義する。

          これはモデルのパラメータ空間における微分幾何を考える情報幾
          何の考えに基づいたものである。


13年3月10日日曜日                                             23
実際の利用においては、フィッシャー情報量行列を計算するのは
          不可能であるため、期待値を単純平均で置き換える。

                   XN
                 1                        T
              F'       g(✓, xn )g(✓, xn )
                 N x=1

          より簡単に、フィッシャー情報量行列を省いて、次のように定義
          することもある。
                    0          T       0
              k(x, x ) = g(✓, x) g(✓, x )

          フィッシャーカーネルの応用例としては、文書検索の例などがあ
          る。




13年3月10日日曜日                                   24
シグモイドカーネル

              k(x, x0 ) = tanh(axT x0 + b)
          シグモイドカーネルのグラム行列は必ずしも半正定値にならない
          が、実用的には以前からよく使用されている。

          シグモイドカーネルを使うと、サポートベクトルマシンとニュー
          ラルネットワークが表層的に類似したものになる。

          基底関数が無限にある場合には、適当な事前分布をもつベイズ
          ニューラルネットワークは、ガウス過程に一致し、ニューラル
          ネットワークとカーネル法のより深いつながりが明らかになる。




13年3月10日日曜日                                  25
ご清聴ありがとうございました。




13年3月10日日曜日                     26

More Related Content

パターン認識と機械学習 §6.2 カーネル関数の構成

  • 1. パターン認識と機械学習 6.2 カーネル関数の構成 PRML復々習レーン #9 2013/3/10(日) ぷるうぬす@Prunus1350 13年3月10日日曜日 1
  • 2. カーネル関数を構成するには? (x) (1) 特徴空間への写像   を考え、これをもとに対応するカー ネルを構成する。 M X 0 T 0 0 k(x, x ) = (x) (x ) = i (x) i (x ) i=1 (2) カーネル関数を直接定義する。 • 与えた関数がカーネル関数として有効であることを保証 する必要がある。 • 言い換えれば、ある特徴空間におけるスカラー積である ことを保証する必要がある。 13年3月10日日曜日 2
  • 3. (2) の簡単な例 k(x, z) = (xT z)2 x = (x1 , x2 ) 2次元の入力空間       を考えると、対応する特徴空間 への非線形写像を得ることができる。 T 2 2 k(x, z) = (x z) = (x1 z1 + x2 z2 ) = x2 z1 + 2x1 z1 x2 z2 + x2 z2 1 2 2 2 p p = (x2 , 2x1 x2 , x2 )(z1 , 2z1 z2 , z2 )T 1 2 2 2 = (x)T (z) p (x) = (x2 , 2x1 x2 , x2 )T の形を持つ 特徴空間への写像は               1 2 ことが分かる。 13年3月10日日曜日 3
  • 4. (x) より一般的には、   を明示的に構成することなく、関数が有 効なカーネルであるかどうかを簡単に調べる方法が望まれる。 k(x, x0 ) 関数     が有効なカーネルである 必要十分条件 {xn } k(xn , xm ) 任意の   に対して、要素が      で K 与えられるグラム行列  が半正定値である 13年3月10日日曜日 4
  • 5. 付録Cより A w Aw > 0 T w の値に対して        正方行列  がすべてのベクトル  A A⌫0 を満たすとき、 は半正定値行列であると言われ、    と表 す。 i > 0 これは、半正定値行列のすべての固有値が    を満たすこと と同値である。 ※ 行列のすべての要素が非負であることとは異なることに注意 する。 13年3月10日日曜日 5
  • 6. グラム行列の成分がカーネル関数  であるとき、この行列を カーネル行列という。 標準的な表記法を用いて、この行列を K 1 2 ··· N 1 (x1 , x1 ) (x1 , x1 ) ··· (x1 , xN ) 2 (x2 , x1 ) (x2 , x2 ) ··· (x2 , xN ) . . . . . . .. . . . . . . . N (xN , x1 ) (xN , x2 ) ··· (xN , xN ) と書く。 K 左隅の  の記号は、表がカーネル行列の表であることを示す。 13年3月10日日曜日 6
  • 7. 新たなカーネルを構築するための便利な方法は、より単純なカー ネルを構成要素として用いることである。これには、次の性質を 利用することができる。 0 0 k(x, x ) = ck1 (x, x ) c>0     は定数 k(x, x0 ) = f (x)k1 (x, x0 )f (x0 ) f (·)    は任意の関数 k(x, x0 ) = q(k1 (x, x0 ))    は非負の係数をもつ多項式 q(·) (x)     は から  x RM への関数 k(x, x0 ) = exp(k1 (x, x0 )) k3 (·, ·) RM      は   で定義された有効なカー k(x, x0 ) = k1 (x, x0 ) + k2 (x, x0 ) ネル k(x, x0 ) = k1 (x, x0 )k2 (x, x0 ) A   は対称な半正定値行列 k(x, x0 ) = k3 ( (x), (x0 )) xa xb x = (xa , xb )    と  は        であるよう な変数 k(x, x0 ) = xT Ax0 ka kb    と  はそれぞれの特徴空間におい k(x, x0 ) = ka (xa , x0 ) + kb (xb , x0 ) a b て有効なカーネル関数 k(x, x0 ) = ka (xa , x0 )kb (xb , x0 ) a b 13年3月10日日曜日 7
  • 8. 0 0 k(x, x ) = ck1 (x, x ) (c > 0)                 の証明 w K1 w > 0 T        より wT (cK1 )w > 0 (w 2 RN ) ) cK1    は半正定値行列 ck1 よって   はカーネル関数である。 13年3月10日日曜日 8
  • 9. k(x, x0 ) = k1 (x, x0 ) + k2 (x, x0 )                 の証明 w K1 w > 0, w K2 w > 0 T T (w 2 RN )                      より wT K1 w + wT K2 w = wT (K1 + K2 )w > 0 ) K1 + K2       は半正定値行列 k1 + k2 よって     はカーネル関数である。 13年3月10日日曜日 9
  • 10. k(x, x0 ) = k1 (x, x0 )k2 (x, x0 )                の証明 K1 K2 行列  と  のテンソル積を N K = K1 K2 とする。 K1 K2 K1 テンソル積とは  の各成分に  の行列を掛け合わせ、  の 各成分の位置にその行列を置いたものをいう。 2つの半正定値行列のテンソル積は、それ自体が半正定値であ る。積の固有値は2コンポーネントの固有値の積すべてのペアだ からである。 13年3月10日日曜日 10
  • 11. k(x, x0 ) = k1 (x, x0 )k2 (x, x0 )                の証明続き k1 k2 H K1 K2 関数   に対応する行列  を  と  のシューア積とい う。この成分は対応する2つのコンポーネントの成分ごとの積と なる。 H K K K 行列  は  の主部分行列である(  の主部分行列とは、 の部 分行列で、行の集合と列の集合が同じ添字集合からなる行列をい w 2 RN う)。したがって任意の     に対して、 wT Hw = w1 Kw1 > 0 T N2 w1 2 R H を満たすような対応      が存在し、したがって  は半 正定値行列となる。 k1 k2 よって    はカーネル関数である。 13年3月10日日曜日 11
  • 12. これらの性質を用いると、より複雑なカーネルを構成すること k(x, x0 ) が可能になる。なお、カーネル     は、 ・対称 ・半正定値 x と 0 の適切な類似度である ・適用先の問題領域における  x ことが必要である。 13年3月10日日曜日 12
  • 13. 多項式カーネルの一般化 k(x, x0 ) = (xT x0 )2           は2次の項のみを含む。 0 T 0 2 k(x, x ) = (x x + c) (c > 0)                   は2次までの項を持つ。 k(x, x0 ) = (xT x0 )M M            は  次の項すべてをもつ。 0 T 0 M k(x, x ) = (x x + c) (c > 0) M                   は  次までのすべての 次数の項をもつ。 これらはすべて有効なカーネル関数である。 13年3月10日日曜日 13
  • 14. ガウスカーネル k(x, x0 ) = exp( kx x0 k2 /2 2 ) カーネル法の文脈では、これは確率密度関数としては解釈され ず、したがって正規化のための定数は省かれている。 kx x0 k2 = xT x 2xT x0 + (x0 )T x0                     と展開すると、 ✓ T ◆ ✓ T 0◆ ✓ 0 T 0 ◆ 0 x x x x (x ) x k(x, x ) = exp 2 exp 2 exp 2 2 2 となる。これは有効なカーネル関数である。 ※  はカーネル関数の広がりを制御するパラメータである。 x0 から遠く離れている広範囲の ※  が大きい場合は入力データ  サポートベクトルが識別に寄与することになる。 13年3月10日日曜日 14
  • 15. 演習 6.11 xT x0 exp( 2 )       を、べき級数展開することによって、ガウスカーネ ルは、無限次元の特徴ベクトルの内積で表されることを示せ。 ✓ ◆ M ! M ✓ ◆ T x x 0 X 0 xi xi Y 0 xi xi exp 2 = exp = exp i=1 i=1 ✓ ◆ 1 X ✓ ◆n xi x0 i 1 xi x0 i exp = n=0 n! 1 X 1 ⇣ x ⌘ n 1 ✓ x 0 ◆n i i = p p n=0 n! n! T 0 = xi xi 13年3月10日日曜日 15
  • 16. 演習 6.11 続き ここで、  xiと 0 はそれぞれ、 xi ⇣ x ⌘n ✓ 0 ◆n 1 i 1 xi p , p (n = 0, 1, 2, · · · ) n! n! の無限の要素をもつベクトルである。 よって、ガウスカーネルは、無限次元の特徴ベクトルの内積で表 される。 13年3月10日日曜日 16
  • 17. ガウスカーネルは、必ずしもユークリッド距離に限定されたもの ではない。 ✓ T ◆ ✓ T 0 ◆ ✓ 0 T 0 ◆ 0 x x x x (x ) x k(x, x ) = exp exp exp 2 2 2 2 2 T 0 0 x x (x, x ) の   を非線形カーネル     で置き換えれば、次のよう なカーネルが得られる。 ⇢ 0 1 0 0 0 k(x, x ) = exp 2 ((x, x) 2(x, x ) + (x , x )) 2 13年3月10日日曜日 17
  • 18. カーネル法の考え方によって得られる重要な利点は、入力が実数 値ベクトルだけではなく、記号であるような場合にも適用できる ことである。 グラフ、集合、文字列、テキスト文書などのさまざまな対象に対 して、カーネル関数が定義されている。 例)対象としてある集合を考え、この集合のすべての部分集合で 構成される、ベクトル形式を持たない入力空間を定義する。 A1 A2   と  をこのような部分集合とすると、カーネル関数のひと つの定義としては、以下のようなものが考えられる。 k(A1 , A2 ) = 2|A1 A2 | A1 A2 |A| A ここで、     は  と  の共通集合とし、  を  に A1 A2 含まれる要素の数とする。 13年3月10日日曜日 18
  • 19. 別の強力なアプローチとして、確率的生成モデルからカーネル関 数を構成する方法がある。これによって、生成モデルを分類に用 いることができる。 生成モデルは、欠損データを自然に扱うことができ、また、隠れ マルコフモデルなどを使えば可変長の配列を扱うことができる。 一方、識別モデルは、分類問題においては生成モデルよりも一般 に性能が良いことが知られている。 これら2つのアプローチを組み合わせることは、しばしば興味の 対象となる。これを実現する方法のひとつとして考えられるの は、生成モデルを用いてカーネルを定義し、このカーネルを用い て識別アプローチをとるという方法である。 13年3月10日日曜日 19
  • 20. p(x) 生成モデル   が与えられたとき、カーネルを以下のように定 義する。 k(x, x0 ) = p(x)p(x0 ) x と 0 の確率が共に大きいとき このカーネルでは、2つの入力  x に、2つの入力が似ているとみなされる。 さらに、複数の確率分布があるときに、確率分布の積の和を考え ることによって、以下のように拡張することができる。 X k(x, x0 ) = p(x|i)p(x0 |i)p(i) (p(i) > 0) i これは全体を定数倍すれば、混合分布に等しくなる。 i 混合要素を指定する は、「潜在」変数であると解釈できる。 13年3月10日日曜日 20
  • 21. 無限個の構成要素の和を考えることで、次のようなカーネルを考 えることができる。 Z k(x, x0 ) = p(x|z)p(x0 |z)p(z) z ここで、  は連続値をとる潜在変数である。 13年3月10日日曜日 21
  • 22. 隠れマルコフモデル X = {x1 , · · · , xL } データの長さ  の配列、つまり入力変数が           L の形であたえられる場合を考える。 配列の生成モデルとしてよく使われるものとしては、隠れマルコ フモデルがある。隠れマルコフモデルは、   の分布を、対応 p(X) Z = {z1 , · · · , zL } する隠れ変数          について周辺化したものとし て表す。このアプローチにより、混合表現を拡張して、2つの配 0 列  と  の類似度を測るカーネル関数が定義できる。 X X X 0 0 k(X, X ) = p(X|Z)p(X |Z)p(Z) Z このモデルは2つの配列の長さが異なる場合にも容易に拡張が可 能である。 13年3月10日日曜日 22
  • 23. フィッシャーカーネル 生成モデルを用いてカーネル関数を定義する別の方法としては、 ✓ フィッシャーカーネルがよく知られている。パラメータ  を持 p(x|✓) つ、パラメトリックな生成モデル    を考える。 フィッシャースコアを g(✓, x) = r✓ ln p(x|✓) T フィッシャー情報量行列を F = Ex [g(✓, x)g(✓, x) ] と定義し、フィッシャーカーネルを 0 T 1 0 k(x, x ) = g(✓, x) F g(✓, x ) と定義する。 これはモデルのパラメータ空間における微分幾何を考える情報幾 何の考えに基づいたものである。 13年3月10日日曜日 23
  • 24. 実際の利用においては、フィッシャー情報量行列を計算するのは 不可能であるため、期待値を単純平均で置き換える。 XN 1 T F' g(✓, xn )g(✓, xn ) N x=1 より簡単に、フィッシャー情報量行列を省いて、次のように定義 することもある。 0 T 0 k(x, x ) = g(✓, x) g(✓, x ) フィッシャーカーネルの応用例としては、文書検索の例などがあ る。 13年3月10日日曜日 24
  • 25. シグモイドカーネル k(x, x0 ) = tanh(axT x0 + b) シグモイドカーネルのグラム行列は必ずしも半正定値にならない が、実用的には以前からよく使用されている。 シグモイドカーネルを使うと、サポートベクトルマシンとニュー ラルネットワークが表層的に類似したものになる。 基底関数が無限にある場合には、適当な事前分布をもつベイズ ニューラルネットワークは、ガウス過程に一致し、ニューラル ネットワークとカーネル法のより深いつながりが明らかになる。 13年3月10日日曜日 25