SlideShare a Scribd company logo
正則化とパス追跡アルゴリズム

            東京大学 三好雄也



1
はじめに




かなり参考にさせて頂きました
http://sora-blue.net/~shogo82148/memo/algorithm/svm/csvm.html
http://ibisml.org/archive/ibisml001/karasuyama.pdf
                                           問題があれば削除します




 2
SVMの確認
       識別問題      y = sgn(𝑤𝑥 + 𝑏 )
                            𝑤𝑥 + 𝑏 =0

                                        sgn(y) = 1 … y ≧0
                                        sgn(y) =-1 … y < 0


𝑤𝑥 𝑖 + 𝑏 =0 は定数倍しても問題ないので
        ⇒   𝑤𝑥 𝑖 + 𝑏 ≧1 … 𝑦 𝑖 = 1
            𝑤𝑥 𝑖 + 𝑏 ≦ -1    … 𝑦𝑖 = 1
        ⇒   𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 )≧1 ←このもとでマージン最大化
    3
ソフトマージン(C-SVM)の復習 1

       線形分離可能ではない場合、以下の式を満たす (w , b) は存
        在しない
         𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 ) ≧ 1

                      そこで、
                             𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 ) < 1

                      となる場合もペナルティ付きで認
                      めるというのがソフトマージン
          線形分離不可能


    4
ソフトマージン(C-SVM)の復習 2


                       𝑤𝑥 + 𝑏 =0


                                   セ、セーフ?




    はずれ幅 ξ 𝑖 = max{1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) ,0}
     ペナルティの大きさC → ペナルティ Cξ 𝑖


5
ソフトマージン(C-SVM)の復習 3

        ペナルティ       Cξ 𝑖 =C×max{1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) ,0}



         B                   ξ𝑖 = 0     分離成功
                          0 < ξ𝑖 ≦ 1    Aの場合
    A                        ξ𝑖 > 1     Bの場合(分離失敗)
                    A
                          C → ∞ でハードマージンと同じ
                B



6
ソフトマージン(C-SVM)の復習 4

          ペナルティ      Cξ 𝑖 =C×max{1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) ,0}

       目的関数の再定義
                        1       2         𝑛
                    min     𝑤       +C   𝑖=1 ξ 𝑖
                    𝑤,𝑏 2

             s.t.   ξ𝑖 ≧ 0                         …(2)
                    ξ 𝑖 ≧ 1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏)
つまりはoverfitしないように、Cでパラメータに制約を加えている
感じ・・・なハズです。この仕組みが正則化!


    7
ソフトマージン(C-SVM)の復習 5

    精確に分けたい!

              1       2         𝑛
          min     𝑤       +C   𝑖=1 ξ 𝑖
              2

                                         過学習を防ぎたい!
                                          (正則化項)




8
SVMのパラメータ推定 1

       数式的な部分は省略します。
       結局のところ、ラグランジュ乗数法で最適化問題を解くことに
        より、以下の式と制約条件が導かれます。
                                                                           双対問題
                   1       2+ C      𝑛
             L   =     𝑤            𝑖=1 ξ 𝑖
                   2
                              𝑛                      𝑛
                       -     𝑖=1   𝜆𝑖 ξ𝑖 -          𝑖=1   𝛼 𝑖 (ξ 𝑖 − 1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 ))

                            𝑛        1
             ⇔ L=          𝑖=1   𝛼𝑖 -         𝑖,𝑗   𝛼 𝑖 𝛼𝑗 𝑦 𝑖 𝑦𝑗 𝑥 𝑖 𝑥𝑗           …(3)
                                     2

        𝜆 𝑖 について       ただし          𝜆 𝑖 ≧0 , 𝛼 𝑖 ≧0
           最大化
                                                                       𝜆 , 𝛼 はラグランジュ乗数
    9
SVMのパラメータ推定 2

    ラグランジュ乗数法の中で以下の式が現れる。
                         𝑛
               w=       𝑖=1   𝛼 𝑖 𝑦𝑖 𝑥𝑖
                   𝑛
                  𝑖=1   𝛼 𝑖 𝑦 𝑖 =0
                  𝜆 𝑖 + 𝛼 𝑖 =C

    (3)式を最大化し、最適な 𝜆 を求め、以下のようにパラメータ
     w* , b* を求める。
                         𝑛
               w* =     𝑖=1   𝛼 𝑖 𝑦𝑖 𝑥𝑖
                         𝑛
               b* =     𝑖=1   𝛼 𝑖 𝑦𝑖 𝑥𝑖

    10
SVMのパラメータ推定 3

    まとめると、ソフトマージンSVMの場合、以下の制約条件が課
     されるものの基本的にはハードマージンSVMと変わりはない
                𝑛
               𝑖=1   𝛼 𝑖 𝑦 𝑖 =0 , 0≦ 𝛼 𝑖 ≦C

    繰り返しとなるが、ソフトマージンSVMは
              ξ𝑖 = 0     or    C→∞

    で、ハードマージンSVMと等しくなる



    11
補足 1 Φ?
             Φ(𝑥 𝑖 )の Φ ←こいつのことです。

    教科書p120にも書いてありますが、写像を意味します。
    今までは比較的線形で分離しやすい例を用いていたため、 Φは用いてい
     ませんでした。
    しかし、以下のような場合、線形で分離するのはまず無理です。

                     そこで、何らかの変換(写像)を行い、
                     分離しやすい形に直してしまおうとい
                     うのがカーネルの発想です。

                            変換前:入力空間
                            変換後:特徴空間

    12
補足 2 Φ?
    変換によるイメージ




    次元を増やす変換だと(これがカーネル!)




    13   フリーソフトによるデータ解析・マイニング Rとカーネル法・サポートベクターマシンより
パス追跡とは

    Cの値が変わると、判別境界が大きく変わる(図12.1)

    Cの決め方の手順
        → Cの候補を設定 → 交差検証法、ブートストラップ
     しかし、k-交差検証法の場合、計算コストが高くなる
       → パス追跡アルゴリズムにより、いちいち最適問題を
          解かずに最適な C の値を追いかける!
    ただし、機械学習系ではまだ注目を集め始めた段階であり、
     結果も安定しないことから、まだまだ検証が必要な手法?


    14
パス追跡アルゴリズム 1
    初期化      C = 𝐶 𝑚𝑖𝑛
    繰り返し     C = 𝐶 𝑚𝑎𝑥 となるまで以下のStepを繰り返す
    出力       C ∈[𝐶 𝑚𝑖𝑛 , 𝐶 𝑚𝑎𝑥 ] と 𝑓𝑐

              パス追跡                        グリッドサーチ
         𝜆𝑖                          𝜆𝑖
                変化点を求める                     1つずつ最適化




                            C                       C
    15
パス追跡アルゴリズム 2

    Step1:直線の方程式を求める
    Step2:直線の変化点(break point)を見つける

                       学習データを3つに分ける
          C変化で
         境界も変化           1.   L = { i | 𝑦 𝑖 𝑓𝑐 <1}
                         2.   R = { i | 𝑦 𝑖 𝑓𝑐 >1}
                         3.   Ε ⇒ 0≦ 𝛼 𝑖 (C) ≦C

                       それぞれの点の状態が違う状態に移る
           Cが増えると      Cが “break point”
          幅が小さくなる


    16
パス追跡アルゴリズム 3




    イメージ的には csvm.svg を参照
         http://sora-blue.net/~shogo82148/memo/algorithm/svm/csvm.html

    それぞれの点の状態が変化していることが確認できる




    17
パス追跡アルゴリズム in R 1
α の推定値
fit <- svmpath(x, y, kernel.function=radial.kernel, param.kernel=sigma)

x …200×2 の2次元 y …200個のラベル(-1,1)

Svmpath
⇒ fit $ lambda : the value of the regularization parameter …C , 0~45の500弱個
⇒ fit $ alpha : αの値 …200×500弱


計算の高速化
system.time(fit <- svmpath(x,y,kernel.function=radial.kernel,param.kernel=sigma))
system.time(for (i in 1:length(C.list))
           ksvm(x,y,kernel="rbfdot",kpar=list(sigma=sigma),C=C.list[i]))

僕のPCだと
           Cの数…414個 svmpath → 0.11秒 ksvm → 30.01秒でした

   18
パス追跡アルゴリズム in R 2
       dat$x
                 最後のコード(path-svm.r)でも何らか
                 の方法で、カーネル法を用います。


                 ただ、このカーネルにガウシアンカー
                 ネルを用いる場合、 “σ” の値をどうす
                 るかという問題も生じます。


                 そこで、最後のコードではCを100段階
                 に変化させるとともに “σ” の値も10段
                 階で変化させています。

     〇:1   〇:2
19
パス追跡アルゴリズム in R 3
sigma.list <- 1/quantile(dist(x),prob=seq(0.01,0.5,l=20))^2

for (sigma in sigma.list){
           print(sigma)
           err <- c()
           for (j in 1:kcv){
                                                              C-SVM
                        ## k-交差検証法
                        tmpx <- x[idx!=j,]
                        tmpy <- y[idx!=j]
                        fit <- svmpath(tmpx, tmpy,
                                   + kernel.function=radial.kernel, param.kernel=sigma)
                        pred <- predict(fit,x[idx==j,],1/C.list,type="class")
                        err <- rbind(err, colMeans(pred != y[idx==j]))
           }
           cverr <- rbind(cverr,colMeans(err))
}

 20
まとめ


    SVMにおけるパス追跡アルゴリズムとは、交差検証法の計算
     量を軽減することを目的としたものであり、近年、その有効性
     が認識されつつある。
    ただし、最適化問題としては既に確立しているものの、機械
     学習においては統計的性質など研究課題は多い。
    また、値も安定しない。
    なお、パターン認識の本では線形までしか示されていない



    21

More Related Content

What's hot

機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
Satoshi Hara
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
Deep Learning JP
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
 
Non-autoregressive text generation
Non-autoregressive text generationNon-autoregressive text generation
Non-autoregressive text generation
nlab_utokyo
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
弘毅 露崎
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
AGIRobots
 
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
Deep Learning JP
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
Seiya Tokui
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
Deep Learning JP
 
Long-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向についてLong-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向について
Plot Hong
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
Sho Tatsuno
 
[DL輪読会]Human Pose Estimation @ ECCV2018
[DL輪読会]Human Pose Estimation @ ECCV2018[DL輪読会]Human Pose Estimation @ ECCV2018
[DL輪読会]Human Pose Estimation @ ECCV2018
Deep Learning JP
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
Asai Masataro
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
Deep Learning JP
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
Motokawa Tetsuya
 
変分推論と Normalizing Flow
変分推論と Normalizing Flow変分推論と Normalizing Flow
変分推論と Normalizing FlowAkihiro Nitta
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Yoshitaka Ushiku
 

What's hot (20)

機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
Non-autoregressive text generation
Non-autoregressive text generationNon-autoregressive text generation
Non-autoregressive text generation
 
PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説PCAの最終形態GPLVMの解説
PCAの最終形態GPLVMの解説
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
[DL輪読会]深層強化学習はなぜ難しいのか?Why Deep RL fails? A brief survey of recent works.
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 
Long-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向についてLong-Tailed Classificationの最新動向について
Long-Tailed Classificationの最新動向について
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
[DL輪読会]Human Pose Estimation @ ECCV2018
[DL輪読会]Human Pose Estimation @ ECCV2018[DL輪読会]Human Pose Estimation @ ECCV2018
[DL輪読会]Human Pose Estimation @ ECCV2018
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
変分推論と Normalizing Flow
変分推論と Normalizing Flow変分推論と Normalizing Flow
変分推論と Normalizing Flow
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 

Viewers also liked

SVMについて
SVMについてSVMについて
SVMについて
mknh1122
 
Rによる主成分分析 入門
Rによる主成分分析 入門Rによる主成分分析 入門
Rによる主成分分析 入門Hiro47
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化Miyoshi Yuya
 
ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門Miyoshi Yuya
 
Rによる分類木 入門
Rによる分類木 入門Rによる分類木 入門
Rによる分類木 入門
Hiro47
 
多変量解析
多変量解析多変量解析
多変量解析
Yoshihiro_Handa
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別
Hiroshi Nakagawa
 
Randomforestで高次元の変数重要度を見る #japanr LT
 Randomforestで高次元の変数重要度を見る #japanr LT Randomforestで高次元の変数重要度を見る #japanr LT
Randomforestで高次元の変数重要度を見る #japanr LT
Akifumi Eguchi
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)Eric Sartre
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
Sercan Ahi
 
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
Nobuhiro Nakayama
 
はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~
宏喜 佐野
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
Yuta Imai
 
機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレストTeppei Baba
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Koichi Hamada
 
多変量解析の授業(駒場キャンパス)の演習で話すために作った資料
多変量解析の授業(駒場キャンパス)の演習で話すために作った資料多変量解析の授業(駒場キャンパス)の演習で話すために作った資料
多変量解析の授業(駒場キャンパス)の演習で話すために作った資料
Toshiyuki Shimono
 

Viewers also liked (18)

SVMについて
SVMについてSVMについて
SVMについて
 
Rによる主成分分析 入門
Rによる主成分分析 入門Rによる主成分分析 入門
Rによる主成分分析 入門
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門
 
決定木学習
決定木学習決定木学習
決定木学習
 
Rによる分類木 入門
Rによる分類木 入門Rによる分類木 入門
Rによる分類木 入門
 
多変量解析
多変量解析多変量解析
多変量解析
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別
 
Randomforestで高次元の変数重要度を見る #japanr LT
 Randomforestで高次元の変数重要度を見る #japanr LT Randomforestで高次元の変数重要度を見る #japanr LT
Randomforestで高次元の変数重要度を見る #japanr LT
 
正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)正則化つき線形モデル(「入門機械学習第6章」より)
正則化つき線形モデル(「入門機械学習第6章」より)
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
 
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
JAWS-UG CLI専門支部 #67 Amazon Machine Learning 入門
 
はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~はじめよう多変量解析~主成分分析編~
はじめよう多変量解析~主成分分析編~
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト機会学習ハッカソン:ランダムフォレスト
機会学習ハッカソン:ランダムフォレスト
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 
多変量解析の授業(駒場キャンパス)の演習で話すために作った資料
多変量解析の授業(駒場キャンパス)の演習で話すために作った資料多変量解析の授業(駒場キャンパス)の演習で話すために作った資料
多変量解析の授業(駒場キャンパス)の演習で話すために作った資料
 

Similar to パターン認識 第12章 正則化とパス追跡アルゴリズム

Quantum Support Vector Machine
Quantum Support Vector MachineQuantum Support Vector Machine
Quantum Support Vector Machine
Yuma Nakamura
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
hirokazutanaka
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
Tomoki Yoshida
 
(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM
Morpho, Inc.
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系tmaehara
 
データ解析3 最適化の復習
データ解析3 最適化の復習データ解析3 最適化の復習
データ解析3 最適化の復習
Hirotaka Hachiya
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
sleepy_yoshi
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
Masayuki Tanaka
 
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
Kenyu Uehara
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
wada, kazumi
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011Preferred Networks
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531nwpmq516
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
Akinori Abe
 
コンピュータ先端ガイド2巻3章勉強会(SVM)
コンピュータ先端ガイド2巻3章勉強会(SVM)コンピュータ先端ガイド2巻3章勉強会(SVM)
コンピュータ先端ガイド2巻3章勉強会(SVM)
Masaya Kaneko
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
satanic
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
ShoutoYonekura
 
Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)
Naotaka Yamada
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
Masahiro Suzuki
 
[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3
Teruyuki Sakaue
 

Similar to パターン認識 第12章 正則化とパス追跡アルゴリズム (20)

Quantum Support Vector Machine
Quantum Support Vector MachineQuantum Support Vector Machine
Quantum Support Vector Machine
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
 
(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM(文献紹介) 画像復元:Plug-and-Play ADMM
(文献紹介) 画像復元:Plug-and-Play ADMM
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
データ解析3 最適化の復習
データ解析3 最適化の復習データ解析3 最適化の復習
データ解析3 最適化の復習
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
 
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
サポートベクターマシン(SVM)の数学をみんなに説明したいだけの会
 
自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare自然科学の統計学2.2 slideshare
自然科学の統計学2.2 slideshare
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
コンピュータ先端ガイド2巻3章勉強会(SVM)
コンピュータ先端ガイド2巻3章勉強会(SVM)コンピュータ先端ガイド2巻3章勉強会(SVM)
コンピュータ先端ガイド2巻3章勉強会(SVM)
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎逐次モンテカルロ法の基礎
逐次モンテカルロ法の基礎
 
Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)Coreset+SVM (論文紹介)
Coreset+SVM (論文紹介)
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
 
[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3
 

パターン認識 第12章 正則化とパス追跡アルゴリズム

  • 1. 正則化とパス追跡アルゴリズム 東京大学 三好雄也 1
  • 3. SVMの確認  識別問題 y = sgn(𝑤𝑥 + 𝑏 ) 𝑤𝑥 + 𝑏 =0 sgn(y) = 1 … y ≧0 sgn(y) =-1 … y < 0 𝑤𝑥 𝑖 + 𝑏 =0 は定数倍しても問題ないので ⇒ 𝑤𝑥 𝑖 + 𝑏 ≧1 … 𝑦 𝑖 = 1 𝑤𝑥 𝑖 + 𝑏 ≦ -1 … 𝑦𝑖 = 1 ⇒ 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 )≧1 ←このもとでマージン最大化 3
  • 4. ソフトマージン(C-SVM)の復習 1  線形分離可能ではない場合、以下の式を満たす (w , b) は存 在しない 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 ) ≧ 1 そこで、 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 ) < 1 となる場合もペナルティ付きで認 めるというのがソフトマージン 線形分離不可能 4
  • 5. ソフトマージン(C-SVM)の復習 2 𝑤𝑥 + 𝑏 =0 セ、セーフ? はずれ幅 ξ 𝑖 = max{1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) ,0} ペナルティの大きさC → ペナルティ Cξ 𝑖 5
  • 6. ソフトマージン(C-SVM)の復習 3 ペナルティ Cξ 𝑖 =C×max{1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) ,0} B ξ𝑖 = 0 分離成功 0 < ξ𝑖 ≦ 1 Aの場合 A ξ𝑖 > 1 Bの場合(分離失敗) A C → ∞ でハードマージンと同じ B 6
  • 7. ソフトマージン(C-SVM)の復習 4 ペナルティ Cξ 𝑖 =C×max{1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) ,0}  目的関数の再定義 1 2 𝑛 min 𝑤 +C 𝑖=1 ξ 𝑖 𝑤,𝑏 2 s.t. ξ𝑖 ≧ 0 …(2) ξ 𝑖 ≧ 1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏) つまりはoverfitしないように、Cでパラメータに制約を加えている 感じ・・・なハズです。この仕組みが正則化! 7
  • 8. ソフトマージン(C-SVM)の復習 5 精確に分けたい! 1 2 𝑛 min 𝑤 +C 𝑖=1 ξ 𝑖 2 過学習を防ぎたい! (正則化項) 8
  • 9. SVMのパラメータ推定 1  数式的な部分は省略します。  結局のところ、ラグランジュ乗数法で最適化問題を解くことに より、以下の式と制約条件が導かれます。 双対問題 1 2+ C 𝑛 L = 𝑤 𝑖=1 ξ 𝑖 2 𝑛 𝑛 - 𝑖=1 𝜆𝑖 ξ𝑖 - 𝑖=1 𝛼 𝑖 (ξ 𝑖 − 1- 𝑦 𝑖 (𝑤𝑥 𝑖 + 𝑏 )) 𝑛 1 ⇔ L= 𝑖=1 𝛼𝑖 - 𝑖,𝑗 𝛼 𝑖 𝛼𝑗 𝑦 𝑖 𝑦𝑗 𝑥 𝑖 𝑥𝑗 …(3) 2 𝜆 𝑖 について ただし 𝜆 𝑖 ≧0 , 𝛼 𝑖 ≧0 最大化 𝜆 , 𝛼 はラグランジュ乗数 9
  • 10. SVMのパラメータ推定 2  ラグランジュ乗数法の中で以下の式が現れる。 𝑛 w= 𝑖=1 𝛼 𝑖 𝑦𝑖 𝑥𝑖 𝑛 𝑖=1 𝛼 𝑖 𝑦 𝑖 =0 𝜆 𝑖 + 𝛼 𝑖 =C  (3)式を最大化し、最適な 𝜆 を求め、以下のようにパラメータ w* , b* を求める。 𝑛 w* = 𝑖=1 𝛼 𝑖 𝑦𝑖 𝑥𝑖 𝑛 b* = 𝑖=1 𝛼 𝑖 𝑦𝑖 𝑥𝑖 10
  • 11. SVMのパラメータ推定 3  まとめると、ソフトマージンSVMの場合、以下の制約条件が課 されるものの基本的にはハードマージンSVMと変わりはない 𝑛 𝑖=1 𝛼 𝑖 𝑦 𝑖 =0 , 0≦ 𝛼 𝑖 ≦C  繰り返しとなるが、ソフトマージンSVMは ξ𝑖 = 0 or C→∞ で、ハードマージンSVMと等しくなる 11
  • 12. 補足 1 Φ? Φ(𝑥 𝑖 )の Φ ←こいつのことです。  教科書p120にも書いてありますが、写像を意味します。  今までは比較的線形で分離しやすい例を用いていたため、 Φは用いてい ませんでした。  しかし、以下のような場合、線形で分離するのはまず無理です。 そこで、何らかの変換(写像)を行い、 分離しやすい形に直してしまおうとい うのがカーネルの発想です。 変換前:入力空間 変換後:特徴空間 12
  • 13. 補足 2 Φ?  変換によるイメージ  次元を増やす変換だと(これがカーネル!) 13 フリーソフトによるデータ解析・マイニング Rとカーネル法・サポートベクターマシンより
  • 14. パス追跡とは  Cの値が変わると、判別境界が大きく変わる(図12.1)  Cの決め方の手順 → Cの候補を設定 → 交差検証法、ブートストラップ しかし、k-交差検証法の場合、計算コストが高くなる → パス追跡アルゴリズムにより、いちいち最適問題を 解かずに最適な C の値を追いかける!  ただし、機械学習系ではまだ注目を集め始めた段階であり、 結果も安定しないことから、まだまだ検証が必要な手法? 14
  • 15. パス追跡アルゴリズム 1  初期化 C = 𝐶 𝑚𝑖𝑛  繰り返し C = 𝐶 𝑚𝑎𝑥 となるまで以下のStepを繰り返す  出力 C ∈[𝐶 𝑚𝑖𝑛 , 𝐶 𝑚𝑎𝑥 ] と 𝑓𝑐 パス追跡 グリッドサーチ 𝜆𝑖 𝜆𝑖 変化点を求める 1つずつ最適化 C C 15
  • 16. パス追跡アルゴリズム 2  Step1:直線の方程式を求める  Step2:直線の変化点(break point)を見つける 学習データを3つに分ける C変化で 境界も変化 1. L = { i | 𝑦 𝑖 𝑓𝑐 <1} 2. R = { i | 𝑦 𝑖 𝑓𝑐 >1} 3. Ε ⇒ 0≦ 𝛼 𝑖 (C) ≦C それぞれの点の状態が違う状態に移る Cが増えると Cが “break point” 幅が小さくなる 16
  • 17. パス追跡アルゴリズム 3  イメージ的には csvm.svg を参照 http://sora-blue.net/~shogo82148/memo/algorithm/svm/csvm.html  それぞれの点の状態が変化していることが確認できる 17
  • 18. パス追跡アルゴリズム in R 1 α の推定値 fit <- svmpath(x, y, kernel.function=radial.kernel, param.kernel=sigma) x …200×2 の2次元 y …200個のラベル(-1,1) Svmpath ⇒ fit $ lambda : the value of the regularization parameter …C , 0~45の500弱個 ⇒ fit $ alpha : αの値 …200×500弱 計算の高速化 system.time(fit <- svmpath(x,y,kernel.function=radial.kernel,param.kernel=sigma)) system.time(for (i in 1:length(C.list)) ksvm(x,y,kernel="rbfdot",kpar=list(sigma=sigma),C=C.list[i])) 僕のPCだと Cの数…414個 svmpath → 0.11秒 ksvm → 30.01秒でした 18
  • 19. パス追跡アルゴリズム in R 2 dat$x 最後のコード(path-svm.r)でも何らか の方法で、カーネル法を用います。 ただ、このカーネルにガウシアンカー ネルを用いる場合、 “σ” の値をどうす るかという問題も生じます。 そこで、最後のコードではCを100段階 に変化させるとともに “σ” の値も10段 階で変化させています。 〇:1 〇:2 19
  • 20. パス追跡アルゴリズム in R 3 sigma.list <- 1/quantile(dist(x),prob=seq(0.01,0.5,l=20))^2 for (sigma in sigma.list){ print(sigma) err <- c() for (j in 1:kcv){ C-SVM ## k-交差検証法 tmpx <- x[idx!=j,] tmpy <- y[idx!=j] fit <- svmpath(tmpx, tmpy, + kernel.function=radial.kernel, param.kernel=sigma) pred <- predict(fit,x[idx==j,],1/C.list,type="class") err <- rbind(err, colMeans(pred != y[idx==j])) } cverr <- rbind(cverr,colMeans(err)) } 20
  • 21. まとめ  SVMにおけるパス追跡アルゴリズムとは、交差検証法の計算 量を軽減することを目的としたものであり、近年、その有効性 が認識されつつある。  ただし、最適化問題としては既に確立しているものの、機械 学習においては統計的性質など研究課題は多い。  また、値も安定しない。  なお、パターン認識の本では線形までしか示されていない 21