SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
はじめてのパターン認識
第8章
「サポートベクトルマシーン」
後半 
2013/11/26 @リクルート

2013年11月26日火曜日
あんた誰?
名前           
伊藤 徹郎 (@tetsuroito)
所属
株式会社ALBERT データ分析部
好きなもの
サッカー、スキー、オレオ!

2013年11月26日火曜日
アジェンダ

1、動径基底カーネル(RBFカーネル)
2、ν-サポートベクトルマシーン
3、1クラスサポートベクトルマシーン

2013年11月26日火曜日
ちょっとSVMの復習
SVMは下記のように、分類したい識別境界を求めるのでしたね。
! 識 別境界:! T x + b = 0
" !:識別境界の係数ベクトル(学習データから求める)
" x:学習データ(d次元の特徴変数!データ数N→d!Nの

列)

" b:バイアス項(学習データから求める)
!
t = +1

t = -1

2013年11月26日火曜日

線形識別関数
! Tx + b = 0
ちょっとSVMの復習
制約条件付きの凸計画問題を解く場合、ラグランジュの未定乗数法を用いる
SVMの場合は制約条件が不等式となる

主問題
評価関数(最小化):Lp(ω) = ½・ωTω ←マージンの最小化
不等式制約条件:ti(ωTxi+b) ≧ 1

←判別

ラグランジュ関数(これで制約付き凸計画を解く)
N
1 T
~
L p (# , b, $ ) = # # " ! $ i (ti (# T xi + b )" 1)
2
i =1
αiはラグランジュ未定定数
α=(α1,・・・, αN)

2013年11月26日火曜日
ちょっとSVMの復習
! L d (!)を最
" L p (#)を最

化する問題を「双対問題」と呼ぶ"
化する#を求めるほうが主問題!

" 双対問題で対象とするラグランジュ関数
N
1 N N
評価関数 Ld (# ) = ! "" # i ti xi# j t j x j + " # i
2 i =1 j =1
i =1
(最 化)

1 T
= # 1 ! # H#
2
#Tt = 0
T

制約条件

T

H = ( H ij = ti t j xi x j )
t = (t1 , , , t N )T

2013年11月26日火曜日

#からじゃなく、

!から鞍点を探す
ちょっとカーネルトリックの復習
! 線 形分離が上 くできない場合でも、 線形変換で
元空間に写像すれば上 く分離できる場合がある

次

!  線形写像
" d次元の学習データx∈R d
線形変換!でM次元空間に写像

" !(x)=(! 0 (x)=1, ! 1 (x),…,! M
バイアス項

2013年11月26日火曜日

写像結果

(x)) T

識別境界
線形変換!
!0
動径基底カーネル(RBFカーネル)
多項式カーネルとは別にもう1つ内積で表すカーネルがあります。

σ:カーネル関数の広がりを制御するパラメータ
N

N

T
h (! ( x )) = ! 0 " ( x ) = !! i ti" T ( xi ) ! ( x ) = !! i ti K ( xi , x )
i=1

i=1
ココ!

σが大きいとき:入力データxから遠く離れている広範囲のサポートベクトルが関与
σが小さいとき:入力データxの近傍のサポートベクトルのみが関与

2013年11月26日火曜日
ちょっとだけ正規分布の話
正規分布といえば、下記の図がぱっと思い浮かびます。

σを大きくした場合、この正規分布の高さが低くなり横に散らばります。
σを小さくした場合は、山の凸が急になり、分布の裾野が薄くなります。

2013年11月26日火曜日
RBFカーネルの特徴
RBFカーネルの非線形特徴ベクトルは無限次元となるようです。

ただの式展開なので、詳細は教科書見てちょ

よく使われるガウシアンカーネルもこのRBFカーネルの一部のようです。
以前、同一種だと思っていましたが、完全一致ではないもよう。
詳しくはわからないので、誰か知ってたら教えてください。

2013年11月26日火曜日
Rでの実行例
library(MASS)内のPima.trでRBFカーネルの識別具合を実行する例が載っている。
WHOがインディアン女性の健康データを取得したものらしい。
> Pima.tr
npreg glu bp skin bmi ped age type
1
5 86 68 28 30.2 0.364 24 No
2
7 195 70 33 25.1 0.163 55 Yes
3
5 77 82 41 35.8 0.156 35 No
4
0 165 76 43 47.9 0.259 26 No
5
0 107 60 25 26.4 0.133 23 No
6
5 97 76 27 35.6 0.378 52 Yes
7
3 83 58 31 34.3 0.336 25 No
8
1 193 50 16 25.9 0.655 24 No
9
3 142 80 15 32.4 0.200 63 No
10
2 128 78 37 43.3 1.224 31 Yes

2013年11月26日火曜日

このtypeをglu、bmiを用いて
kernlabパッケージのksvm関数を用いて、
RBFカーネルのσとCのパラメータを
調整して、その識別精度を検証。
Rでの実行例
x1_svm1 <- ksvm(type~glu+bmi,data=x,kernel="rbfdot",kpar=list(sigma=0.2),C=1)
※実行コードがないので、とりあえず加法してみた。
※カーネル選択はRBF
※σとCは引数で調節

2013年11月26日火曜日
Νーサポートベクトルマシーン
ソフトマージン識別機では、誤識別数の上限を抑えるためにCという定数パラメー
タを使っていました。
N
N
N
1 T
~
L p ($ , b, % , # , µ ) = $ $ + C ! # i " ! % i (ti ($ T xi + b )" 1 + # i )" ! µi# i
2
i =1
i =1
i =1

しかし、母集団からの標本が変わると誤識別数も変化してしまいます。

学習器の複雑さと達成可能な誤識別率には関連性があるので、
そのトレードオフをνというパラメータを介したものがν-SVMです。

※タイトルのはどうしても小文字で表記できなかったので大文字表記です。
すみません。。

2013年11月26日火曜日
何を変えたの?
CクラスSVMの場合の損失関数は

ξi =f +(1- tif (xi))
ν-SVMの場合の損失関数は

ξi =f +(ρ- tif (xi))
ρの値を最適化することを考えます。
学習機械は損失を小さくする方にはたらくので、損失関数としては
マージンの大きさを決める値ρが小さければ小さいほど損失は小さくなる。

しかし、小さくなりすぎると汎化性能が下がる。

2013年11月26日火曜日
主問題
先ほどの汎化性能の問題もあり、次のように定式化します。
評価関数(最小化)

不等式制約条件

2013年11月26日火曜日
KKT条件
数式書くの心が折れたんで、P129の(8.36)と(1)∼(8)を参照ください。

(7),(8)式が相補性条件となるので、(8.36)式に代入することで、
次のような双対問題を得る事ができます!

2013年11月26日火曜日
双対問題
評価関数(最大化)

制約条件

2013年11月26日火曜日
ニューの意味って何
サポートベクトルはai>0となる学習データ
サポートベクトルでないデータに対しては、ai=0で、最大値は1/N

×サポートベクトル数
サポート
ベクトル

νはサポートベクトルの割合の下限を与えていることになります。

2013年11月26日火曜日
ニューの意味って何
また、KKT条件(8)からマージンを超えてξi>0となる場合、μi=0なので
KKT条件(3)から、αi=1/Nとなるので、

上限サポート

上限でない

ベクトル

サポートベクトル

=1/N×上限サポートベクトル数+
上限でない

※ν≧1/N×上限サポートベクトル数

サポートベクトル

νはマージン誤り(上限サポートベクトルの割合の上限)を与えている

2013年11月26日火曜日
Rでの実行例2
どうやらν-SVMは先ほどのksvm関数の引数のnuを指定すればできるようだ

サポート
ベクトルの割合
(上側)

上限
サポートベクトルの割合
(下側)

νmax=0.68以上の領域では意味がない。(下限と上限逆転しちゃうから?)

2013年11月26日火曜日
1クラスサポートベクトルマシン
C-SVMやν-SVMは2クラスの識別関数を構成するものだった。

SVMを1クラスの学習に用いて、入力データが
そのクラスに入るか入らないかのみを判断する
方法が、One-Class SVM
■主な用途
新規性判断、例外検出、外れ値検出など‥

2013年11月26日火曜日
やり方は2種類あるらしい
1、ν-SVMを用いてマージン境界の超平面を
  用いて、正負を判定する方法
2、サポートベクトル領域記述法
  正例を超球で包み、その半径を最適化
テキストでは1を紹介!

2013年11月26日火曜日
1クラスSVMの概念図
x

Φ(x)
!
w

!

○のデータを非線形変換して学習し、識別境界を挟んで原点と反対側に来るように
学習。
○が正例、×は負例ということになる。
※すべて正例でも外れ値検出される懸念があるので、注意!

2013年11月26日火曜日
主問題と双対問題

2013年11月26日火曜日
識別関数

f(x)=1の時が正例
f(x)=-1の時が外れ値となります。

2013年11月26日火曜日
Rでの実行例3
実はksvm関数の引数設定で、type=”one-svc”と指定するとできるっぽい

実行例では、σ=4、ν=0.01で学習した時の例が出ていますね。

2013年11月26日火曜日
1クラスSVMをRでやってみる
ちょっと途中で息切れしちゃったのですが、1クラスSVM試してみたので、
勘弁してください。
x,y座標に乱数を100個
RBFカーネルを選択
ν=0.01
σ=0.1
赤:正例
青:負例

2013年11月26日火曜日
1クラスSVMをRでやってみる
ちょっと途中で息切れしちゃったのですが、1クラスSVM試してみたので、
勘弁してください。
x,y座標に乱数を10000個
RBFカーネルを選択
ν=0.3
σ=0.1
赤:正例
青:負例

2013年11月26日火曜日
なんかちゃんとできてるっぽい!

2013年11月26日火曜日
コードも載せとくね
x <- rnorm(100)
y <- rnorm(100)
data <- data.frame(type=1, x, y)
library(kernlab)
data.ksvm<- ksvm(type~.,data=data,type="one-svc",kernel="rbfdot",kpar=list
(sigma=0.1),nu=0.01,cross=10)
data.ksvm.predict <- predict(data.ksvm)
data.ksvm.predict <- ifelse(data.ksvm.predict==TRUE, 1, 2)
data.result <- cbind(data,data.ksvm.predict)
plot(data.result[,2:3], pch=21, bg=c("red","blue")[data.result$data.ksvm.predict])
1万はちょっと時間かかったから、前者の例です

2013年11月26日火曜日
あ、そういえば!

2013年11月26日火曜日
Japan.Rでトークします

マサカリ投げないでくだしあ
2013年11月26日火曜日
おわり

ご清聴ありがとうございました!

2013年11月26日火曜日

Weitere ähnliche Inhalte

Was ist angesagt?

PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)Yasunori Ozaki
 
PRML 2.3節 - ガウス分布
PRML 2.3節 - ガウス分布PRML 2.3節 - ガウス分布
PRML 2.3節 - ガウス分布Yuki Soma
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式Hiroshi Nakagawa
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理Taiji Suzuki
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理Taiji Suzuki
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?nishio
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-sleepy_yoshi
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章Takushi Miki
 
Fisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsFisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsTakao Yamanaka
 
はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半Prunus 1350
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Taiji Suzuki
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料at grandpa
 
研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節Koji Matsuda
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2matsuolab
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)Masahiro Suzuki
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8matsuolab
 

Was ist angesagt? (20)

PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
PRML 2.3節 - ガウス分布
PRML 2.3節 - ガウス分布PRML 2.3節 - ガウス分布
PRML 2.3節 - ガウス分布
 
クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式クラシックな機械学習入門:付録:よく使う線形代数の公式
クラシックな機械学習入門:付録:よく使う線形代数の公式
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理数学で解き明かす深層学習の原理
数学で解き明かす深層学習の原理
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
 
PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章
 
正準相関分析
正準相関分析正準相関分析
正準相関分析
 
Fisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight MapsFisher線形判別分析とFisher Weight Maps
Fisher線形判別分析とFisher Weight Maps
 
はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
 
研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節研究室内PRML勉強会 8章1節
研究室内PRML勉強会 8章1節
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
PRML輪読#8
PRML輪読#8PRML輪読#8
PRML輪読#8
 
Chapter2.3.6
Chapter2.3.6Chapter2.3.6
Chapter2.3.6
 

Mehr von tetsuro ito

[Up用]rでqr
[Up用]rでqr[Up用]rでqr
[Up用]rでqrtetsuro ito
 
20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5 20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5 tetsuro ito
 
DataOps in Moneyforward
DataOps in Moneyforward DataOps in Moneyforward
DataOps in Moneyforward tetsuro ito
 
20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料tetsuro ito
 
20161029 dots machine learning in money forward
20161029 dots machine learning in money forward20161029 dots machine learning in money forward
20161029 dots machine learning in money forwardtetsuro ito
 
20160906 bq sushi
20160906 bq sushi20160906 bq sushi
20160906 bq sushitetsuro ito
 
TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化tetsuro ito
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysistetsuro ito
 
20150303続パタ5章後半
20150303続パタ5章後半20150303続パタ5章後半
20150303続パタ5章後半tetsuro ito
 
PRML読書会1スライド(公開用)
PRML読書会1スライド(公開用)PRML読書会1スライド(公開用)
PRML読書会1スライド(公開用)tetsuro ito
 
20140614 tokyo r lt
20140614 tokyo r lt 20140614 tokyo r lt
20140614 tokyo r lt tetsuro ito
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」tetsuro ito
 
20140204はじパタlt
20140204はじパタlt20140204はじパタlt
20140204はじパタlttetsuro ito
 
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」tetsuro ito
 
Tokyo R LT 20131109
Tokyo R LT 20131109Tokyo R LT 20131109
Tokyo R LT 20131109tetsuro ito
 
はじパタ2章
はじパタ2章はじパタ2章
はじパタ2章tetsuro ito
 
第31回TokyoR LT資料
第31回TokyoR LT資料第31回TokyoR LT資料
第31回TokyoR LT資料tetsuro ito
 
集合知プログラミング5章発表
集合知プログラミング5章発表集合知プログラミング5章発表
集合知プログラミング5章発表tetsuro ito
 
集合知プログラミング11章
集合知プログラミング11章集合知プログラミング11章
集合知プログラミング11章tetsuro ito
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料tetsuro ito
 

Mehr von tetsuro ito (20)

[Up用]rでqr
[Up用]rでqr[Up用]rでqr
[Up用]rでqr
 
20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5 20170912 data analyst meetup tokyo vol.5
20170912 data analyst meetup tokyo vol.5
 
DataOps in Moneyforward
DataOps in Moneyforward DataOps in Moneyforward
DataOps in Moneyforward
 
20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料20170207 bigdata analytics_tokyo講演資料
20170207 bigdata analytics_tokyo講演資料
 
20161029 dots machine learning in money forward
20161029 dots machine learning in money forward20161029 dots machine learning in money forward
20161029 dots machine learning in money forward
 
20160906 bq sushi
20160906 bq sushi20160906 bq sushi
20160906 bq sushi
 
TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化
 
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
20150531分析プラットホームとその技術(bizreach) cookpad ito #dcube_analysis
 
20150303続パタ5章後半
20150303続パタ5章後半20150303続パタ5章後半
20150303続パタ5章後半
 
PRML読書会1スライド(公開用)
PRML読書会1スライド(公開用)PRML読書会1スライド(公開用)
PRML読書会1スライド(公開用)
 
20140614 tokyo r lt
20140614 tokyo r lt 20140614 tokyo r lt
20140614 tokyo r lt
 
20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」20140329 tokyo r lt 「カーネルとsvm」
20140329 tokyo r lt 「カーネルとsvm」
 
20140204はじパタlt
20140204はじパタlt20140204はじパタlt
20140204はじパタlt
 
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
Japan.r 2013 「実ビジネスデータへのrの活用とその限界」
 
Tokyo R LT 20131109
Tokyo R LT 20131109Tokyo R LT 20131109
Tokyo R LT 20131109
 
はじパタ2章
はじパタ2章はじパタ2章
はじパタ2章
 
第31回TokyoR LT資料
第31回TokyoR LT資料第31回TokyoR LT資料
第31回TokyoR LT資料
 
集合知プログラミング5章発表
集合知プログラミング5章発表集合知プログラミング5章発表
集合知プログラミング5章発表
 
集合知プログラミング11章
集合知プログラミング11章集合知プログラミング11章
集合知プログラミング11章
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
 

はじパタ8章 svm