SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
PRML 第 7 章
7.1~7.1.1 (下巻 pp35-47)




   発表者:堀川 隆弘
  Twitter: @thorikawa
  Hatena id: thorikawa
第 7 章アウトライン
 最大マージン分類器
  特徴空間において線形分離可能な場合の非線形 SVM
                                   本説明
 重なりのあるクラス分布                       の範囲
  特徴空間において線形分離丌可能な場合の非線形 SVM
 多クラス SVM・回帰のための SVM
  本来 2 クラス分類を目的とした SVM を多クラス分類や回帰に応用す
   る方法
 関連ベクトルマシン(RVM)
  事後確率分布を求めることが可能
  SVM よりもさらに疎なモデルが得られる
疎な解を持つカーネルマシン
 第 6 章で触れたガウス過程などのモデルには、訓練データの
 全ての対についてカーネル関数を計算しなければいけないと
 いう問題があった。
 学習および予測時に、非常に計算時間がかかる可能性があ
 る。(特に逆行列の計算に時間がかかる)
 そこで、訓練データ点の一部だけに対してカーネル関数を計
 算することで予測可能なアルゴリズムを考える。
SVM:Support Vector Machine
  訓練データを、超平面を分離境界として分類する。
  正例データと負例データのうち、両者の境界にあるもの
  ≡ Support Vector だけを予測に使う。
  Support Vector との距離(Margin)を最大化する分類平面
  を選ぶ。
線形 SVM と非線形 SVM
 PRML では非線形 SVM についてのみ言及している
非線形 SVM では特徴空間上での線形分離を考える。
 入力空間においては分離境界が非線形であっても、より高次元の特
  徴空間上では線形であり得る。
SVM の動機付け
 なぜ Support Vector に対してのみ Margin を最大化するとよ
 いのか?
 演習 7.1 と p36 の最終パラグラフ
 共通のパラメータσ2 をもつガウスカーネルを用いて、Parzen
 推定法を適用して、各クラスごとの入力ベクトル x の分布を
 推定する。
                 1        1
          p xt =             k x, xn δ t, t n
                 Nt       zk
                      n
 ベイズの定理より、
                 p tx ∝p xt p t
今、事前確率p t は無情報とすると、誤分類をなくす、すなわち事後確率
p t x が大きい t に振り分けるためには、p x t が大きい t を選べばよい。
その分類境界は
                            p x t = 1 = p x t = −1
で不えられる。よって
           1                1              1                 1
                               k x, xn =                        k x, xn
          Nt=1              zk           Nt=−1               zk
                 n t n =1                        n t n =−1

カーネル関数として Gaussian Kernel を選ぶと、
    1                1      −wn 2     1                      1      −wn 2
                        exp    2
                                  =                             exp
   Nt=1              zk      2σ     Nt=−1                    zk      2σ2
          n t n =1                               n t n =−1

wn > wm としてσ2 → 0のケースを考えると、
−wn 2
         exp             wm 2 − wn 2
              2σ2
                   = exp             →0
             −wm 2          2σ 2
         exp
              2σ2
よってwn が最小になる訓練データ(Support Vector)以外の点で、カーネ
ル関数の値は無視できるから、分類境界はマージンを最大化する点で不
えられる。
マージン最大化の定式化
               y x = w T φ x + ������
とモデル化される 2 値分類問題を考える。
(まずは特徴空間上で完全な線形分離が可能と仮定する)
このとき分離平面は、
                       y x =0
で、点xn と分離平面との距離は、
          y xn   t n y xn   t n w ������ ������ x + ������
               =          =
            w         w               w
で不えられる。(仮定より訓練データ集合は線形分離可能で、正しく線形分離
する解に対し、t n y xn > 0 であることを用いた。)
つまり、マージンを最大化する解は次の最適化問題を解くことで得られる。
1
            arg max      min t n w ������ ������ x + ������              (7.3)
              w,b      w n
w と b を同じ値だけ定数倍しても、目的関数の値は変化しないので、適当に定
数倍して、
                      min t n w ������ ������ x + ������   =1
                        n
とできる。このとき、マージン最適化の問題は以下の二次計画法に帰着する。
                    1
             arg min w 2      (7.6)
               w,b  2
  subject to
            t n w ������ ������ x + ������ ≥ 1,   n = 1, … , N   (7.5)
この最適化問題を解くためにラグランジュ乗数を導入すると、
                              N
                1     2
    L w, b, a =   w       −         an t n w ������ ������ x + ������ − 1   (7.7)
                2
                              n=1
W と b について微分すると、以下の条件が出る。
                              N

                  w=              an t n ������ x                   (7.8)
                          n=1
                             N

                      0=             an t n                     (7.9)
                              n=1
W と b を消去できて、以下の双対表現(dual representation)が得られる。
   双対表現(dual representation)
                N              N      N
                           1
       L a =          an −                an am t n t m k xn , xm   (7.10)
                           2
                n=1            n=1 m=1
   subject to
                       an ≥ 0, n = 1, … , N                         (7.11)
                           N

                                   an t n = 0                       (7.12)
                          n=1
   Where
                    k xn , xm = φ xn        Tφ   xm

基底関数の数を M とし、特徴空間の次元を N とすると、
もともとの問題(7.6)は M 変数、双対問題(7.10)は N 変数であった。
特徴空間の次元がデータ点の数を上回るような場合(たとえばガウスカーネル
のような無限次元の場合)にも、最大マージン分類器を適用できるようになる。


なお、k xn , xm が半正定値より、双対問題は凸最適化問題になる。
  凸最適化
                  f x1 , … , xn → max
   subject to
          g1 x1 , … , xn ≤ 0  h1 x1 , … , xn = 0
                    …                  …
          g n x1 , … , xn ≤ 0 hn x1 , … , xn = 0
   f が上に凸の関数で、制約条件が定義する領域が凸であるとき、こ
   の問題を凸最適化問題と呼ぶ。

   凸最適化問題においては、局所最適解=大域最適解になる。
この双対問題の解き方については後述。
双対問題を解き、an が求まったとして、分類規則は次のようになる。
                      N

          y x =            an t k k(x, xn ) + b        (7.13)
                     n=1

          1
       b=            tn −         am t m k(xn , xm )   (7.18)
          NS
               n∈S          m∈S
なお、この問題における KKT 条件は以下のようになる。
   KKT 条件(Karush-Kuhn-Tucker condition)
                an ≥ 0, n = 1, … , N      (7.14)
                  t n y xn − 1 ≥ 0        (7.15)
                an t n y xn − 1 = 0       (7.16)

よって、全ての訓練データに対し、an = 0またはt n y xn − 1 = 0が成立する。
(7.13)より、an = 0の点は新しいデータ点の予測に寄不しない。
それ以外のan ≠ 0となる点を support vector と呼び、マージンの縁に存在す
る。
7.1.1 重なりのあるクラス分布
 今まで線形分離可能な場合を考えてきたが、丌可能な場合
 を考える。
 スラック変数ξn ≥ 0を導入する
  正しく識別され、かつマージン境界の上または内側では ξn = 0
  それ以外の場合 ξn = t n − y xn

 このとき、
  分類境界y x = 0上にあるデータで
   はξn = 1
  誤分類されたデータではξn > 1が成
   り立つ
これらをまとめて誤分類を許容するために、制約条件(7.5)を以下のように
変更する。
         t n y x������ ≥ 1 − ξn ,    n = 1, … , N   (7.20)
 where
              ξn ≥ 0,       n = 1, … , N


また、誤分類に対し、ソフトにペナルティを不えるために目的関数(7.6)は以
下のように変更する。
                     N
                               1    2
                 C         ξn + w               (7.21)
                               2
                     n=1
C はスラック変数によるペナルティとマージンの大きさの間のトレードオフを制
御するパラメータ。C→∞においては、ξn によるペナルティが∞となり、誤分
類を許容しないハードマージン SVM の最適化問題と等しくなる。
この最適化問題をとくためのラグランジュ関数は、
 L w, b, ξ, a, μ
                            N            N                                     N
             1     2                                  ������
                                                                                              (7.22)
           =   w       +C         ξn −         an t n w ������ x + ������ − 1 + ξn −         μn ξ n
             2
                            n=1          n=1                                   n=1

対応する KKT 条件は以下
     KKT 条件
                                an ≥ 0, n = 1, … , N                                    (7.23)
                              t n y xn − 1 + ξn ≥ 0                                     (7.24)
                            an t n y xn − 1 + ξn = 0                                    (7.25)
                                      μn ≥ 0                                            (7.26)
                                       ξn ≥ 0                                           (7.27)
                                         μn ξn = 0                                      (7.28)

(7.22)を w,b, ξn で微分したものを 0 でおいて、以下の結果を得る。
N
                ∂L
                   =0 ⇒ w=                   an t n ������ x           (7.29)
                ∂w
                                       n=1
                                   N
                      ∂L
                         =0 ⇒            an t n = 0                (7.30)
                      ∂b
                                   n=1
                    ∂L
                        = 0 ⇒ a n = C − μn                         (7.31)
                    ∂ξn


これをもともとのラグランジュ関数に代入すると、以下の双対表現が得られる。
   双対表現(dual representation)
                N              N   N
                           1
      L a =           an −               an am t n t m k xn , xm   (7.32)
                           2
                n=1            n=1 m=1
   subject to
0 ≤ an ≤ C, n = 1, … , N    (7.33)
                     N

                          an t n = 0       (7.34)
                    n=1
ただし、制約条件(7.33)は(7.31) an = C − μn と(7.26)μn ≥ 0を用いた。
これらの式は、制約条件(7.33)以外は、ハードマージン SVM の双対表現と同
一である。
二次計画法の解法
 一般に M 個の変数を持つ二次計画問題を解くにはΟ M 3 の
 時間がかかることが知られている。
 効率的に解くアルゴリズムが必要。
  Chunking (Vapnik, 1982)

     最終的にゼロにならないラグランジュ乗数だけを残す。
     カーネル行列の大きさを、全データ数の2乗から、非ゼロのラグラン
      ジュ乗数の数の2乗程度まで減らすことが可能。
     保護共役勾配法(protected conjugate gradient method)を用い
      て実装可能(Burges, 1998)
 分解法(decomposition method) (Osuna et al., 1996)

    サイズの小さな二次計画問題を繰り返し解くことで、最終的な解を
     得る。
    実際には、2つのラグランジュ乗数を含む部分問題を繰り返し解く
    SMO(sequential minimal optimization)(Platt, 1999)が広く使
    われている。
SMO(sequential minimal optimization)
   全ての an ではなく、2個のai だけを選び、逐次更新する。
   アルゴリズム概略
 ※大幅に過程を省略しているため、詳細を知りたい方は元論文または参考
 文献 1 を参照。
 動かす対象をa1 , a2 の2点とする。
 このとき、制約式(7.34)より以下が成立する。
              a1 t1 + anew t 2 = a1 t1 + aold t 2
               new
                        2
                                  old
                                          2
 これと制約式(7.33) 0 ≤ an ≤ Cから以下の新たな制約式が導きだせる。
 t1 = t 2 の場合
                           U ≤ anew ≤ V
                                2
 where U = max   0, a1 + aold − C , V = min
                     old
                          2                   C, a1 + aold
                                                  old
                                                       2
t1 ≠ t 2 の場合
                                       U ≤ anew ≤ V
                                            2
where U = max            0, C − a1 + aold , V = min
                                 old
                                      2                            C, aold − a1
                                                                       2
                                                                              old

また、目的関数(7.32)はa1 , a2 に関連する部分だけに注目して、以下のよう
に整理できる。
                         1        1
  W a1 , a2   = a1 + a2 − K11 a1 − K 22 a2 2 − t1 t 2 K12 a1 a2 − t1 ν1 a1 − t 2 ν2 a2 + const.
                                2
                         2        2
where
                                        K ij = k xi , xj
                                           N

                                   νi =         t j aj k xi , xj
                                          j=3


目的関数をa2 で微分して=0 とおくことで、更新式が求まる。
t 2 f x1 − t1 − f x2 − t 2
         =  anew
            +2     aold
                    2
                    K11 + K 22 − 2K12
この更新式に対して、前述の制約式を適用したものをanew の更新値とする。 2
(a1 はa1 t1 + anew t 2 = a1 t1 + aold t 2 から求まる。)
  new new
              2
                         old
                                 2


なお、各部分問題で動かす 2 点の選び方には、いくつかのヒューリスティック
が存在する。
非線形 SVM のメリット・デメリット
 メリット
  凸二次計画問題に定式化できるので、局所解が大域解になる。(特
   にニューラルネットワークでは、局所解に収束し、大域解が求められな
   い問題に陥りやすかった)
  特徴空間が高次元な場合に計算が容易になる。
  サポートベクトルの位置だけで分類境界が決まるので、過学習にお委
   入りにくい。
 デメリット
  多クラス分類や事後確率を求めるのには向いていない
  二次計画問題の計算量が多い
SVM のその他の話題
 カーネル関数の選び方
  実験で決めるしかない?
  マルチカーネル学習(Multiple Kernel Learning, MKL)という手法も
   ある。
  複数のサブカーネルを線形結合する統合カーネルを作成し、サブカー
   ネルの重みパラメータ j を学習する。
 並列処理
  そのままだと全訓練データを必要とするので、並列処理が難しい
  PSVM(Parallelizing Support Vector Machine)という手法がある。
参考文献
1. 中川 裕志:「数理手法(統計的機械学習入門)」講義スライド
  http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/kernel1.
  pdf
2. 前田 英作:痛快!サポートベクトルマシン
  http://ci.nii.ac.jp/naid/110002764121/
3. 金谷 健一:これならわかる最適化数学,共立出版
END

Mais conteúdo relacionado

Mais procurados

Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰
Yuki Matsubara
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節
Koji Matsuda
 
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワークPRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
KokiTakamiya
 

Mais procurados (20)

PRML 第4章
PRML 第4章PRML 第4章
PRML 第4章
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8
 
Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰Prml4.4 ラプラス近似~ベイズロジスティック回帰
Prml4.4 ラプラス近似~ベイズロジスティック回帰
 
PRML RVM 7.2 7.2.3
PRML RVM 7.2 7.2.3PRML RVM 7.2 7.2.3
PRML RVM 7.2 7.2.3
 
PRML輪読#9
PRML輪読#9PRML輪読#9
PRML輪読#9
 
PRML 6.4-6.5
PRML 6.4-6.5PRML 6.4-6.5
PRML 6.4-6.5
 
PRML輪読#10
PRML輪読#10PRML輪読#10
PRML輪読#10
 
PRML Chapter 14
PRML Chapter 14PRML Chapter 14
PRML Chapter 14
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
Prml nn
Prml nnPrml nn
Prml nn
 
PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現PRML 6.1章 カーネル法と双対表現
PRML 6.1章 カーネル法と双対表現
 
Prml3.5 エビデンス近似〜
Prml3.5 エビデンス近似〜Prml3.5 エビデンス近似〜
Prml3.5 エビデンス近似〜
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11
 
研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節
 
PRML輪読#12
PRML輪読#12PRML輪読#12
PRML輪読#12
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2
 
Prml 2.3
Prml 2.3Prml 2.3
Prml 2.3
 
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワークPRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
PRML 5.5.6-5.6 畳み込みネットワーク(CNN)・ソフト重み共有・混合密度ネットワーク
 
PRML 4.4-4.5.2 ラプラス近似
PRML 4.4-4.5.2 ラプラス近似PRML 4.4-4.5.2 ラプラス近似
PRML 4.4-4.5.2 ラプラス近似
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 

Destaque

Learning Latent Variable Gaussian Graphical Models
Learning Latent Variable Gaussian Graphical ModelsLearning Latent Variable Gaussian Graphical Models
Learning Latent Variable Gaussian Graphical Models
harapon
 
Plc ( programable logic controllers)
Plc ( programable logic controllers)Plc ( programable logic controllers)
Plc ( programable logic controllers)
masoommehsoud1
 
双対定理
双対定理双対定理
双対定理
JAVA DM
 
PRML読書会#2,#3資料
PRML読書会#2,#3資料PRML読書会#2,#3資料
PRML読書会#2,#3資料
Hiromasa Ohashi
 
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
Hidekazu Oiwa
 
Prml Reading Group 10 8.3
Prml Reading Group 10 8.3Prml Reading Group 10 8.3
Prml Reading Group 10 8.3
正志 坪坂
 

Destaque (20)

PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
 
SVMについて
SVMについてSVMについて
SVMについて
 
Prml7 2
Prml7 2Prml7 2
Prml7 2
 
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
 
Learning Latent Variable Gaussian Graphical Models
Learning Latent Variable Gaussian Graphical ModelsLearning Latent Variable Gaussian Graphical Models
Learning Latent Variable Gaussian Graphical Models
 
Chapter9 2
Chapter9 2Chapter9 2
Chapter9 2
 
楽しいクォータニオンの世界 田所 第二回Rogyゼミ
楽しいクォータニオンの世界 田所 第二回Rogyゼミ楽しいクォータニオンの世界 田所 第二回Rogyゼミ
楽しいクォータニオンの世界 田所 第二回Rogyゼミ
 
生命を記述する数学
生命を記述する数学生命を記述する数学
生命を記述する数学
 
MLaPP 5章 「ベイズ統計学」
MLaPP 5章 「ベイズ統計学」MLaPP 5章 「ベイズ統計学」
MLaPP 5章 「ベイズ統計学」
 
大腸内視鏡検査における大腸癌認識システム
大腸内視鏡検査における大腸癌認識システム大腸内視鏡検査における大腸癌認識システム
大腸内視鏡検査における大腸癌認識システム
 
MLaPP 4章 「ガウシアンモデル」
MLaPP 4章 「ガウシアンモデル」MLaPP 4章 「ガウシアンモデル」
MLaPP 4章 「ガウシアンモデル」
 
Plc ( programable logic controllers)
Plc ( programable logic controllers)Plc ( programable logic controllers)
Plc ( programable logic controllers)
 
双対定理
双対定理双対定理
双対定理
 
画像フィルタリング
画像フィルタリング画像フィルタリング
画像フィルタリング
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解
 
PRML読書会#2,#3資料
PRML読書会#2,#3資料PRML読書会#2,#3資料
PRML読書会#2,#3資料
 
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
 
Prml Reading Group 10 8.3
Prml Reading Group 10 8.3Prml Reading Group 10 8.3
Prml Reading Group 10 8.3
 

Semelhante a PRML chapter7

卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
Tomoshige Nakamura
 
050 確率と確率分布
050 確率と確率分布050 確率と確率分布
050 確率と確率分布
t2tarumi
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
nwpmq516
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
nwpmq516
 
13.2 隠れマルコフモデル
13.2 隠れマルコフモデル13.2 隠れマルコフモデル
13.2 隠れマルコフモデル
show you
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
Miyoshi Yuya
 

Semelhante a PRML chapter7 (20)

コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM)
コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM) コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM)
コンピュータービジョン最先端ガイド2 3.4ベクトルデータに対するカーネル法(SVM)
 
主成分分析
主成分分析主成分分析
主成分分析
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-卒論プレゼンテーション -DRAFT-
卒論プレゼンテーション -DRAFT-
 
回帰
回帰回帰
回帰
 
確率的主成分分析
確率的主成分分析確率的主成分分析
確率的主成分分析
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
 
050 確率と確率分布
050 確率と確率分布050 確率と確率分布
050 確率と確率分布
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
Jokyonokai
JokyonokaiJokyonokai
Jokyonokai
 
13.2 隠れマルコフモデル
13.2 隠れマルコフモデル13.2 隠れマルコフモデル
13.2 隠れマルコフモデル
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
はじめてのパターン認識8章 サポートベクトルマシン
はじめてのパターン認識8章 サポートベクトルマシンはじめてのパターン認識8章 サポートベクトルマシン
はじめてのパターン認識8章 サポートベクトルマシン
 
はじめてのパターン認識8章サポートベクトルマシン
はじめてのパターン認識8章サポートベクトルマシンはじめてのパターン認識8章サポートベクトルマシン
はじめてのパターン認識8章サポートベクトルマシン
 
RUPC2017:M問題
RUPC2017:M問題RUPC2017:M問題
RUPC2017:M問題
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 

Mais de Takahiro (Poly) Horikawa (8)

The Land of Oz 20191109 Magic Leap x docomo meetup
The Land of Oz 20191109 Magic Leap x docomo meetupThe Land of Oz 20191109 Magic Leap x docomo meetup
The Land of Oz 20191109 Magic Leap x docomo meetup
 
エニグマ暗号とは何だったのか
エニグマ暗号とは何だったのかエニグマ暗号とは何だったのか
エニグマ暗号とは何だったのか
 
Android Wear Development
Android Wear DevelopmentAndroid Wear Development
Android Wear Development
 
Android開発の基礎_20101218
Android開発の基礎_20101218Android開発の基礎_20101218
Android開発の基礎_20101218
 
加速度センサーで円運動を検出する
加速度センサーで円運動を検出する加速度センサーで円運動を検出する
加速度センサーで円運動を検出する
 
PRML chapter5
PRML chapter5PRML chapter5
PRML chapter5
 
ESPer2008-FireMobileSimulatorについて
ESPer2008-FireMobileSimulatorについてESPer2008-FireMobileSimulatorについて
ESPer2008-FireMobileSimulatorについて
 
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
第10回Mozilla拡張機能勉強会-FireMobileSimulatorについて
 

Último

Último (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

PRML chapter7

  • 1. PRML 第 7 章 7.1~7.1.1 (下巻 pp35-47) 発表者:堀川 隆弘 Twitter: @thorikawa Hatena id: thorikawa
  • 2. 第 7 章アウトライン 最大マージン分類器  特徴空間において線形分離可能な場合の非線形 SVM 本説明 重なりのあるクラス分布 の範囲  特徴空間において線形分離丌可能な場合の非線形 SVM 多クラス SVM・回帰のための SVM  本来 2 クラス分類を目的とした SVM を多クラス分類や回帰に応用す る方法 関連ベクトルマシン(RVM)  事後確率分布を求めることが可能  SVM よりもさらに疎なモデルが得られる
  • 3. 疎な解を持つカーネルマシン 第 6 章で触れたガウス過程などのモデルには、訓練データの 全ての対についてカーネル関数を計算しなければいけないと いう問題があった。 学習および予測時に、非常に計算時間がかかる可能性があ る。(特に逆行列の計算に時間がかかる) そこで、訓練データ点の一部だけに対してカーネル関数を計 算することで予測可能なアルゴリズムを考える。
  • 4. SVM:Support Vector Machine 訓練データを、超平面を分離境界として分類する。 正例データと負例データのうち、両者の境界にあるもの ≡ Support Vector だけを予測に使う。 Support Vector との距離(Margin)を最大化する分類平面 を選ぶ。
  • 5. 線形 SVM と非線形 SVM  PRML では非線形 SVM についてのみ言及している 非線形 SVM では特徴空間上での線形分離を考える。  入力空間においては分離境界が非線形であっても、より高次元の特 徴空間上では線形であり得る。
  • 6. SVM の動機付け なぜ Support Vector に対してのみ Margin を最大化するとよ いのか? 演習 7.1 と p36 の最終パラグラフ 共通のパラメータσ2 をもつガウスカーネルを用いて、Parzen 推定法を適用して、各クラスごとの入力ベクトル x の分布を 推定する。 1 1 p xt = k x, xn δ t, t n Nt zk n ベイズの定理より、 p tx ∝p xt p t
  • 7. 今、事前確率p t は無情報とすると、誤分類をなくす、すなわち事後確率 p t x が大きい t に振り分けるためには、p x t が大きい t を選べばよい。 その分類境界は p x t = 1 = p x t = −1 で不えられる。よって 1 1 1 1 k x, xn = k x, xn Nt=1 zk Nt=−1 zk n t n =1 n t n =−1 カーネル関数として Gaussian Kernel を選ぶと、 1 1 −wn 2 1 1 −wn 2 exp 2 = exp Nt=1 zk 2σ Nt=−1 zk 2σ2 n t n =1 n t n =−1 wn > wm としてσ2 → 0のケースを考えると、
  • 8. −wn 2 exp wm 2 − wn 2 2σ2 = exp →0 −wm 2 2σ 2 exp 2σ2 よってwn が最小になる訓練データ(Support Vector)以外の点で、カーネ ル関数の値は無視できるから、分類境界はマージンを最大化する点で不 えられる。
  • 9. マージン最大化の定式化 y x = w T φ x + ������ とモデル化される 2 値分類問題を考える。 (まずは特徴空間上で完全な線形分離が可能と仮定する) このとき分離平面は、 y x =0 で、点xn と分離平面との距離は、 y xn t n y xn t n w ������ ������ x + ������ = = w w w で不えられる。(仮定より訓練データ集合は線形分離可能で、正しく線形分離 する解に対し、t n y xn > 0 であることを用いた。) つまり、マージンを最大化する解は次の最適化問題を解くことで得られる。
  • 10. 1 arg max min t n w ������ ������ x + ������ (7.3) w,b w n w と b を同じ値だけ定数倍しても、目的関数の値は変化しないので、適当に定 数倍して、 min t n w ������ ������ x + ������ =1 n とできる。このとき、マージン最適化の問題は以下の二次計画法に帰着する。 1 arg min w 2 (7.6) w,b 2 subject to t n w ������ ������ x + ������ ≥ 1, n = 1, … , N (7.5)
  • 11. この最適化問題を解くためにラグランジュ乗数を導入すると、 N 1 2 L w, b, a = w − an t n w ������ ������ x + ������ − 1 (7.7) 2 n=1 W と b について微分すると、以下の条件が出る。 N w= an t n ������ x (7.8) n=1 N 0= an t n (7.9) n=1
  • 12. W と b を消去できて、以下の双対表現(dual representation)が得られる。 双対表現(dual representation) N N N 1 L a = an − an am t n t m k xn , xm (7.10) 2 n=1 n=1 m=1 subject to an ≥ 0, n = 1, … , N (7.11) N an t n = 0 (7.12) n=1 Where k xn , xm = φ xn Tφ xm 基底関数の数を M とし、特徴空間の次元を N とすると、 もともとの問題(7.6)は M 変数、双対問題(7.10)は N 変数であった。
  • 13. 特徴空間の次元がデータ点の数を上回るような場合(たとえばガウスカーネル のような無限次元の場合)にも、最大マージン分類器を適用できるようになる。 なお、k xn , xm が半正定値より、双対問題は凸最適化問題になる。 凸最適化 f x1 , … , xn → max subject to g1 x1 , … , xn ≤ 0 h1 x1 , … , xn = 0 … … g n x1 , … , xn ≤ 0 hn x1 , … , xn = 0 f が上に凸の関数で、制約条件が定義する領域が凸であるとき、こ の問題を凸最適化問題と呼ぶ。 凸最適化問題においては、局所最適解=大域最適解になる。
  • 15. なお、この問題における KKT 条件は以下のようになる。 KKT 条件(Karush-Kuhn-Tucker condition) an ≥ 0, n = 1, … , N (7.14) t n y xn − 1 ≥ 0 (7.15) an t n y xn − 1 = 0 (7.16) よって、全ての訓練データに対し、an = 0またはt n y xn − 1 = 0が成立する。 (7.13)より、an = 0の点は新しいデータ点の予測に寄不しない。 それ以外のan ≠ 0となる点を support vector と呼び、マージンの縁に存在す る。
  • 16. 7.1.1 重なりのあるクラス分布 今まで線形分離可能な場合を考えてきたが、丌可能な場合 を考える。 スラック変数ξn ≥ 0を導入する  正しく識別され、かつマージン境界の上または内側では ξn = 0  それ以外の場合 ξn = t n − y xn このとき、  分類境界y x = 0上にあるデータで はξn = 1  誤分類されたデータではξn > 1が成 り立つ
  • 17. これらをまとめて誤分類を許容するために、制約条件(7.5)を以下のように 変更する。 t n y x������ ≥ 1 − ξn , n = 1, … , N (7.20) where ξn ≥ 0, n = 1, … , N また、誤分類に対し、ソフトにペナルティを不えるために目的関数(7.6)は以 下のように変更する。 N 1 2 C ξn + w (7.21) 2 n=1 C はスラック変数によるペナルティとマージンの大きさの間のトレードオフを制 御するパラメータ。C→∞においては、ξn によるペナルティが∞となり、誤分 類を許容しないハードマージン SVM の最適化問題と等しくなる。
  • 18. この最適化問題をとくためのラグランジュ関数は、 L w, b, ξ, a, μ N N N 1 2 ������ (7.22) = w +C ξn − an t n w ������ x + ������ − 1 + ξn − μn ξ n 2 n=1 n=1 n=1 対応する KKT 条件は以下 KKT 条件 an ≥ 0, n = 1, … , N (7.23) t n y xn − 1 + ξn ≥ 0 (7.24) an t n y xn − 1 + ξn = 0 (7.25) μn ≥ 0 (7.26) ξn ≥ 0 (7.27) μn ξn = 0 (7.28) (7.22)を w,b, ξn で微分したものを 0 でおいて、以下の結果を得る。
  • 19. N ∂L =0 ⇒ w= an t n ������ x (7.29) ∂w n=1 N ∂L =0 ⇒ an t n = 0 (7.30) ∂b n=1 ∂L = 0 ⇒ a n = C − μn (7.31) ∂ξn これをもともとのラグランジュ関数に代入すると、以下の双対表現が得られる。 双対表現(dual representation) N N N 1 L a = an − an am t n t m k xn , xm (7.32) 2 n=1 n=1 m=1 subject to
  • 20. 0 ≤ an ≤ C, n = 1, … , N (7.33) N an t n = 0 (7.34) n=1 ただし、制約条件(7.33)は(7.31) an = C − μn と(7.26)μn ≥ 0を用いた。 これらの式は、制約条件(7.33)以外は、ハードマージン SVM の双対表現と同 一である。
  • 21. 二次計画法の解法 一般に M 個の変数を持つ二次計画問題を解くにはΟ M 3 の 時間がかかることが知られている。 効率的に解くアルゴリズムが必要。  Chunking (Vapnik, 1982)  最終的にゼロにならないラグランジュ乗数だけを残す。  カーネル行列の大きさを、全データ数の2乗から、非ゼロのラグラン ジュ乗数の数の2乗程度まで減らすことが可能。  保護共役勾配法(protected conjugate gradient method)を用い て実装可能(Burges, 1998)
  • 22.  分解法(decomposition method) (Osuna et al., 1996)  サイズの小さな二次計画問題を繰り返し解くことで、最終的な解を 得る。  実際には、2つのラグランジュ乗数を含む部分問題を繰り返し解く SMO(sequential minimal optimization)(Platt, 1999)が広く使 われている。
  • 23. SMO(sequential minimal optimization) 全ての an ではなく、2個のai だけを選び、逐次更新する。 アルゴリズム概略 ※大幅に過程を省略しているため、詳細を知りたい方は元論文または参考 文献 1 を参照。 動かす対象をa1 , a2 の2点とする。 このとき、制約式(7.34)より以下が成立する。 a1 t1 + anew t 2 = a1 t1 + aold t 2 new 2 old 2 これと制約式(7.33) 0 ≤ an ≤ Cから以下の新たな制約式が導きだせる。 t1 = t 2 の場合 U ≤ anew ≤ V 2 where U = max 0, a1 + aold − C , V = min old 2 C, a1 + aold old 2
  • 24. t1 ≠ t 2 の場合 U ≤ anew ≤ V 2 where U = max 0, C − a1 + aold , V = min old 2 C, aold − a1 2 old また、目的関数(7.32)はa1 , a2 に関連する部分だけに注目して、以下のよう に整理できる。 1 1 W a1 , a2 = a1 + a2 − K11 a1 − K 22 a2 2 − t1 t 2 K12 a1 a2 − t1 ν1 a1 − t 2 ν2 a2 + const. 2 2 2 where K ij = k xi , xj N νi = t j aj k xi , xj j=3 目的関数をa2 で微分して=0 とおくことで、更新式が求まる。
  • 25. t 2 f x1 − t1 − f x2 − t 2 = anew +2 aold 2 K11 + K 22 − 2K12 この更新式に対して、前述の制約式を適用したものをanew の更新値とする。 2 (a1 はa1 t1 + anew t 2 = a1 t1 + aold t 2 から求まる。) new new 2 old 2 なお、各部分問題で動かす 2 点の選び方には、いくつかのヒューリスティック が存在する。
  • 26. 非線形 SVM のメリット・デメリット メリット  凸二次計画問題に定式化できるので、局所解が大域解になる。(特 にニューラルネットワークでは、局所解に収束し、大域解が求められな い問題に陥りやすかった)  特徴空間が高次元な場合に計算が容易になる。  サポートベクトルの位置だけで分類境界が決まるので、過学習にお委 入りにくい。 デメリット  多クラス分類や事後確率を求めるのには向いていない  二次計画問題の計算量が多い
  • 27. SVM のその他の話題 カーネル関数の選び方  実験で決めるしかない?  マルチカーネル学習(Multiple Kernel Learning, MKL)という手法も ある。  複数のサブカーネルを線形結合する統合カーネルを作成し、サブカー ネルの重みパラメータ j を学習する。 並列処理  そのままだと全訓練データを必要とするので、並列処理が難しい  PSVM(Parallelizing Support Vector Machine)という手法がある。
  • 28. 参考文献 1. 中川 裕志:「数理手法(統計的機械学習入門)」講義スライド http://www.r.dl.itc.u-tokyo.ac.jp/~nakagawa/SML1/kernel1. pdf 2. 前田 英作:痛快!サポートベクトルマシン http://ci.nii.ac.jp/naid/110002764121/ 3. 金谷 健一:これならわかる最適化数学,共立出版
  • 29. END