SlideShare a Scribd company logo
今さら聞けないカーネル法と
 サポートベクターマシン
         @kakenman
自己紹介          @kakenman


        趣味              最近の動向
        組み込みプログラミング
                        成り行き上某M社という外資
        Python
                        のコンサルに就職することに
        サーバ管理
                        なったので,せっかくだから
        VM遊び(特にKVM)
                        これまでの知識を何かに役立
        金属溶接
                        てたい気分
        金属加工
        電子工作
                        ←他のも要望あればやります
今回はこれ   機械学習
                        よ!TIG溶接は任せろ!
        自然言語処理
        未来ガジェット製作
        牧瀬紅莉栖
カーネル法とSVM

•   ガチ勢的には使い古された手法

•   一方で名前だけ知ってるって人も多い

•   「あ,あーSVMねー(よく分かってないけど)」

•   「あ,あーカーネルトリックねー(全然分からな
    いけど)」

•   今日はそんな感じの方向け
本日のはなし
•   第一部:カーネル法

•   第二部:サポートベクターマシン

準備期間の関係で第一部で力尽きた感あり・・・


    導出の手順は色々ありますが
    今回はこちらの本を参考に→
カーネル多変量解析 非線形データ解析の新しい展開
著者:赤穂昭太郎

良書なのでどんどん買いましょう
第一部
           カーネル法

•   線形回帰        •   カーネル回帰

•   特徴ベクトルの射影   •   カーネルトリック

•   正則化         •   ガウスカーネル

•   リプレゼンター定理   •   多項式カーネル
第二部
    サポートベクターマシン

•   識別問題

•   回帰問題への帰着

•   損失関数

•   サポートベクターマシン

•   サポートベクター
線形回帰
                                          6
                                                                                sample



   •   例えば右図のようなサンプル(x,y)                 4



       の集合が与えられたとき,未知の                    2


       xに対してyを予測したい
                                          0




                                     y
   •   y=f(x)となるfを推定する                   -2




   •
                                         -4

       最も簡単なのはいわゆる一次近似
                                         -6
                                              -3       -2      -1   0   1   2            3
                                                                    x




           y (i) ≈ w0 + w1 x(i)                              (9)
           N
, w1 ) =        {y   (i)
                           − w0 + w1 x   (i)       2
                                                   }        (10)
            i
       (1)      (1)
                                                  
                      BD(Pstate , Pstate )
                         (1)      
                                   (2)
            一次の線形回帰の解 (8)
            
            
                      BD(Pstate , Pstate )
                       .
                                   
                                   
                      .           
                      .           
                (i) (1)    (N ) (i)
          近似式: y state0 Pstate ) w0 + w1 x
              BD(P ≈ w , + y 1 x
                            (i)
                            w ≈           (i)
                                              (9)                     (9)

                         N                N
       二乗誤差: yi ≈{y (i)+= 1 x{y(i) −x(i)0 +2w1 x(i) }2
        R(w , w ) = R(w0 , w1 ) w w i+ w w }
                       w0
                              −
                                                (9)
                                               (10)                  (10)
              0   1                           0   1
                                          i
                          i
       R(w0 , w1 ) =        {yi −ˆ(wˆ1 ) =w1 xi )}R(w0 , w1 )
                                (w0 , w + argmin         (10)
                                                          2
                                                                     (11)
ti−1 ) 二乗誤差を最小にするwを求める                 0
                 (w0 , wi1 ) = argmin R(w0 , ,w 1))
                   ˆ ˆ                     (w w   0   1  (11)
                                 (w0 ,w1 )
                                                                     (12)
              (w0 , w1 ) = argmin R(w0 , w1 )
               ˆ ˆ                                            (11)
                                                              (12)
                              (w0 ,w1 )


                                                              (12)
∂R
                                     =0
                      ∂wk
一次の線形回帰の解:解法                wk =wk
                                 ˆ


                  N
    ∂R
        =   −2{y (i) − w0 + w1 x(i) }
 Rはw0,w1に対して凸関数なので微分
    ∂w0   i


             =
                  してゼロでおk
                  N


                  i

          (i) 2                             x(i) y (i)
         x              x(i)    w1
    i                 i               =   i
        i x(i)         1        w0          i y (i)
一次の線形回帰:結果
    6
                                     sample
                                        f(x)

    4




    2




    0
y




    -2




    -4




    -6
         -3    -2   -1   0   1   2             3
                         x
二次の線形回帰
                             6
                                                                            sample
                                                                               f(x)

                             4




•
                             2
    xに対しては非線形だがwに対して線
    形なのでこれも線形回帰              0




                         y
                             -2


•   この形の線形回帰は常に二乗誤差が
                             -4

    wの凸関数なので簡単に解ける
                             -6
                                  -3      -2       -1     0     1       2             3
                                                          x




                                                                              2
                                       y (i) ≈ w0 + w1 x(i) + w2 x(i)                      (

                                               y (i) ≈ w0 + w1 x(i)                       (1
                                               N
                        R(w0 , w1 ) =               {y (i) − w0 + w1 x(i) }2              (1
(w0 , w1 ) = argmin R(w0 , w1 )
                 ˆ ˆ
             (w0 , w1 ) (i) ≈argmin(i)
              ˆ ˆ y = (w0+ w1 x R(w0 , w(10)
                             w0 ,w1 )   1)
        特徴ベクトルの射影           N
                                       (w0 ,w1 )
            R(w0 , w1 ) =         {y   (i)
                                             − 0 + w1 x
                                               w           (i)
                                                             }  2
                                                                     (11)
                             i                       (i) 2
                            (i)  x (i) )         T
                (i) ≈ w 
線形回帰の一般式: (w0 ,yˆ1 ) = argmin R(w(i) 1 )
           ˆ w ) =
                             φ(x , w                                 (12)
         φ(x           (w ,w )     x 0
                                             0   1

                          
                               (i) 21
                                    
                                    x
2次1変数の場合:              φ(x(i) ) =  x(i)                            (13)
                      y ≈ w φ(x )
                       (i)         T 1    (i)

                            y (i) ≈ wT φ(x(i) )                      (14)
特徴ベクトルの射影                   x   (i)
                                       → φ(x )       (i)
                                                                     (15)

                                                                     (16)
w
                                         N   (w0 , w1 ) = T
                                               ˆ ˆ        argmin R(w0 , w1 )            (12)
                                  ˆ=
                                  w T argmin R(w) + λw (w0 ,w1 ) (15)
                                                            w
ˆ
w = argmin R(w0 , w1 ) =
           R(w) + λw w                    w     (15)
                                              {y − w0 + w1 x
                                                (i)          (i)
                                                                 }2
                                                                                   (11)
                  演習:線形回帰の最適解
             w
                                  (w0 , w1 )iˆ argmin R(w , w1 )
                                   ˆ ˆ =    w = argmin 0 {y (i) − wT(16) (i) )}2
                                                                    φ(x                 (13)
w0 , w1 ) = argmin R(w0 , w1 )
ˆ ˆ                                             (16)w
                                              (w0 ,w1 )   i
                  (w0 ,w1 )
                               (w0w1=(1)
                                   ˆ , ˆ ) argmin R(w0 , w1
                                    T                            )                 (12)
   T                        以下で表される解を求めよ
                               φ(1)
                                                  ˆ
                                                   (1)
                                             (w φ2 ) · · ·
                                                  w
                                                             (1)
                                          φ1  0 ,w1= argminφM
                                                            R(w)                        (14)
 )               (1)    (1) T   (1)
                             (2) ·            (2)      (2)     w      (2) 
                φ1      φφ
                        2          · ·  φ1
                                          φM           φ2    · · · φM 
 )T           (2)Φ = (2) .  =  (2) 
                         . ··  . ˆ(i) .      .      .    .         . 2T
                                                                           
              φ1   ˆ φ2 argmin  M. w = − w T.φ(x(i) )} w (13)
                   w= .            ·     φ {y argmin R(w) .+ λw
                                                        .        .     .                (15)
             
           = .            . (N )w .
                                 T.
                                                   (N w
                                             . (N φ ) · · · φ(N )
       
             .            .                 .    )
               .          .
                           φ          .    iφ1  2
                                             .                         M
N )T           (N )       (N )              (N ) w0 , w1 ) = argmin R(w0 , w1 )
                                                 (ˆ ˆ                                    (16)
              φ1       φ2         · · · (i) M
                                          φ
                                        φ = φ(x(i) )         (w0 ,w1 )
                                                                          (17)
                (1)                   ˆ = argmin  (1)
                                        w   T  R(w) (1)
                                                                                    (14)
                                                                                       (1)
                                                (1)(1)
                  y                          φ yw            φ1        φ2      · · · φM
                y (2)                     (2)  (2)
                                                (2) T  φ              (2)           (2) 
                                        φ y 
                                                               1      φ2      · · · φM 
                               ˆ    Φ =  .  = 
                                          =
           y =  .  w = argmin .R(w) + .λw T w
                                        y  (17)                      .(18) .     (15)
                                                                                       .   
                .  .                        . .   .
                                           . .                .        .
                                                                         .       .
                                                                                 .     . 
                                                                                       .
                                           w (N )
                  y (N )                        (N ) T
                                                 y           φ1
                                                               (N )     (N )
                                                                       φ2
                                                                                      (N )
                                                                               · · · φM
                                             φ
                            ( 0 , w1 ) =  (i) 2  0 , w1 2 
                               w ˆ
                                ˆ                argmin R(w                )         (16)
                        (i) 2                     (wx ,w )          x(i)
    .               .              .     .     .
    (N ) T             (N )      (N )            (N )
φ                     φ1        φ2        ···   φM
     演習:線形回帰の最適解
                 (i)
                 φ     = φ(x )  (i)
                                                      (

      Φ Φw = Φ y T              T
                                                      (
          (1) 
           y
実用上は丸め誤差などを小さくするため逆行列
          y (2) 
                
を明示的に求めずに解く(ハマりました)
       y= .                                         (
          . 
             .
                             (N )
                         y
3次元こそ至高(公式見解)
                        1                                                 2
    6                                                 6
                                    sample                                            sample
                                       f(x)                                              f(x)

    4                                                 4




    2                                                 2




    0                                                 0
y




                                                  y
    -2                                                -2




    -4                                                -4




    -6                                                -6
         -3   -2   -1   0   1   2             3            -3   -2   -1   0   1   2             3
                        x                                                 x




                        3
    6




    4
                                    sample
                                       f(x)                     高次元に射影すると表現
                                                                力が向上してハッピー
    2




    0
y




    -2




                                                                     …ともーじゃん?
    -4




    -6
         -3   -2   -1   0   1   2             3
                        x
なんかヤバイ
                        5                                                  8
    6                                                  6
                                     sample                                             sample
                                        f(x)                                               f(x)

    4                                                  4




    2                                                  2




    0                                                  0
y




                                                   y
    -2                                                 -2




    -4                                                 -4




    -6                                                 -6
         -3   -2   -1   0    1   2             3            -3   -2   -1   0    1   2             3
                        x                                                  x




    6
                        11           sample
                                                       6
                                                                           14           sample
                                        f(x)                                               f(x)

    4                                                  4




    2                                                  2




    0                                                  0
y




                                                   y




    -2                                                 -2




    -4                                                 -4




    -6                                                 -6
         -3   -2   -1   0    1   2             3            -3   -2   -1   0    1   2             3
                        x                                                  x
Overfitting(過学習)
                             6
                                                             sample
                                                                f(x)

                             4




•   一般に学習データに対して推定する         2




    パラメータが多すぎる時に起こる          0




                         y
•
                             -2
    右の例は15サンプルで15パラメータ
                             -4



•   全データ誤差0でフィッティングす
                             -6
                                  -3   -2   -1   0   1   2             3
    るけど・・・・                                      x




•   こういうのを汎化性能が低いと言う
y   (i)
                       ≈ w0 + w1 x          (i)
                                                                  (10)
                       y ≈ w0 + w1 x
                        (i)         (i)
                                                                         (10)
                                       正則化 }
               N
R(w0 , w1 ) =      {yN(i)
                             −     0 1 w +w x         (i)   2
                                                                  (11)
   R(w0 , w1 )i =            {y − w0 + w1 x
                               (i)                          (i)
                                                                  } (11)
                                                                   2

  Overfitしないようにパラメータに制約を加える
           i
       (w0 , w1 ) = argmin R(w0 , w1 )
        ˆ ˆ                                 (12)
             (w0 , w1(w= argmin R(w0 , w1 )
              ˆ ˆ ) 0 ,w1 )                      (12)
                                      (w0 ,w1 )

    ˆ
    w = argmin    {y (i) − wT φ(x(i) )}2
        ˆ
        w= w argmin
                i       {y − w φ(x )}
                          (i)    T      (i) 2
                       w
                                  i
ˆ
w = argmin   {y        (i)
                             − w φ(x )} + λw w
                                      T
                                     (i) 2      T
    ˆ w
    w = argmin
           i
                              (i)
                             {y     T
                                       − w φ(x )} + λw w
                                          (i) 2   T
           w
                       i

             ˆ
             w = argmin R(w)                                      (13)
                 ˆ w
                 w = argmin R(w)                                         (13)
                                        w
        ˆ
        w = argmin R(w) + λw w        (14)        T
            ˆ
            w= w argmin R(w) + λw T w      (14)
w
           R(w0 , w1 ) =    {y (w0 ,w0 )+ w1 x R(w0(11)
                                          (i)
                                  −ˆ w1 = T
                                      ˆ    argmin }     , w1 )  (i)    2
                                                                                (12)
                      ˆ= i
                      w T argmin R(w) + λw (w0 ,w1 ) (15)
                                            w
ˆ
w = argmin R(w) + λw w w 演習      (15)
       w
                             (ˆˆ, w ) ˆ argmin R(w w w
                                      w = argmin 0 {y,(i) 1 ) wT(16) (i) )}2
                            (w00 ,wˆ1) = argmin R(w ,0 1 ) −
                              w ˆ1                              φ(x(12)         (13)
ˆ ˆ         2次正則化付き線形回帰の最適解
w0 , w1 ) = argmin R(w0 , w1 ) i            (w(16)
                                               0
                                                  w
                                            (w0 ,w11 )
                                                 ,w )
            (w0 ,w1 )
                                T        (1)       (1) T           (1)
                                                                           
                             (1)
  T        ˆ (1) T 
             w = argmin
                φ
               (2) w             {y − w φ(x )}
                                          φ1 
                                         (1)
                                              (i)    φˆ = argminφM
                                                     w2     ···  (i) R(w)
                                                                        2       (14)
         (1)                                                          (2) 
 )
        φ1    以下で表される解を求めよ
              φ φ ··
              2        ·               φM
                                         φ1
                                        i
                                            (2)       (2)
                                                     φ2        w
                                                            · · · φM 
   T  (2) = (2) .  =  (2)  .
           Φ          · φ . 
                                                                         
 )    φ1    φ2 . ·  M. ˆ
               .       ·          . w = argmin.R(w) . λwT w
                                          .   .      . 
                                                     +
                                          . (i) . 2 .                          (15)
    = .                    (i)  T
               . (N ) T. . {y φ− φ(N w · )} +(N ) T w
                                . (N )w φ(x · · φ λw
         ˆ
      w = argmin
      .      .                .1  2      )
         .     .
               φ
               w          .     .                   M
                                           (N ) w0 , w1 )
                                              (ˆ ˆ = argmin R(w0 , w1 )          (16)
                                  i
N )T         (N )
            φ1
                         (N )
                        φ2  ···         φ
                                      φ = φ(x(i) )
                                       (i) M         (w0 ,w1 )
                                                                  (17)
            (1)             ˆ argmin 
                             w =  (1)  (1)
                                       (1) T R(w)               (1) (13)      (1)
                                                                                   
             y                       φwy             φ1        φ2      · · · φM
            y (2)                  (2)  (2)
                                       (2) T   φ             (2)           (2) 
                                 φ y 
                                                      1       φ2      · · · φM 
       y =  .  w = Φ =  . .  + λwT w
                                 y  R(w) =  .
                                   = (17) 
                        ˆ argmin . .                            (18) .
                                                                 . (14)        .  
            . .                w   . .   .       .         .
                                                                 .       .
                                                                         .     . 
                                                                               .
             y (N )
                                    φ   y (N )
                                      (N ) T          (N )
                                                     φ1
                                                                (N )
                                                               φ2
                                                                              (N )
                                                                       · · · φM
                       (w0 , w1 ) = argmin R(w0 , w1 )
                         ˆ ˆ                                        (15)
                                                  2     
                       2           (w0 ,wx)
                                            1 (i)                  2
                   (i)                                      x(i)
φ  (i)   演習 (i) )
               = φ(x
 2次正則化付き線形回帰の最適解
      Φ Φw = Φ y
         T          T


   (Φ Φ + λI)w = Φ y
     T                    T

           (1) 
            y
λを大きくしてゆくとwは0に近づく
           y (2) 
                 
      y= . 
           . 
              .
正則化の効果
                        λ=0                                            λ=0.0001
    6                                                   6
                                      sample                                             sample
                                         f(x)                                               f(x)

    4                                                   4




    2                                                   2




    0                                                   0
y




                                                    y
    -2                                                  -2




    -4                                                  -4




    -6                                                  -6
         -3   -2   -1    0    1   2             3            -3   -2    -1   0   1   2             3
                         x                                                   x




                   λ=0.05                                               λ=1.0
    6                                                   6
                                      sample                                             sample
                                         f(x)                                               f(x)

    4                                                   4




    2                                                   2




    0                                                   0
y




                                                    y




    -2                                                  -2




    -4                                                  -4




    -6                                                  -6
         -3   -2   -1    0    1   2             3            -3   -2    -1   0   1   2             3
                         x                                                   x
φ(i)
                            = φ(x )
                                 (i)
                                                (16)
                  Φ Φw = Φ y
                   T             T
                                                (17)
       リプレゼンター定理
           (Φ Φ + λI)w = Φ y
              T                             T
                                                (18)

二次正則化付き誤差最小化問題において,損失関数
が w T φ(i) の関数で表されるとき,その解 w は
                          ˆ
線形包 span{φ    , · · · , φ } に存在する.
            (1)
                  ,φ  (2)            (N )

                (1) 
                    y
  •             y (2) 
      カーネル法を理解するのに最も重要な定理
                        
            y= .               (19)
  •             . 
      ていうかこれが分かってればおk .
                              (N )
                             y
  •   証明は案外簡単
                                    2
                                 (i)
i


  ˆ
  w = argmin    {y   (i)
                              φ(x ≈)} 0 + w1 x
                           −w y   T (i) (i)
                                    w + λw         2       T
                                                               w(i)
  リプレゼンター定理:証明
    w
      i
                                     N
    ˆ
    w = argmin , w ) =w φ{y) + − w + w x(
           R(w0 1L(y ,      (i)
                           (i) λw w  T   (i)           T
           w                       0  1
                i
                                     i
       ˆ
       w = argmin R(w)
Φで張られる空間に存在する=                                             (14)
              w          (w0 , w1 ) = argmin R(w0 , w1
                          ˆ ˆ
全てのΦに直交する成分を持たない 0 ,w1 ) (w
     ˆ
     w = argmin R(w) + λw w
                         T
                            (15)
                 w
こう書けば,ξが0であ             ˆ
                       w=          αi φ + ξ
                                       (i)
     (w0 , w1 ) = argmin R(w0 , w1 )
      ˆ ˆ
ることはほぼ自明                                  (16)
                         (w0 ,w1 )             i

ξは第二項を増大させる一方で第一項に無影響
         T   (1)                 
     φ(1)    ˆ φ argmin ·{y φM w φ(x
             w =1     (1)
                     φ2   ··
                             (i) (1) T
                                −      (
(w0 , w1 ) = argmin R(w0 , w1 )
       ˆ ˆ                                   (
     リプレゼンター定理
         (w ,w )          0   1



             ˆ
             w=           αi φ    (i)
                                        +ξ   (
                      i

実は,特徴ベクトルΦの次元に関わらず,そ 2
   ˆ
  w = argmin   {y − w φ(x )}
                 (i) T   (i)
の自由度はサンプル数Nしかない
         w
             i

最適化問題を解く時,wについて解いてもい
ˆ
w = argmin
         (i) T  (i) 2
                 {y       − w φ(x )} + λw w  T
いし,αについて解いてもいい
    w
             i
(w0 , w(w) ,w1 )argminR(w00,,w11 )
               ˆ ˆ1 =
                ˆ ˆ
              (w0 , w1 )0 = argmin R(w w )                            (12)
                                                                     (12)
                                       (w0 ,w1 )
                                       (w0 ,w1 )
          ˆ
          w=                      αi φ(i) +(i) ,               (j) T (i)
                                                            (13)                                      (j) T
 ˆ
 α=    argmin                         L(y  ξ              αj φ      φ )+λ                       αj φ φ(xφ
              α           ˆ
                          w=
                          i
                                  カーネル関数
                                  i  j
                                       i
                                            α  φ(i) + ξ
                                            αiiφ(i) + ξ               (13)
                                                                     (13)
                                                                                           j
                                   (i) i
   ˆ
   w = argmin
              w
                              {y      − wT φ(x(i) )}2                                          (14)     y
                          i
          ˆ
          w = argmin
          ˆ
          w                                   (i)
                                                  − wT φ(x(i) )}2
                                           {y(i) − wT φ(x(i))}T
                                           {y             (i) 2
                  (i)
                  k(x ,iiT
                    w    x                  (j)
                                                ) = φ(xT ) φ(x             (j)
                                                                                 )             (15)
ˆ
w = argmin        {y(i)
                               − w φ(x )} + λw w(i) 2
      w
              i
   ˆˆ
   w = argmin
   w = argmin                     {y (i) − wT φ(x(i) )}22+ λwTT w
                                     (i)
                                         − wT φ(x(i) )} T λw w
                                                         + (i)
 ˆ     ˆ w
      w=  w
 w = argmin       argminwT φ(i) ) + λwT w φ ) + λw w
                    L(y (i) ,
                     i
                              L(y , w           (i)                                  T
          w                   w
                  i                         i

              ˆ
              w = argmin R(w)                               (14)
                                                    (j) T (i)
                                                        T (i)                (j) TT
 ˆ
 ˆ = argmin
 α = argmin
                      (i)
                                    ˆ           αjjφ (j) φ )+λ
                                                         φ )+λ                                φ(i)
 α
          α
          α
                              L(y (i),,
                              L(y w
                               w
                                            = argmin R(w)
                                                α φ                      αj φ (j)
                                                                          αj φ              (16)
                                                                                           ααi φ(i)
                                                                                            i
                      i                     j                       jj                ii
                      i    T w              j
       ˆ
       w = argmin R(w) + λw w                              (15)
                  w
 ˆ
 ˆ = argmin
 α
 α = argmin                   L(y (i) ,,
                              L(y (i)           αjjk(x(i) ,,x(j) ))+λαTT Kα
                                                α k(x x ))+λα Kα
                                                       (i)    (j)
                 ˆ
        ˆ0 ˆ iw = argmin R(w)(16) λw w
      (wα, w1 ) = argmin R(w0 , w1 )
        α
                i (w ,w ) jj               +                          T
                                                                                               (17)
                     0  1
                           w
        T  (i) (1)          (i) T      
     φ(1) k(x(i) , φ1 ) = φ(x · ·)· φ(x (j) )
                                       (1) )  (14)
                    (j)    (1) (i) T    (j)
           k(x , x(j) ) = φ(x ) φ(x
                   x      φ2         φM        (14)
(w0 ,w1 ) 0            1                                 0         1               j
w0 , w1 ) = argmin R(w0w0 , w1) = argmin R(w0 , w1 )
ˆ ˆ                   ( ,ˆw1 )
                            ˆ      i   (12) j                   αi
                                                                                                                          (12)
                     ˆ
                    (w0= 1 ) αi φ
                     w ,w                      (i)
                                                     + (ξˆ0 , w1 ) = argmin 1 ) 0 , w1 )
                                                        w ˆ             (13)
                                                                       (w0 ,w R(w                                  (12)

      カーネル関数による書き換え, x
          ˆ
          α = argmin
                  ˆ
                 α =
                 w
                      L(y ,
                     α φ +ξ
                                i
                            αj k(x
                                 (13)
                                                                            (w0 ,w1 )
                                                                                             (i)
                                                                                                (i)                        (i)       (j)
                                                                                                                                           ))
       ˆ
       w = argmin                   {y   (i)
                                               − w φ(x )}
                                                      T         ˆ
                                                                w=2
                                                                (i)              i
                                                                                     i(i)
                                                                                i αi φ   (13)
                                                                                         +ξ                  j     (13)         二次正則化
                    w
                            i                                               i                                                   が w T φ(i)
                               ˆ                   {y ≈                 2    線形包
                              w = argmin y (i)(i) −TwT φ(x(i) )}(i) , x(j) ) spa
                            (i)ˆ = argmin {y(i) − w φ(xαj)}2    (i) k(x
   ˆ = argmin w{y φ(x T φ(x(i) )}2 + λwT w (14)
                       −w )
       (i)       T (i)                                                           二次
   w y ≈                       w        w
                                        w
                                             i
                                                i
                                                            j
                                                                                 がw
          w
               i
                       ˆw =argmin {y (i) −− wT φ(x(i) )}λwTλwT w
                           =
                       w ˆ argmin          {y w φ(x )} + + w
                                               (i)                  2
                                                        (15)                     線形
                                                      T    (i) 2
     ˆ
     w = argmin     L(y (i) , wT φ(i) ) +iλwT w
                                 w                                     (i) T
                w
                        i
                                  w
                                         i        (i)   (j)
                                                                 k(x , x       (j)
                                                                                                   ) = φ(x ) φ(x                       )

                     ˆ
                     w = argmin R(w)
                                   ˆ
                                   w
                                ˆ w argmin
                                  =
                                  ˆ
                                α w = argmin               ={y
                                                            {y
                                                                     (14)
                                                                 argmin
                                                                      (i)
                                                                     (i)
                                                                       −−
                                                                                      (16)(j)x(j) )}2TKαT Kα λw
                                                                                        (i) (i) (i) , w T φ(i) ) +
                                                                                     k(x L(y
                                                                                   αiα k(x x , )}2 +λα+λα
                                                                                           ,
                                                                                         i
                                                 αw                    wj j
                                                           ii
                                                                                            i
               ˆ
               w = argmin R(w) + λw w(1)
                             
                                                           T
                                                                                 (15)      (17) · · (j) k(x(1), x(N )) 
                                 k(x(i) , x(j)x(1) )exp(−β x(2)argmin ) (2) (14)        , x(2) )
                                  (1)                                              (1)
                                       k(x , ) =      k(x                                   (i)     · 2
                                                           ˆ
                                                          w = −x
                        w
                                                                         R(w)
                                      k(x(2) , x ) k(x(2) , x ) · · · k(x , x(N ) )
                                                                                    
                ˆ ˆ           K=
               (w0 , w1 ) = argmin R(w0 , .w1 )         (16).     w        .
                                  φ(x) = {a
                                            . exp(−b(x − z)2 )|z .∈. R}
                                             .              .
                                                            .      .       . (15) 
                                                                           .         
                            (w0 ,w1 )
                                                 k(x(N ) , x(1) ) k(x(N ) , x(2) ) · · ·                                        )
                                                                                                                 k(x(N ) , x(N )T
                T                                                ˆ = argmin R(w) +2λw w
                                                                    w(1) 
           (1)
           φ                    exp(−βφx(i) −x ·
                                φ1
                                  (1)  (1)
                                       2     ··
                                                                (j) 2
                                                                        )=
                                                                       φM
                                                                                 (i)
                                                                                         a exp(−b(x −z) )a T
                                                                                           wT              exp(−b(x
                                                                      (i)                    (j)       (i)                (j)              (i
i                  j                                   j


ˆ
α = argmin                 (i)
                       L(y ,                       (i)
                                          αj k(x , x         (j)
                                                                   ))+λα Kα  T
       α     カーネル回帰
             i  j


             y   (i)
                       ≈                   (i)
                                   αj k(x , x      (j)
                                                         )                  (14)
                               j

                                           (i) T
•      k(x , x ) = φ(x ) φ(x )
             (i)        (j)
    もはや学習も回帰も全てαとカーネル関数kで      (15)                      (j)

    行われる
     ˆ
    w = argmin
             L(y , w φ ) + λw w     (i)     T    (i)                T


•
        w
    パラメータ数=サンプル数
           i

          ˆ
          w = argmin R(w)                                                   (16)
•   Φの次元数をいくら増やしても動く
                 w

           ˆ
           w = argmin R(w) + λwT w                                          (17)
                           w
(j) T                                (j) T
ˆ
α = argmin          L(y ,(i)
                                     αj φ          φ )+λ
                                                    (i)
                                                                          αj φ
       α   カーネルトリック
            i  j                                                     j
                                                                         (14)
                                      (i) T
              (i)
           k(x , x   (j)
                           ) = φ(x ) φ(x               (j)
                                                             )           (15)


  •w特徴ベクトルΦを用いてカーネル関数kを定義
   ˆ = argmin
          w
              L(y , w φ ) + λw w
                               (i)     T     (i)                 T

                     i
      したが,もはやΦは出てこない

  •        ˆ
           w = argmin R(w)
      特徴ベクトルΦとはなんだったのか?
                               w
                                                                         (16)

  •   特徴ベクトルΦなんてなかった.
            ˆ
            w = argmin R(w) + λw w                 T
                                                                         (17)
  •   カーネル関数の値だけ定義すればいい
            w
i


無限次元のカーネルトリック
     ˆ
     w = argmin             {y − (i)
                                                αi k(x , x   (i)    (j)
                                                                          )} +λα Kα
                                                                              2         T
              w (シュタゲのサブタイトルっぽい)
                   i     j

              (i)
          k(x , x     (j)
                            ) = exp(−β x               (i)
                                                             −x    (j)
                                                                          )            (14)
                                                                                                           
         k(xガウスカーネル (2) )
            (1)
                , x(1) ) k(x(1) , x                                  ···          k(x(1) , x(N ) )
        k(x(2) , x(1) ) k(x(2) , x(2) )                             ···                    (N ) 
                                                                                  k(x , x ) 
                                                                                     (2)

•      
    最もよく使われるカーネル .
     K=
       
               .
               .
               .               .
                               .
                                                                     ..
                                                                        .
                                                                                         .
                                                                                         .
                                                                                         .
                                                                                                   
                                                                                                   
•       k(x , x ) k(x , x ) · · · k(x ,
                    (N )
    実は無限次元の特徴ベクトルΦを用いていること x
                                (1)             (N )         (2)                        (N )     (N )
                                                                                                        )
    と等価                                                 (j) T                                  (j) T
     ˆ
     α = argmin             L(y ,     (i)
                                                αj φ               φ )+λ
                                                                    (i)
                                                                                        αj φ
•
              α
    Φが無限次元だろうがなんだろうがパラメータ数
                       i                    j                                      j                    i


    =サンプル数だから高々有限(正しい使い方) Kα
     ˆ
     α = argmin    (i)
                L(y ,  αj k(x , x ))+λα
                             (i) (j)   T
              α
                       i                    j
w                                 i
                            i        w
                                                   i
                                                                         が w T φ(i) の関数で
  ˆ
  w = argmin          {y (i) − wT φ(x(i) )}2 + λwT w
                                                                         線形包 span{φ(1) , φ
              w
                  i
                      ガウスカーネルk(x
                      ˆ
                        ˆ
                       w = argmin
                      w = argmin
                                   {y −
                                  {y −
                                    w
                                        α
                                        α k(x
                                                         (i)
                                                        (i)          i
                                                                     i
                                                                             (i)
                                                                                      )} +λα T
                                                                                   (j) 2
                                                                             (i), x (j) 2
                                                                               ,x   )} +λα
                                                                                            T

                                   w           i               j
                                           i                   j T
ˆ
w = argmin        {y −(i)
                                  αi k(x , x(j) )}2 +λα Kα
                                         (i)
                                                                                            y
カーネル関数
    i
          w                     k(x(i) , x(j) )
                                j (i)             = exp(−β             (i)
                                                                     x(i)    − x(j) )
                                                                                (j)
                                                                                         (14
                           k(x , x       (j)
                                               ) = exp(−β x                  )
                                                                             −x     2
                                                                                          (14
                               (i) (1) (j) 2
   k(x , x ) = exp(−β k(x − , x(1) )) k(x(1) , x(2) ) · · · k(x(1
       (i)     (j)
                                 x          x         (14) 2
特徴ベクトル                       φ(x) =(2) exp(−b(x − z) (2) ∈ R}
                               k(x {ax(1) ) k(x(2) , x)|z) · · · k(x(2           (15
                                           ,
     φ(x) = {a exp(−b(x − z) )|z ∈ R}
                        K=
                                     2
                                                      (15)
                                           .                  .         ..      φ(x  (
                               (i) . (j) 2.                  .
                                                              .            . −z)2 )a
                     exp(−β x −x (i) ) =2 a exp(−b(x 2                   (i)
exp(−β x −x(i)     (j) 2
                         ) = a exp(−b(x ) k(x(N ) , x(2) ) · · · k(x(N
                                      (N )
                                k(x , x       (1) −z) )a exp(−b(x(j) −z) )dz

                                                                                 (16
                                                                                  y (i
                                                                     
                               (1) (1) , x(1) ) (i) k(x(1) , x(2) ) (i) · ·          (
       k(x , x )ˆ = argmin ) L(y ,k(x α, x (j)) φ ·)+λ k(x
             (1)    (1)
                            k(xk(xx    (2)
                        α  (2) , (2) (1)· ·  ·          (1)    (N ) T


K=
     •
     k(x , x ) k(xk(xx ,) · ·) k(x , x ) ) · · ·
         関数=連続な特徴ベクトル,とみなせる.
             (2)    (1)

                . K = .
                               α,
                                       (2) x
                                           i
                                                  · k(xj
                                                          (2) φ (2) 
                                                              j (N )
                                                         (2) , x
                                                                              k(x
                                                                               j
                                                                                   α(
                                                                                    x j

                .                        .     ..            ..        .
               .            . . .               .          ..
                                                             ..          ..
      •  内積は和ではなく積分
                        ˆ
                                         .
      k(x(N ) , x(1)α = argmin(2) )xL(y (i) k(x(N ) ,)xx(2) ) x(j) ))+λαT K
                        ) k(xk(x(N ) , (1) ) ,
                               (N )
                                    ,x        · · · k(x(Nj k(x) ) , · · · k(x(
                                                           α ,  (N (i)
                                α
                                           i                   j
argmin              {y     − w φ(x )} + λw w
    w
                i



ˆ
w = argmin
gmin     (i)        いいから実際に解いてみる
                L(y ,
                w     α φ φ )+λ
                               i
                                α φ αφ
                                       {y (i)(j) T
                                          j
                                             −
                                                      j
                                                               αi k(x(i) , x(j) )}2 +λαT Kα
                                                              (i)            (j) T     (i)
                                                                                          j                        i
α
            i                      j                                       j                             i                                                          φ(
gmin k(xL(y x, )                        = k(x , x x − x
                                        αj exp(−β ))+λα Kα )                                                       (14)
        (i) (i) (j)                                                  (i)                 T (j)
           ,                                        (i)        (j)
α
            i                      j
                                                                              6                                                                                    y
                       ) k(x , x ) · · ·
         k(x , x (i) (j) (1)           (1)                     (1)     (2)
                                                                                                             k(x , x ) (1)        (N )                 sample




    y (i) ≈ (2)αj k(x , x ) (2) (2)
      k(x , x(1) ) k(x , x (14) · · ·    )                                                                  k(x(2) , x(N ) ) 
                                                                               4



                                                                                                                             
K=           j
                 .                   .       ..
                                                                               2
                                                                                                                   .          
                .
                 .                   .
                                     .          .                                                                  .
                                                                                                                   .          
                           T                                                   0

 k(x(i) , x(j)(N ) φ(x(i) ) φ(x(j) ) ) (2)
              ) = (1)                   (15)                           y
         k(x , x ) k(x , x ) · · ·
                                (N
                                                                               -2
                                                                                                             k(x(N ) , x(N ) )
= argmin                 L(y (i) , wT φ(i) ) + λwT w                           -4

                                                                      (j) T                                                      (j) T
ˆ
α = argmin
        w
        i                              L(y ,  (i)
                                                               αj φ            -6
                                                                                         φ )+λ(i)
                                                                                                                       αj φ                      αi φ(i)
                α                                                                   -3              -2        -1             0           1         2            3


                w = argmin R(w) j
                ˆ     i                                                        (16)                           j                              i
                                                                                                                             x



                               w

ˆ w = argmin L(y (i) ,
α =ˆargmin R(w) + λwT wαj k(x(17)x(j) ))+λαT Kα
                             (i)
                                 ,
                α w
                           i                              j
カーネル回帰の結果
                         λ=0                                       λ=0.0000001
    6                                                    6
                                       sample                                            sample
                                          f(x)                                              f(x)

    4                                                    4




    2                                                    2




    0                                                    0
y




                                                     y
    -2                                                   -2




    -4                                                   -4




    -6                                                   -6
         -3   -2    -1    0    1   2             3            -3   -2   -1   0   1   2             3
                          x                                                  x




                   λ=0.0001                                             λ=1.0
     6                                                   6
                                       sample                                            sample
                                          f(x)                                              f(x)

     4                                                   4




     2                                                   2




     0                                                   0
y




                                                     y




    -2                                                   -2




    -4                                                   -4




    -6                                                   -6
         -3   -2    -1    0    1   2             3            -3   -2   -1   0   1   2             3
                          x                                                  x
ˆ
                    w=
                    ˆ
                    w=              αi φ(i) +
                                    αi φ(i) + ξξ                (13)
                                                              (13)       二次正則化
                               ii                                        が w T φ(i)
演習:カーネル回帰の解
  ˆ = argmin {y − w φ(x )}
  w = argmin
  ˆ           {y − w φ(x )}
                                    (i)
                                     (i)
                                            T
                                             T
                                                    (i) 2
                                                      (i) 2
                                                                        線形包 spa
  w                w
                              i
                                                                       二次正則化付
                   w
                               i
                                                                       が w T φ(i) の
  ˆ
 w = argmin {y (i) − wTT (i) )}2 2 λwT w
                       φ(x (i) +
 ˆ argmin i {y (i) − w φ(x )} + λw
 w = 以下で表される解を求めよ T w
        w                                                              線形包 span{
          w
                    i


ˆ
α = argmin          {y −(i)
                               αi k(x , x )} +λα Kα
                                            (i)    (j)   2     T
       α
ˆ
w = argmin     i    {y (i) − j αi k(x(i) , x(j) )}2 +λαT Kα
        w
                i                   j
   k(x , x ) = exp(−β x(i) − x(j) 2 )
        (i)   (j)
                                                (14)
                                                                  
     φ(x) = {a exp(−b(x − z), x ∈ R} · · k(x , x )
       k(x , x ) k(x             )|z ) ·
          (1)    (1)       (1) 2 (2)                (1)    (N )
                                                (15)
     k(x(2) , x(1) ) k(x(2) , x(2) ) · · · k(x(2) , x(N ) ) 
                                                                  
K =  (i) . (j) 2              .                        .
                                          .−z)2 )a exp(−b(x(j) 2 )d
exp(−β x −x
            .
             .                 .
                      ) = a exp(−b(x .
                               .
                                        (i) .           .
                                                        .          
                                                                   −z)

    
      k(x(N ) , x(1) ) k(x(N ) , x(2) ) · · · k(x(N ) , x(N   )
                                                                 )
       k(x(1) , x(1) ) k(x(1) , x(2) ) · · · k(x(1) , x(N ) )
         (2)    (1)      (2)    (2) T            (2)    (N ) T
φ(x ) =  x(i) 
                         (i)
                                           (25
                              1
b(x (j)
           演習:カーネル回帰の解
          −z) )dz
               2


     これもαに関する凸関数なのでy   (i)
                              ≈ w φ(x )
                                 T   (i)
                                           (26
)
  )
 )  微分して0でおk → φ(x(i) )
              (i)
                                           (27
  )        x
     
          (K + λI)α = y                   (28
N)
   )
                                           (29
T          (i)
        αi φ
    i
                                           (30
多項式カーネル
                               (i) T
         (i)
      k(x , x   (j)
                      ) = (x           (j)
                                       x     + c)
                                                p
                                                    (29)

                                                    (30)

                                                    (31)
•   離散特徴で非常によく使われる
                        (32)
•   連続特徴でも使えて,多項式特徴ベクトルを
    使っていることに相当                                      (33)

                                                    (34)
多項式カーネル
例えばxが2次元で,p=2の二次多項式カーネル
             T
          k(x(i) , x(j) ) = (x(i) x(j) + c)p              (29)
を使ったとき
 k(x, y) = (x1 y1 + x2 y2 + c)     2

         =   x1 y1 + x2 y2 + c + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1
              2 2        2 2       2

         =   (x1 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)
               2    2                         2 2                          T


                (30)
2次以下の全ての多項式の項を連結した特徴ベク
トルを用いていることになる                                             (31)

                                                          (32)
さらに,計算量は大幅に小さい.
                                                          (33)
(i) T
       (i)
 k(x , x      (j)
                    ) = (x           x(j) + c)p      (29)


= (x1 y1
                   多項式カーネルでXOR
             + x y + c)
                2 2
                              2

= x2 y1 +
   1
      2
              x2 y2 + c2
               2
                  2
                              + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1
=     2    2                         2 2    知的
    (x1 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)T



         x=
                      isTundere              yes     (30)
                    isIntellectual

                                                     (31)

                                                     (32)
                                              no
                                                   no
                                                    (33)              yes   ツンデレ
                                        (34)
                                  足し算では測れない魅力
                                   識別平面が存在しない
(i) T
              (i)
        k(x , x     (j)
                          ) = (x           x(j) + c)p        (29)


                      知的ツンデレこそ至高
(x, y) = (x1 y1 + x2 y2 + c)2
      = x2 y1 + x2 y2 + c2 + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1
            2       2
         1       2
      = (x2 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)T
          1    2
                                         2 2


                            isTundere             知的
               x=                                            (30)
                          isIntellectual
          
                isTundere
                                                     yes
     x=      isIntellectual                                (31)
         isTundere · isIntellectual

                                                             (32)

                                                             (33)
                                                        no
                                                             no
                                                             (34)         yes   ツンデレ
                                                             (35)

      知的 and ツンデレ
カーネル法まとめ

•   リプレゼンター定理により,二次正則化付き誤差
    最小化の解wは特徴ベクトルの線形和で表される

•   てことはそもそもその線形和の重みαを学習すれば
    よくね?

•   特徴ベクトル無限次元にしても高々推定するパラ
    メータは線形和の重みαだけだから大丈夫じゃね?

•   特徴ベクトルは後付けでおk
第二部
    サポートベクターマシン

•   識別問題

•   回帰問題への帰着

•   損失関数

•   サポートベクターマシン

•   サポートベクター
だいぶ疲れたよね

•   僕も疲れました

•   ほんとはSVMも実装してドヤ顔したかったけ
    ど一晩ではカーネル回帰とこのスライドが限
    界だった

•   別にそんなに難しくないです

•   でも奥は深いです(予防線
識別問題

                   x2
•   要は⃝とXを識別する問題

•   多クラス識別もあるけど今
    回は二クラス識別だけ

•   識別超平面(ちょうどクラ
    スの境目になるところ)を
    求めるタスクとも言える
                        x1
回帰問題としての定式化
                                                y    (i)
                                                           ≈w x   T   (i)
                                                                                             (30
         •   識別問題は回帰問題の一種として定式化でき
               ˆ
             る w = argmin                            {y    (i)
                                                                 − w x } + λw w
                                                                      T     (i) 2        T
                                  w
                                                i
         •   ⃝を+1, Xを-1として目的変数とする
                                                                  (i) T
                                      (i)       (j)
                                                      ) = (x                (j)
                                                                                  + c)
                                                                                     p
                                                                                             (31
         •       k(x , x
             あとは単純に回帰                                                     x

         y   (i)
                   ≈w x   T   (i)
                                             y      (i)
                                                           ∈ {−1, +1}
                                                              (30)                           (32
                              y   (i)
                                        ≈w x T       (i)
                                                                            (30)
argmin       {y    (i)
                         − w x (i) + T (i) w
                              T
                                 }  (i) 2
                                     λw 2                   T
         ˆ
         w = argmin               {y        − w x } + λwT w
  w
         ik(x, y)
               w          = i(x1 y1 + x2 y2 + c)       2

                          = T 1 y1
                            x 2 2
                                            +    2 2
                                                x2 y2       + c + 2x1 x2 y1 y2 + 2cx2 y
                                                                  2
回帰問題としての二値識別

x2            x2




              x1         x1
     カーネルを使えば平面でない面での識別もできる
回帰問題としての二値識別
         1         -1 0 1
     0
x2            x2
-1




              x1            x1
     カーネルを使えば平面でない面での識別もできる
識別平面付近以外の影響

x2        x2




          x1       x1
識別平面付近以外の影響
         1                  1
     0                  0
x2            x2
-1                 -1




              x1                x1
= x2 y1 + x2 y2 + c2 + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1
   1
      2
           2
              2

= (x2 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)T
    1    2
                                   2 2



        x=
                   isTundere
                 isIntellectual
                                     損失関数
                                       (33)

                                       
 二乗誤差だと,「十分識別されている」サンプルに
    isTundere
x=    isIntellectual        (34)
 対しても大きなペナルティがかかってしまう
  isTundere · isIntellectual


    rsq (f (x), y) = (y − f (x))2
                     = (1 − yf (x))2

                                                   (35)

                                                   (36)

                                                   (37)
                          
           isTundere
x=      isIntellectual                 (34)
        サポートベクターマシン
    isTundere · isIntellectual


二乗誤差の代わりにヒンジ関数を損失として用いる
  rsq (f (x), y) = (y − f (x)) 2

                 = (1 − yf (x))    2
のがサポートベクターマシン
rhinge (f (x), y) = max{0, 1 − yf (x)}

                                         (35)

                                         (36)

                                         (37)
ヒンジ関数の効果

x2      x2




        x1      x1
ヒンジ関数の効果
         1               1
     0               0
x2              x2
-1              -1




                    x1         x1
f(x)<-1, 1<f(x)のサンプルはあってもなくても同じ
以上.




•   という感じなんだけど一応もうちょい書く
i


    ˆ
    w = argmin y) {y(y − f w φ(x )}
         rsq (f (x), = − (x))           (i)          T2           (i)    2
                                                                                                               y(
                    w
                                      サポートベクター
                              i = (1 − yf (x))2
                                                                                                                x
=     rhinge (f (x), y) =− w T φ(x(i) )}2 + λw T w
    argmin        {y  (i) max{0, 1 − yf (x)}
        要はあってもなくても同じじゃないサンプル
        w
          i
                f (x) =                αi k(x, x(i) )                   (35)
        実際にカーネル法で計算してみると
            i


                        non-zero         (x φ (i)   (j) T ) (i)                           (j) T
argmin i = L(y ,
      α
                          (i)
                                          αj       φ∈ SV           )+λ
                                                                     (36)           αj φ                 (i)
                                                                                                      αi φ
    α
                i       0              j (otherwise)                           j                  i

        となっており                                                    (j) (37)
argmin      (i)
          L(y ,   αj k(x , x                           (i)
                                                                        ))+λα Kα    T
   α                                                                    (38)
     (SV=サポートベクター)
        i       j


            y   (i)
                        ≈                     (i)
                                      αj k(x , x        (j)
                                                              )                    (14)
                              j
                                                                        SVだけ足せばOK
            (i)         (j)                   (i) T           (j)
                              
           isTundere
               isTundere
x =  x =isIntellectual
             isIntellectual
                                               (33)
                                             (34)
     isTundere · isIntellectual
                    最適解の求め方
                   isTundere
                             

x =  (f (x), y) = (y − f (x))2 
    rsq    isIntellectual         (34)
    • isTundere= isIntellectual
        詳細は省くけどポイントはヒンジ関数
                 · (1 − yf (x))2

    • (f (x), y) = (y − f (x))
rhinge
    r
      (f通常,場合分けが必要な関数の最適化は難しい
     sq
        (x), y) = max{0, 1 − yf (x)}
                                        2

         f (x) =    αi k(x, x(i) )
                    = (1 − yf (x))2          (35)
制約条件付き最適化問題として解く
       i

rhinge (f (x), y) = max{0, 1 − yf (x)}
            non-zero (x ∈ SV )
                       (i)
   αi =                                      (36)
            0        (otherwise)                (35)
     ξi ≥ 0, ξi ≥ 1 − y (i) f (x(i) )        (37)
                                                (36)
   ˆ ˆ
   ξ, α = argmin         ξi + λαT Kα          (38)
                                            Lagrange multiplierで解ける
             ξ,α
                                                 (37)
                     i
サポートベクターマシンまとめ
 • 二値識別問題は+1と-1への回帰問題として考
     えることができる

 •   二乗誤差ではどうでもいいところに引っ張ら
     れて識別平面がうまくできない

 •   そこでヒンジ関数を損失関数として採用した
     のがサポートベクターマシン

 •   サポートベクター以外のカーネル関数重みαが
     0になるので計算量も小さくて済む
今さら聞けないカーネル法とサポートベクターマシン

More Related Content

今さら聞けないカーネル法とサポートベクターマシン

  • 2. 自己紹介 @kakenman 趣味 最近の動向 組み込みプログラミング 成り行き上某M社という外資 Python のコンサルに就職することに サーバ管理 なったので,せっかくだから VM遊び(特にKVM) これまでの知識を何かに役立 金属溶接 てたい気分 金属加工 電子工作 ←他のも要望あればやります 今回はこれ 機械学習 よ!TIG溶接は任せろ! 自然言語処理 未来ガジェット製作 牧瀬紅莉栖
  • 3. カーネル法とSVM • ガチ勢的には使い古された手法 • 一方で名前だけ知ってるって人も多い • 「あ,あーSVMねー(よく分かってないけど)」 • 「あ,あーカーネルトリックねー(全然分からな いけど)」 • 今日はそんな感じの方向け
  • 4. 本日のはなし • 第一部:カーネル法 • 第二部:サポートベクターマシン 準備期間の関係で第一部で力尽きた感あり・・・ 導出の手順は色々ありますが 今回はこちらの本を参考に→ カーネル多変量解析 非線形データ解析の新しい展開 著者:赤穂昭太郎 良書なのでどんどん買いましょう
  • 5. 第一部 カーネル法 • 線形回帰 • カーネル回帰 • 特徴ベクトルの射影 • カーネルトリック • 正則化 • ガウスカーネル • リプレゼンター定理 • 多項式カーネル
  • 6. 第二部 サポートベクターマシン • 識別問題 • 回帰問題への帰着 • 損失関数 • サポートベクターマシン • サポートベクター
  • 7. 線形回帰 6 sample • 例えば右図のようなサンプル(x,y) 4 の集合が与えられたとき,未知の 2 xに対してyを予測したい 0 y • y=f(x)となるfを推定する -2 • -4 最も簡単なのはいわゆる一次近似 -6 -3 -2 -1 0 1 2 3 x y (i) ≈ w0 + w1 x(i) (9) N , w1 ) = {y (i) − w0 + w1 x (i) 2 } (10) i
  • 8. (1) (1)  BD(Pstate , Pstate )  (1)  (2) 一次の線形回帰の解 (8)   BD(Pstate , Pstate ) .    .   .  (i) (1) (N ) (i) 近似式: y state0 Pstate ) w0 + w1 x BD(P ≈ w , + y 1 x (i) w ≈ (i) (9) (9) N N 二乗誤差: yi ≈{y (i)+= 1 x{y(i) −x(i)0 +2w1 x(i) }2 R(w , w ) = R(w0 , w1 ) w w i+ w w } w0 − (9) (10) (10) 0 1 0 1 i i R(w0 , w1 ) = {yi −ˆ(wˆ1 ) =w1 xi )}R(w0 , w1 ) (w0 , w + argmin (10) 2 (11) ti−1 ) 二乗誤差を最小にするwを求める 0 (w0 , wi1 ) = argmin R(w0 , ,w 1)) ˆ ˆ (w w 0 1 (11) (w0 ,w1 ) (12) (w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ (11) (12) (w0 ,w1 ) (12)
  • 9. ∂R =0 ∂wk 一次の線形回帰の解:解法 wk =wk ˆ N ∂R = −2{y (i) − w0 + w1 x(i) } Rはw0,w1に対して凸関数なので微分 ∂w0 i = してゼロでおk N i (i) 2 x(i) y (i) x x(i) w1 i i = i i x(i) 1 w0 i y (i)
  • 10. 一次の線形回帰:結果 6 sample f(x) 4 2 0 y -2 -4 -6 -3 -2 -1 0 1 2 3 x
  • 11. 二次の線形回帰 6 sample f(x) 4 • 2 xに対しては非線形だがwに対して線 形なのでこれも線形回帰 0 y -2 • この形の線形回帰は常に二乗誤差が -4 wの凸関数なので簡単に解ける -6 -3 -2 -1 0 1 2 3 x 2 y (i) ≈ w0 + w1 x(i) + w2 x(i) ( y (i) ≈ w0 + w1 x(i) (1 N R(w0 , w1 ) = {y (i) − w0 + w1 x(i) }2 (1
  • 12. (w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ (w0 , w1 ) (i) ≈argmin(i) ˆ ˆ y = (w0+ w1 x R(w0 , w(10) w0 ,w1 ) 1) 特徴ベクトルの射影 N (w0 ,w1 ) R(w0 , w1 ) = {y (i) − 0 + w1 x w (i) } 2 (11) i (i) 2 (i) x (i) ) T (i) ≈ w  線形回帰の一般式: (w0 ,yˆ1 ) = argmin R(w(i) 1 ) ˆ w ) = φ(x , w (12) φ(x (w ,w ) x 0 0 1  (i) 21  x 2次1変数の場合: φ(x(i) ) =  x(i)  (13) y ≈ w φ(x ) (i) T 1 (i) y (i) ≈ wT φ(x(i) ) (14) 特徴ベクトルの射影 x (i) → φ(x ) (i) (15) (16)
  • 13. w N (w0 , w1 ) = T ˆ ˆ argmin R(w0 , w1 ) (12) ˆ= w T argmin R(w) + λw (w0 ,w1 ) (15) w ˆ w = argmin R(w0 , w1 ) = R(w) + λw w w (15) {y − w0 + w1 x (i) (i) }2 (11) 演習:線形回帰の最適解 w (w0 , w1 )iˆ argmin R(w , w1 ) ˆ ˆ = w = argmin 0 {y (i) − wT(16) (i) )}2 φ(x (13) w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ (16)w (w0 ,w1 ) i (w0 ,w1 )  (w0w1=(1) ˆ , ˆ ) argmin R(w0 , w1 T ) (12) T  以下で表される解を求めよ φ(1) ˆ (1) (w φ2 ) · · · w (1) φ1  0 ,w1= argminφM R(w) (14) ) (1) (1) T   (1) (2) · (2) (2) w (2)  φ1 φφ 2 · ·  φ1 φM φ2 · · · φM  )T   (2)Φ = (2) .  =  (2)   . ··  . ˆ(i) . . . . . 2T    φ1 ˆ φ2 argmin  M. w = − w T.φ(x(i) )} w (13) w= .  · φ {y argmin R(w) .+ λw . . .  (15)   = . . (N )w . T.  (N w . (N φ ) · · · φ(N )   . . . )  . . φ . iφ1  2 . M N )T (N ) (N ) (N ) w0 , w1 ) = argmin R(w0 , w1 ) (ˆ ˆ (16) φ1 φ2 · · · (i) M φ φ = φ(x(i) ) (w0 ,w1 ) (17)  (1)  ˆ = argmin  (1) w   T  R(w) (1)  (14) (1) (1)(1) y φ yw φ1 φ2 · · · φM  y (2)    (2)  (2) (2) T  φ (2) (2)    φ y   1 φ2 · · · φM  ˆ Φ =  .  =  = y =  .  w = argmin .R(w) + .λw T w y  (17)   .(18) . (15) .   .  . . .   .  . .  . . . . . .  . w (N ) y (N ) (N ) T y φ1 (N ) (N ) φ2 (N ) · · · φM φ  ( 0 , w1 ) =  (i) 2  0 , w1 2  w ˆ ˆ argmin R(w ) (16) (i) 2 (wx ,w ) x(i)
  • 14. .   . . . . (N ) T (N ) (N ) (N ) φ φ1 φ2 ··· φM 演習:線形回帰の最適解 (i) φ = φ(x ) (i) ( Φ Φw = Φ y T T (  (1)  y 実用上は丸め誤差などを小さくするため逆行列  y (2)    を明示的に求めずに解く(ハマりました) y= .  (  .  . (N ) y
  • 15. 3次元こそ至高(公式見解) 1 2 6 6 sample sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x 3 6 4 sample f(x) 高次元に射影すると表現 力が向上してハッピー 2 0 y -2 …ともーじゃん? -4 -6 -3 -2 -1 0 1 2 3 x
  • 16. なんかヤバイ 5 8 6 6 sample sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x 6 11 sample 6 14 sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x
  • 17. Overfitting(過学習) 6 sample f(x) 4 • 一般に学習データに対して推定する 2 パラメータが多すぎる時に起こる 0 y • -2 右の例は15サンプルで15パラメータ -4 • 全データ誤差0でフィッティングす -6 -3 -2 -1 0 1 2 3 るけど・・・・ x • こういうのを汎化性能が低いと言う
  • 18. y (i) ≈ w0 + w1 x (i) (10) y ≈ w0 + w1 x (i) (i) (10) 正則化 } N R(w0 , w1 ) = {yN(i) − 0 1 w +w x (i) 2 (11) R(w0 , w1 )i = {y − w0 + w1 x (i) (i) } (11) 2 Overfitしないようにパラメータに制約を加える i (w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ (12) (w0 , w1(w= argmin R(w0 , w1 ) ˆ ˆ ) 0 ,w1 ) (12) (w0 ,w1 ) ˆ w = argmin {y (i) − wT φ(x(i) )}2 ˆ w= w argmin i {y − w φ(x )} (i) T (i) 2 w i ˆ w = argmin {y (i) − w φ(x )} + λw w T (i) 2 T ˆ w w = argmin i (i) {y T − w φ(x )} + λw w (i) 2 T w i ˆ w = argmin R(w) (13) ˆ w w = argmin R(w) (13) w ˆ w = argmin R(w) + λw w (14) T ˆ w= w argmin R(w) + λw T w (14)
  • 19. w R(w0 , w1 ) = {y (w0 ,w0 )+ w1 x R(w0(11) (i) −ˆ w1 = T ˆ argmin } , w1 ) (i) 2 (12) ˆ= i w T argmin R(w) + λw (w0 ,w1 ) (15) w ˆ w = argmin R(w) + λw w w 演習 (15) w (ˆˆ, w ) ˆ argmin R(w w w w = argmin 0 {y,(i) 1 ) wT(16) (i) )}2 (w00 ,wˆ1) = argmin R(w ,0 1 ) − w ˆ1 φ(x(12) (13) ˆ ˆ 2次正則化付き線形回帰の最適解 w0 , w1 ) = argmin R(w0 , w1 ) i (w(16) 0 w (w0 ,w11 ) ,w ) (w0 ,w1 )  T  (1) (1) T (1)  (1) T  ˆ (1) T  w = argmin φ  (2) w {y − w φ(x )} φ1   (1) (i) φˆ = argminφM w2 ··· (i) R(w) 2 (14) (1) (2)  ) φ1 以下で表される解を求めよ φ φ ·· 2 · φM  φ1 i (2) (2) φ2 w · · · φM  T  (2) = (2) .  =  (2)  . Φ  · φ .    )   φ1 φ2 . ·  M. ˆ  . · . w = argmin.R(w) . λwT w . . .  + . (i) . 2 .  (15) = . (i)  T . (N ) T. . {y φ− φ(N w · )} +(N ) T w . (N )w φ(x · · φ λw ˆ   w = argmin   . . .1  2 ) . . φ w . . M (N ) w0 , w1 ) (ˆ ˆ = argmin R(w0 , w1 ) (16) i N )T (N ) φ1 (N ) φ2 ··· φ φ = φ(x(i) ) (i) M (w0 ,w1 ) (17)  (1)  ˆ argmin  w =  (1)  (1) (1) T R(w) (1) (13) (1)  y φwy φ1 φ2 · · · φM  y (2)    (2)  (2) (2) T   φ (2) (2)    φ y   1 φ2 · · · φM  y =  .  w = Φ =  . .  + λwT w y  R(w) =  . = (17)  ˆ argmin . .   (18) . . (14) .    . . w  . .   . . . . . . .  . y (N ) φ y (N ) (N ) T (N ) φ1 (N ) φ2 (N ) · · · φM (w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ  (15) 2   2 (w0 ,wx) 1 (i) 2 (i) x(i)
  • 20. φ (i) 演習 (i) ) = φ(x 2次正則化付き線形回帰の最適解 Φ Φw = Φ y T T (Φ Φ + λI)w = Φ y T T  (1)  y λを大きくしてゆくとwは0に近づく  y (2)    y= .   .  .
  • 21. 正則化の効果 λ=0 λ=0.0001 6 6 sample sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x λ=0.05 λ=1.0 6 6 sample sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x
  • 22. φ(i) = φ(x ) (i) (16) Φ Φw = Φ y T T (17) リプレゼンター定理 (Φ Φ + λI)w = Φ y T T (18) 二次正則化付き誤差最小化問題において,損失関数 が w T φ(i) の関数で表されるとき,その解 w は ˆ 線形包 span{φ , · · · , φ } に存在する. (1) ,φ (2) (N )  (1)  y •  y (2)  カーネル法を理解するのに最も重要な定理   y= .  (19) •  .  ていうかこれが分かってればおk . (N ) y • 証明は案外簡単  2 (i)
  • 23. i ˆ w = argmin {y (i) φ(x ≈)} 0 + w1 x −w y T (i) (i) w + λw 2 T w(i) リプレゼンター定理:証明 w i N ˆ w = argmin , w ) =w φ{y) + − w + w x( R(w0 1L(y , (i) (i) λw w T (i) T w 0 1 i i ˆ w = argmin R(w) Φで張られる空間に存在する= (14) w (w0 , w1 ) = argmin R(w0 , w1 ˆ ˆ 全てのΦに直交する成分を持たない 0 ,w1 ) (w ˆ w = argmin R(w) + λw w T (15) w こう書けば,ξが0であ ˆ w= αi φ + ξ (i) (w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ ることはほぼ自明 (16) (w0 ,w1 ) i ξは第二項を増大させる一方で第一項に無影響  T  (1)  φ(1) ˆ φ argmin ·{y φM w φ(x w =1 (1) φ2 ·· (i) (1) T − (
  • 24. (w0 , w1 ) = argmin R(w0 , w1 ) ˆ ˆ ( リプレゼンター定理 (w ,w ) 0 1 ˆ w= αi φ (i) +ξ ( i 実は,特徴ベクトルΦの次元に関わらず,そ 2 ˆ w = argmin {y − w φ(x )} (i) T (i) の自由度はサンプル数Nしかない w i 最適化問題を解く時,wについて解いてもい ˆ w = argmin (i) T (i) 2 {y − w φ(x )} + λw w T いし,αについて解いてもいい w i
  • 25. (w0 , w(w) ,w1 )argminR(w00,,w11 ) ˆ ˆ1 = ˆ ˆ (w0 , w1 )0 = argmin R(w w ) (12) (12) (w0 ,w1 ) (w0 ,w1 ) ˆ w= αi φ(i) +(i) , (j) T (i) (13) (j) T ˆ α= argmin L(y ξ αj φ φ )+λ αj φ φ(xφ α ˆ w= i カーネル関数 i j i α φ(i) + ξ αiiφ(i) + ξ (13) (13) j (i) i ˆ w = argmin w {y − wT φ(x(i) )}2 (14) y i ˆ w = argmin ˆ w (i) − wT φ(x(i) )}2 {y(i) − wT φ(x(i))}T {y (i) 2 (i) k(x ,iiT w x (j) ) = φ(xT ) φ(x (j) ) (15) ˆ w = argmin {y(i) − w φ(x )} + λw w(i) 2 w i ˆˆ w = argmin w = argmin {y (i) − wT φ(x(i) )}22+ λwTT w (i) − wT φ(x(i) )} T λw w + (i) ˆ ˆ w w= w w = argmin argminwT φ(i) ) + λwT w φ ) + λw w L(y (i) , i L(y , w (i) T w w i i ˆ w = argmin R(w) (14) (j) T (i) T (i) (j) TT ˆ ˆ = argmin α = argmin (i) ˆ αjjφ (j) φ )+λ φ )+λ φ(i) α α α L(y (i),, L(y w w = argmin R(w) α φ αj φ (j) αj φ (16) ααi φ(i) i i j jj ii i T w j ˆ w = argmin R(w) + λw w (15) w ˆ ˆ = argmin α α = argmin L(y (i) ,, L(y (i) αjjk(x(i) ,,x(j) ))+λαTT Kα α k(x x ))+λα Kα (i) (j) ˆ ˆ0 ˆ iw = argmin R(w)(16) λw w (wα, w1 ) = argmin R(w0 , w1 ) α i (w ,w ) jj + T (17) 0 1 w  T  (i) (1) (i) T  φ(1) k(x(i) , φ1 ) = φ(x · ·)· φ(x (j) ) (1) ) (14) (j) (1) (i) T (j) k(x , x(j) ) = φ(x ) φ(x x φ2 φM (14)
  • 26. (w0 ,w1 ) 0 1 0 1 j w0 , w1 ) = argmin R(w0w0 , w1) = argmin R(w0 , w1 ) ˆ ˆ ( ,ˆw1 ) ˆ i (12) j αi (12) ˆ (w0= 1 ) αi φ w ,w (i) + (ξˆ0 , w1 ) = argmin 1 ) 0 , w1 ) w ˆ (13) (w0 ,w R(w (12) カーネル関数による書き換え, x ˆ α = argmin ˆ α = w L(y , α φ +ξ i αj k(x (13) (w0 ,w1 ) (i) (i) (i) (j) )) ˆ w = argmin {y (i) − w φ(x )} T ˆ w=2 (i) i i(i) i αi φ (13) +ξ j (13) 二次正則化 w i i が w T φ(i) ˆ {y ≈ 2 線形包 w = argmin y (i)(i) −TwT φ(x(i) )}(i) , x(j) ) spa (i)ˆ = argmin {y(i) − w φ(xαj)}2 (i) k(x ˆ = argmin w{y φ(x T φ(x(i) )}2 + λwT w (14) −w ) (i) T (i) 二次 w y ≈ w w w i i j がw w i ˆw =argmin {y (i) −− wT φ(x(i) )}λwTλwT w = w ˆ argmin {y w φ(x )} + + w (i) 2 (15) 線形 T (i) 2 ˆ w = argmin L(y (i) , wT φ(i) ) +iλwT w w (i) T w i w i (i) (j) k(x , x (j) ) = φ(x ) φ(x ) ˆ w = argmin R(w) ˆ w ˆ w argmin = ˆ α w = argmin ={y {y (14) argmin (i) (i) −− (16)(j)x(j) )}2TKαT Kα λw (i) (i) (i) , w T φ(i) ) + k(x L(y αiα k(x x , )}2 +λα+λα , i αw wj j ii i ˆ w = argmin R(w) + λw w(1)  T (15) (17) · · (j) k(x(1), x(N ))  k(x(i) , x(j)x(1) )exp(−β x(2)argmin ) (2) (14)  , x(2) ) (1) (1) k(x , ) = k(x (i) · 2 ˆ w = −x w R(w)  k(x(2) , x ) k(x(2) , x ) · · · k(x , x(N ) )   ˆ ˆ K= (w0 , w1 ) = argmin R(w0 , .w1 ) (16). w . φ(x) = {a  . exp(−b(x − z)2 )|z .∈. R} . . . . . (15)  .  (w0 ,w1 ) k(x(N ) , x(1) ) k(x(N ) , x(2) ) · · · ) k(x(N ) , x(N )T  T  ˆ = argmin R(w) +2λw w w(1)  (1) φ exp(−βφx(i) −x · φ1 (1) (1) 2 ·· (j) 2 )= φM (i) a exp(−b(x −z) )a T wT exp(−b(x (i) (j) (i) (j) (i
  • 27. i j j ˆ α = argmin (i) L(y , (i) αj k(x , x (j) ))+λα Kα T α カーネル回帰 i j y (i) ≈ (i) αj k(x , x (j) ) (14) j (i) T • k(x , x ) = φ(x ) φ(x ) (i) (j) もはや学習も回帰も全てαとカーネル関数kで (15) (j) 行われる ˆ w = argmin L(y , w φ ) + λw w (i) T (i) T • w パラメータ数=サンプル数 i ˆ w = argmin R(w) (16) • Φの次元数をいくら増やしても動く w ˆ w = argmin R(w) + λwT w (17) w
  • 28. (j) T (j) T ˆ α = argmin L(y ,(i) αj φ φ )+λ (i) αj φ α カーネルトリック i j j (14) (i) T (i) k(x , x (j) ) = φ(x ) φ(x (j) ) (15) •w特徴ベクトルΦを用いてカーネル関数kを定義 ˆ = argmin w L(y , w φ ) + λw w (i) T (i) T i したが,もはやΦは出てこない • ˆ w = argmin R(w) 特徴ベクトルΦとはなんだったのか? w (16) • 特徴ベクトルΦなんてなかった. ˆ w = argmin R(w) + λw w T (17) • カーネル関数の値だけ定義すればいい w
  • 29. i 無限次元のカーネルトリック ˆ w = argmin {y − (i) αi k(x , x (i) (j) )} +λα Kα 2 T w (シュタゲのサブタイトルっぽい) i j (i) k(x , x (j) ) = exp(−β x (i) −x (j) ) (14)   k(xガウスカーネル (2) ) (1) , x(1) ) k(x(1) , x ··· k(x(1) , x(N ) )  k(x(2) , x(1) ) k(x(2) , x(2) ) ··· (N )  k(x , x )  (2) •  最もよく使われるカーネル . K=  . . . . . .. . . . .   • k(x , x ) k(x , x ) · · · k(x , (N ) 実は無限次元の特徴ベクトルΦを用いていること x (1) (N ) (2) (N ) (N ) ) と等価 (j) T (j) T ˆ α = argmin L(y , (i) αj φ φ )+λ (i) αj φ • α Φが無限次元だろうがなんだろうがパラメータ数 i j j i =サンプル数だから高々有限(正しい使い方) Kα ˆ α = argmin (i) L(y , αj k(x , x ))+λα (i) (j) T α i j
  • 30. w i i w i が w T φ(i) の関数で ˆ w = argmin {y (i) − wT φ(x(i) )}2 + λwT w 線形包 span{φ(1) , φ w i ガウスカーネルk(x ˆ ˆ w = argmin w = argmin {y − {y − w α α k(x (i) (i) i i (i) )} +λα T (j) 2 (i), x (j) 2 ,x )} +λα T w i j i j T ˆ w = argmin {y −(i) αi k(x , x(j) )}2 +λα Kα (i) y カーネル関数 i w k(x(i) , x(j) ) j (i) = exp(−β (i) x(i) − x(j) ) (j) (14 k(x , x (j) ) = exp(−β x ) −x 2 (14  (i) (1) (j) 2 k(x , x ) = exp(−β k(x − , x(1) )) k(x(1) , x(2) ) · · · k(x(1 (i) (j) x x (14) 2 特徴ベクトル φ(x) =(2) exp(−b(x − z) (2) ∈ R}  k(x {ax(1) ) k(x(2) , x)|z) · · · k(x(2 (15  , φ(x) = {a exp(−b(x − z) )|z ∈ R} K= 2 (15) . . .. φ(x (  (i) . (j) 2. . . . −z)2 )a exp(−β x −x (i) ) =2 a exp(−b(x 2 (i) exp(−β x −x(i) (j) 2 ) = a exp(−b(x ) k(x(N ) , x(2) ) · · · k(x(N (N ) k(x , x (1) −z) )a exp(−b(x(j) −z) )dz  (16 y (i   (1) (1) , x(1) ) (i) k(x(1) , x(2) ) (i) · · ( k(x , x )ˆ = argmin ) L(y ,k(x α, x (j)) φ ·)+λ k(x (1) (1) k(xk(xx (2) α  (2) , (2) (1)· · · (1) (N ) T K=  •  k(x , x ) k(xk(xx ,) · ·) k(x , x ) ) · · · 関数=連続な特徴ベクトル,とみなせる. (2) (1) . K = .  α, (2) x i · k(xj (2) φ (2)  j (N ) (2) , x  k(x j α( x j . . .. ..  .  .  . . . . .. ..  .. • 内積は和ではなく積分 ˆ . k(x(N ) , x(1)α = argmin(2) )xL(y (i) k(x(N ) ,)xx(2) ) x(j) ))+λαT K ) k(xk(x(N ) , (1) ) , (N ) ,x · · · k(x(Nj k(x) ) , · · · k(x( α , (N (i) α i j
  • 31. argmin {y − w φ(x )} + λw w w i ˆ w = argmin gmin (i) いいから実際に解いてみる L(y , w α φ φ )+λ i α φ αφ {y (i)(j) T j − j αi k(x(i) , x(j) )}2 +λαT Kα (i) (j) T (i) j i α i j j i φ( gmin k(xL(y x, ) = k(x , x x − x αj exp(−β ))+λα Kα ) (14) (i) (i) (j) (i) T (j) , (i) (j) α i j  6  y ) k(x , x ) · · · k(x , x (i) (j) (1) (1) (1) (2) k(x , x ) (1) (N ) sample y (i) ≈ (2)αj k(x , x ) (2) (2)  k(x , x(1) ) k(x , x (14) · · · ) k(x(2) , x(N ) )  4   K= j . . .. 2 .   . . . . . . .  T 0 k(x(i) , x(j)(N ) φ(x(i) ) φ(x(j) ) ) (2) ) = (1) (15) y k(x , x ) k(x , x ) · · · (N -2 k(x(N ) , x(N ) ) = argmin L(y (i) , wT φ(i) ) + λwT w -4 (j) T (j) T ˆ α = argmin w i L(y , (i) αj φ -6 φ )+λ(i) αj φ αi φ(i) α -3 -2 -1 0 1 2 3 w = argmin R(w) j ˆ i (16) j i x w ˆ w = argmin L(y (i) , α =ˆargmin R(w) + λwT wαj k(x(17)x(j) ))+λαT Kα (i) , α w i j
  • 32. カーネル回帰の結果 λ=0 λ=0.0000001 6 6 sample sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x λ=0.0001 λ=1.0 6 6 sample sample f(x) f(x) 4 4 2 2 0 0 y y -2 -2 -4 -4 -6 -6 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 x x
  • 33. ˆ w= ˆ w= αi φ(i) + αi φ(i) + ξξ (13) (13) 二次正則化 ii が w T φ(i) 演習:カーネル回帰の解 ˆ = argmin {y − w φ(x )} w = argmin ˆ {y − w φ(x )} (i) (i) T T (i) 2 (i) 2 線形包 spa w w i 二次正則化付 w i が w T φ(i) の ˆ w = argmin {y (i) − wTT (i) )}2 2 λwT w φ(x (i) + ˆ argmin i {y (i) − w φ(x )} + λw w = 以下で表される解を求めよ T w w 線形包 span{ w i ˆ α = argmin {y −(i) αi k(x , x )} +λα Kα (i) (j) 2 T α ˆ w = argmin i {y (i) − j αi k(x(i) , x(j) )}2 +λαT Kα w i j k(x , x ) = exp(−β x(i) − x(j) 2 ) (i) (j) (14)   φ(x) = {a exp(−b(x − z), x ∈ R} · · k(x , x ) k(x , x ) k(x )|z ) · (1) (1) (1) 2 (2) (1) (N ) (15)  k(x(2) , x(1) ) k(x(2) , x(2) ) · · · k(x(2) , x(N ) )    K =  (i) . (j) 2 . . .−z)2 )a exp(−b(x(j) 2 )d exp(−β x −x  . . . ) = a exp(−b(x . . (i) . . .  −z)  k(x(N ) , x(1) ) k(x(N ) , x(2) ) · · · k(x(N ) , x(N ) ) k(x(1) , x(1) ) k(x(1) , x(2) ) · · · k(x(1) , x(N ) )  (2) (1) (2) (2) T (2) (N ) T
  • 34. φ(x ) =  x(i)  (i) (25 1 b(x (j) 演習:カーネル回帰の解 −z) )dz 2  これもαに関する凸関数なのでy (i) ≈ w φ(x ) T (i) (26 ) ) )  微分して0でおk → φ(x(i) ) (i) (27 ) x   (K + λI)α = y (28 N) ) (29 T (i) αi φ i (30
  • 35. 多項式カーネル (i) T (i) k(x , x (j) ) = (x (j) x + c) p (29) (30) (31) • 離散特徴で非常によく使われる (32) • 連続特徴でも使えて,多項式特徴ベクトルを 使っていることに相当 (33) (34)
  • 36. 多項式カーネル 例えばxが2次元で,p=2の二次多項式カーネル T k(x(i) , x(j) ) = (x(i) x(j) + c)p (29) を使ったとき k(x, y) = (x1 y1 + x2 y2 + c) 2 = x1 y1 + x2 y2 + c + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1 2 2 2 2 2 = (x1 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c) 2 2 2 2 T (30) 2次以下の全ての多項式の項を連結した特徴ベク トルを用いていることになる (31) (32) さらに,計算量は大幅に小さい. (33)
  • 37. (i) T (i) k(x , x (j) ) = (x x(j) + c)p (29) = (x1 y1 多項式カーネルでXOR + x y + c) 2 2 2 = x2 y1 + 1 2 x2 y2 + c2 2 2 + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1 = 2 2 2 2 知的 (x1 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)T x= isTundere yes (30) isIntellectual (31) (32) no no (33) yes ツンデレ (34) 足し算では測れない魅力 識別平面が存在しない
  • 38. (i) T (i) k(x , x (j) ) = (x x(j) + c)p (29) 知的ツンデレこそ至高 (x, y) = (x1 y1 + x2 y2 + c)2 = x2 y1 + x2 y2 + c2 + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1 2 2 1 2 = (x2 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)T 1 2 2 2 isTundere 知的 x= (30) isIntellectual  isTundere  yes x= isIntellectual  (31) isTundere · isIntellectual (32) (33) no no (34) yes ツンデレ (35) 知的 and ツンデレ
  • 39. カーネル法まとめ • リプレゼンター定理により,二次正則化付き誤差 最小化の解wは特徴ベクトルの線形和で表される • てことはそもそもその線形和の重みαを学習すれば よくね? • 特徴ベクトル無限次元にしても高々推定するパラ メータは線形和の重みαだけだから大丈夫じゃね? • 特徴ベクトルは後付けでおk
  • 40. 第二部 サポートベクターマシン • 識別問題 • 回帰問題への帰着 • 損失関数 • サポートベクターマシン • サポートベクター
  • 41. だいぶ疲れたよね • 僕も疲れました • ほんとはSVMも実装してドヤ顔したかったけ ど一晩ではカーネル回帰とこのスライドが限 界だった • 別にそんなに難しくないです • でも奥は深いです(予防線
  • 42. 識別問題 x2 • 要は⃝とXを識別する問題 • 多クラス識別もあるけど今 回は二クラス識別だけ • 識別超平面(ちょうどクラ スの境目になるところ)を 求めるタスクとも言える x1
  • 43. 回帰問題としての定式化 y (i) ≈w x T (i) (30 • 識別問題は回帰問題の一種として定式化でき ˆ る w = argmin {y (i) − w x } + λw w T (i) 2 T w i • ⃝を+1, Xを-1として目的変数とする (i) T (i) (j) ) = (x (j) + c) p (31 • k(x , x あとは単純に回帰 x y (i) ≈w x T (i) y (i) ∈ {−1, +1} (30) (32 y (i) ≈w x T (i) (30) argmin {y (i) − w x (i) + T (i) w T } (i) 2 λw 2 T ˆ w = argmin {y − w x } + λwT w w ik(x, y) w = i(x1 y1 + x2 y2 + c) 2 = T 1 y1 x 2 2 + 2 2 x2 y2 + c + 2x1 x2 y1 y2 + 2cx2 y 2
  • 44. 回帰問題としての二値識別 x2 x2 x1 x1 カーネルを使えば平面でない面での識別もできる
  • 45. 回帰問題としての二値識別 1 -1 0 1 0 x2 x2 -1 x1 x1 カーネルを使えば平面でない面での識別もできる
  • 47. 識別平面付近以外の影響 1 1 0 0 x2 x2 -1 -1 x1 x1
  • 48. = x2 y1 + x2 y2 + c2 + 2x1 x2 y1 y2 + 2cx2 y2 + 2cx1 y1 1 2 2 2 = (x2 , x2 , x1 x2 , x1 , x2 , c)(y1 , y2 , y1 y2 , y1 , y2 , c)T 1 2 2 2 x= isTundere isIntellectual 損失関数 (33)   二乗誤差だと,「十分識別されている」サンプルに isTundere x= isIntellectual  (34) 対しても大きなペナルティがかかってしまう isTundere · isIntellectual rsq (f (x), y) = (y − f (x))2 = (1 − yf (x))2 (35) (36) (37)
  • 49.  isTundere x= isIntellectual  (34) サポートベクターマシン isTundere · isIntellectual 二乗誤差の代わりにヒンジ関数を損失として用いる rsq (f (x), y) = (y − f (x)) 2 = (1 − yf (x)) 2 のがサポートベクターマシン rhinge (f (x), y) = max{0, 1 − yf (x)} (35) (36) (37)
  • 51. ヒンジ関数の効果 1 1 0 0 x2 x2 -1 -1 x1 x1 f(x)<-1, 1<f(x)のサンプルはあってもなくても同じ
  • 52. 以上. • という感じなんだけど一応もうちょい書く
  • 53. i ˆ w = argmin y) {y(y − f w φ(x )} rsq (f (x), = − (x)) (i) T2 (i) 2 y( w サポートベクター i = (1 − yf (x))2 x = rhinge (f (x), y) =− w T φ(x(i) )}2 + λw T w argmin {y (i) max{0, 1 − yf (x)} 要はあってもなくても同じじゃないサンプル w i f (x) = αi k(x, x(i) ) (35) 実際にカーネル法で計算してみると i non-zero (x φ (i) (j) T ) (i) (j) T argmin i = L(y , α (i) αj φ∈ SV )+λ (36) αj φ (i) αi φ α i 0 j (otherwise) j i となっており (j) (37) argmin (i) L(y , αj k(x , x (i) ))+λα Kα T α (38) (SV=サポートベクター) i j y (i) ≈ (i) αj k(x , x (j) ) (14) j SVだけ足せばOK (i) (j) (i) T (j)
  • 54.  isTundere isTundere x =  x =isIntellectual isIntellectual  (33) (34) isTundere · isIntellectual  最適解の求め方 isTundere  x =  (f (x), y) = (y − f (x))2  rsq isIntellectual (34) • isTundere= isIntellectual 詳細は省くけどポイントはヒンジ関数 · (1 − yf (x))2 • (f (x), y) = (y − f (x)) rhinge r (f通常,場合分けが必要な関数の最適化は難しい sq (x), y) = max{0, 1 − yf (x)} 2 f (x) = αi k(x, x(i) ) = (1 − yf (x))2 (35) 制約条件付き最適化問題として解く i rhinge (f (x), y) = max{0, 1 − yf (x)} non-zero (x ∈ SV ) (i) αi = (36) 0 (otherwise) (35) ξi ≥ 0, ξi ≥ 1 − y (i) f (x(i) ) (37) (36) ˆ ˆ ξ, α = argmin ξi + λαT Kα (38) Lagrange multiplierで解ける ξ,α (37) i
  • 55. サポートベクターマシンまとめ • 二値識別問題は+1と-1への回帰問題として考 えることができる • 二乗誤差ではどうでもいいところに引っ張ら れて識別平面がうまくできない • そこでヒンジ関数を損失関数として採用した のがサポートベクターマシン • サポートベクター以外のカーネル関数重みαが 0になるので計算量も小さくて済む

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n