SlideShare a Scribd company logo
1 of 27
Download to read offline
第14回「はじめてのパターン認識」読
書会
第11章 識別器の組み合わせによる性能強化
後編
@gepuro
●
11.3 バギング
● 複数の識別器を組み合わせる方法
– 学習データのブートストラップサンプル(復元抽出)を用
いて複数の識別器を学習させ、多数決で決める
– それぞれの識別器は弱識別器
● ランダム識別器よりは高性能
● 並列処理可能
● 識別器間の相関が高くなり、性能強化出来ない可
能性あり
– ブースティングやランダムフォレストで欠点を補う
11.4 アダブースト
● ブースティング
– 弱識別器の学習結果を参考にしながら、次の弱識別器
を学習する
11.4.1 アダブースト学習アルゴリズム
● 2クラス問題の識別器
– 多クラス問題には一対他識別器
● 弱識別器の学習結果にしたがって学習データに重
みが付く
– 誤った学習データ:重み大きく
– 正しく識別された学習データ:重み小さく
アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
全ての学習データの
重みを同じにする
アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
弱識別ごとに計算する
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
は、識別関数の出力が教師と一致したら0、一
致しないと1を返す
E_mは弱識別器の定義より、E_m<1/2
アダブーストのアルゴリズム
アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
誤差が小さい程、大きな値を取る。
アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
正しく分類出来なかった学習データの
重みをexp(α_m)倍する。
アダブーストのアルゴリズム
1) 重みを (i=1,...,N)に初期化する
2) m=1,...,Mについて以下を繰り返す
a) 識別器y_m(x)を重み付き誤差関数が最小になる
ように学習する
b) 識別器y_m(x)に対する重みα_mを計算する
c) 重み を更新する
3) 入力xに対する識別結果をY_M(x)に従って出力す
る
精度が高い識別器の重みを大きくし、精度が低い識
別器の重みを小さくする。
sign(a)はa>0で+1、a=0で0、a<0で-1を出力する
11.5 ランダムフォレスト
バギングを改良し、決定木の各非終端ノードにおい
て識別に用いる特量をあらかじめ決められた数だけ
ランダムに選択する手法
● 森のサイズによる過学習が生じない
11.5.2
ランダムフォレストによるデータ解析
● 森のサイズによる誤り率の変化
● 特徴の重要さに関する情報
● 学習データ間の近さ
11.5.2
ランダムフォレストによるデータ解析
● 森のサイズによる誤り率の変化
○ 個別クラスととOut-Of-Bag誤り率
■ Out-Of-Bag:ブートストラップサンプリングに使
われなかった学習データが使われていないな
い部分森で、その学習データをテストデータに
して誤りを評価する
● 特徴の重要さに関する情報
● 学習データ間の近さ
個別のクラスとOut-Of-Bag誤り率
rf <- randomForest(Species~.,data=iris)
plot(rf)
Out-Of-Bag
setosa
virginica
versicolor
11.5.2
ランダムフォレストによるデータ解析
● 森のサイズによる誤り率の変化
● 特徴の重要さに関する情報
○ 各特長がノード分割に使われたときの不純度(ジ
ニ係数)の減少量を森全体で平均した量
○ 部分依存グラフ
■ ある特徴の値がクラス識別にどのように寄与し
ているかを、他の特徴の寄与を加味したうえで
見る指標
■ 分析対象の特徴のみをxで置換したベクトルを
用いる
● 学習データ間の近さ
ジニ係数の減少量と特徴の重要度
varImpPlot(rf)
部分依存グラフ
setosa
virginica
versicolor
:i番目の置換ベクトル
:クラスkの得票率
:クラスkの置換された特徴値x
に対する部分依存グラフ
部分依存グラフ
setosa
virginica
versicolor
もう一つ描いてみた。
部分依存グラフのプロット(Sepal.
Length)
partialPlot(rf, subset(iris,iris$Species=="setosa"), Sepal.Length, main =
"Sepal.Length", xlab = "Sepal.Lengh", ylab = "Partial Dependency", col =
"red",xlim=c(4,8),ylim=c(-30,30))
par(new=T)
partialPlot(rf, subset(iris,iris$Species=="versicolor"), Sepal.Length, main =
"Sepal.Length", xlab = "Sepal.Lengh", ylab = "Partial Dependency", col =
"green",xlim=c(4,8),ylim=c(-30,30))
par(new=T)
partialPlot(rf, subset(iris,iris$Species=="virginica"), Sepal.Length, main =
"Sepal.Length", xlab = "Sepal.Lengh", ylab = "Partial Dependency", col =
"blue",xlim=c(4,8),ylim=c(-30,30))
11.5.2
ランダムフォレストによるデータ解析
● 森のサイズによる誤り率の変化
● 特徴の重要さに関する情報
● 学習データ間の近さ
○ 近接グラフ
■ 多次元尺度構成法により2次元空間に写像
● N×N近接行列
○ i番目の学習データとj番目の学習データ
がOOBで同じ終端ノードに分類される木
があれば、行列のi行j列とj行i列に1を加
える
近接グラフ
randomForestパッケージに実装されていない?
性能比較
決定木 バギング アダブースト ランダムフォ
レスト
誤り率 0.16 0.053 0.04 0.04
教科書の表11.4 アヤメで0他を用いた性能比較
参考
● 平井有三、森北出版、はじめてのパターン認識
● Rと集団学習,http://mjin.doshisha.ac.jp/R/32/32.html
● ランダムフォレストの部分従属プロット (R Advent Calendar 2013),http://d.
hatena.ne.jp/langstat/touch/20131228
● 多次元尺度構成法イントロダクション, http://d.hatena.ne.
jp/koh_ta/20110514/1305348816
はじパタ11章 後半

More Related Content

What's hot

混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム貴之 八木
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展Deep Learning JP
 
PRML読書会#2,#3資料
PRML読書会#2,#3資料PRML読書会#2,#3資料
PRML読書会#2,#3資料Hiromasa Ohashi
 
はじパタ6章前半
はじパタ6章前半はじパタ6章前半
はじパタ6章前半T T
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」Keisuke Sugawara
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則koba cky
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明Haruka Ozaki
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
PRML輪読#13
PRML輪読#13PRML輪読#13
PRML輪読#13matsuolab
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...Deep Learning JP
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要Kenji Urai
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知Yuya Takashina
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
ガウス過程入門
ガウス過程入門ガウス過程入門
ガウス過程入門ShoShimoyama
 
PRML輪読#3
PRML輪読#3PRML輪読#3
PRML輪読#3matsuolab
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2matsuolab
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布についてHiroshi Shimizu
 

What's hot (20)

混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム混合ガウスモデルとEMアルゴリスム
混合ガウスモデルとEMアルゴリスム
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展[DL輪読会]近年のエネルギーベースモデルの進展
[DL輪読会]近年のエネルギーベースモデルの進展
 
PRML8章
PRML8章PRML8章
PRML8章
 
PRML読書会#2,#3資料
PRML読書会#2,#3資料PRML読書会#2,#3資料
PRML読書会#2,#3資料
 
はじパタ6章前半
はじパタ6章前半はじパタ6章前半
はじパタ6章前半
 
PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」PRML第9章「混合モデルとEM」
PRML第9章「混合モデルとEM」
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
PRML輪読#13
PRML輪読#13PRML輪読#13
PRML輪読#13
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
[DL輪読会]Wasserstein GAN/Towards Principled Methods for Training Generative Adv...
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
 
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
ガウス過程入門
ガウス過程入門ガウス過程入門
ガウス過程入門
 
PRML輪読#3
PRML輪読#3PRML輪読#3
PRML輪読#3
 
PRML輪読#2
PRML輪読#2PRML輪読#2
PRML輪読#2
 
負の二項分布について
負の二項分布について負の二項分布について
負の二項分布について
 

Viewers also liked

第六回「データ解析のための統計モデリング入門」前半
第六回「データ解析のための統計モデリング入門」前半第六回「データ解析のための統計モデリング入門」前半
第六回「データ解析のための統計モデリング入門」前半Atsushi Hayakawa
 
統計的学習の基礎 4.4~
統計的学習の基礎 4.4~統計的学習の基礎 4.4~
統計的学習の基礎 4.4~Atsushi Hayakawa
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JPSercan Ahi
 
最強のハードディスクはどれだ?
最強のハードディスクはどれだ?最強のハードディスクはどれだ?
最強のハードディスクはどれだ?Atsushi Hayakawa
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
 

Viewers also liked (7)

Deepboosting
DeepboostingDeepboosting
Deepboosting
 
第六回「データ解析のための統計モデリング入門」前半
第六回「データ解析のための統計モデリング入門」前半第六回「データ解析のための統計モデリング入門」前半
第六回「データ解析のための統計モデリング入門」前半
 
統計的学習の基礎 4.4~
統計的学習の基礎 4.4~統計的学習の基礎 4.4~
統計的学習の基礎 4.4~
 
Feature Selection with R / in JP
Feature Selection with R / in JPFeature Selection with R / in JP
Feature Selection with R / in JP
 
最強のハードディスクはどれだ?
最強のハードディスクはどれだ?最強のハードディスクはどれだ?
最強のハードディスクはどれだ?
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 

More from Atsushi Hayakawa

Zepp play soccerで測ってみた
Zepp play soccerで測ってみたZepp play soccerで測ってみた
Zepp play soccerで測ってみたAtsushi Hayakawa
 
dataclassとtypehintを使ってますか?
dataclassとtypehintを使ってますか?dataclassとtypehintを使ってますか?
dataclassとtypehintを使ってますか?Atsushi Hayakawa
 
トライアスロンとgepuro task views V2.0 Japan.R 2018
トライアスロンとgepuro task views V2.0 Japan.R 2018トライアスロンとgepuro task views V2.0 Japan.R 2018
トライアスロンとgepuro task views V2.0 Japan.R 2018Atsushi Hayakawa
 
バンクーバー旅行記
バンクーバー旅行記バンクーバー旅行記
バンクーバー旅行記Atsushi Hayakawa
 
Analyze The Community Of Tokyo.R
Analyze The Community Of Tokyo.RAnalyze The Community Of Tokyo.R
Analyze The Community Of Tokyo.RAtsushi Hayakawa
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使うAtsushi Hayakawa
 
トライアスロンと僕 - Japan.R 2017
トライアスロンと僕 - Japan.R 2017トライアスロンと僕 - Japan.R 2017
トライアスロンと僕 - Japan.R 2017Atsushi Hayakawa
 
simputatoinで欠損値補完 - Tokyo.R #65
simputatoinで欠損値補完 - Tokyo.R #65simputatoinで欠損値補完 - Tokyo.R #65
simputatoinで欠損値補完 - Tokyo.R #65Atsushi Hayakawa
 
Rstudio上でのパッケージインストールを便利にするaddin4githubinstall
Rstudio上でのパッケージインストールを便利にするaddin4githubinstallRstudio上でのパッケージインストールを便利にするaddin4githubinstall
Rstudio上でのパッケージインストールを便利にするaddin4githubinstallAtsushi Hayakawa
 
Splatoon界での壮絶な戦い&Japan.Rの宣伝
Splatoon界での壮絶な戦い&Japan.Rの宣伝Splatoon界での壮絶な戦い&Japan.Rの宣伝
Splatoon界での壮絶な戦い&Japan.Rの宣伝Atsushi Hayakawa
 
最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情Atsushi Hayakawa
 
nginxのログを非スケーラブルに省メモリな方法で蓄積する
nginxのログを非スケーラブルに省メモリな方法で蓄積するnginxのログを非スケーラブルに省メモリな方法で蓄積する
nginxのログを非スケーラブルに省メモリな方法で蓄積するAtsushi Hayakawa
 
implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化Atsushi Hayakawa
 
イケてる分析基盤をつくる
イケてる分析基盤をつくるイケてる分析基盤をつくる
イケてる分析基盤をつくるAtsushi Hayakawa
 

More from Atsushi Hayakawa (20)

tidyverse.orgの翻訳
tidyverse.orgの翻訳tidyverse.orgの翻訳
tidyverse.orgの翻訳
 
Zepp play soccerで測ってみた
Zepp play soccerで測ってみたZepp play soccerで測ってみた
Zepp play soccerで測ってみた
 
dataclassとtypehintを使ってますか?
dataclassとtypehintを使ってますか?dataclassとtypehintを使ってますか?
dataclassとtypehintを使ってますか?
 
トライアスロンとgepuro task views V2.0 Japan.R 2018
トライアスロンとgepuro task views V2.0 Japan.R 2018トライアスロンとgepuro task views V2.0 Japan.R 2018
トライアスロンとgepuro task views V2.0 Japan.R 2018
 
バンクーバー旅行記
バンクーバー旅行記バンクーバー旅行記
バンクーバー旅行記
 
Analyze The Community Of Tokyo.R
Analyze The Community Of Tokyo.RAnalyze The Community Of Tokyo.R
Analyze The Community Of Tokyo.R
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
 
トライアスロンと僕 - Japan.R 2017
トライアスロンと僕 - Japan.R 2017トライアスロンと僕 - Japan.R 2017
トライアスロンと僕 - Japan.R 2017
 
simputatoinで欠損値補完 - Tokyo.R #65
simputatoinで欠損値補完 - Tokyo.R #65simputatoinで欠損値補完 - Tokyo.R #65
simputatoinで欠損値補完 - Tokyo.R #65
 
useR!2017 in Brussels
useR!2017 in BrusselsuseR!2017 in Brussels
useR!2017 in Brussels
 
Japan.R 2016の運営
Japan.R 2016の運営Japan.R 2016の運営
Japan.R 2016の運営
 
Rstudio上でのパッケージインストールを便利にするaddin4githubinstall
Rstudio上でのパッケージインストールを便利にするaddin4githubinstallRstudio上でのパッケージインストールを便利にするaddin4githubinstall
Rstudio上でのパッケージインストールを便利にするaddin4githubinstall
 
Splatoon界での壮絶な戦い&Japan.Rの宣伝
Splatoon界での壮絶な戦い&Japan.Rの宣伝Splatoon界での壮絶な戦い&Japan.Rの宣伝
Splatoon界での壮絶な戦い&Japan.Rの宣伝
 
最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情最近のクラウドストレージの事情と私情
最近のクラウドストレージの事情と私情
 
gepuro task views
gepuro task viewsgepuro task views
gepuro task views
 
nginxのログを非スケーラブルに省メモリな方法で蓄積する
nginxのログを非スケーラブルに省メモリな方法で蓄積するnginxのログを非スケーラブルに省メモリな方法で蓄積する
nginxのログを非スケーラブルに省メモリな方法で蓄積する
 
implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化implyを用いたアクセスログの可視化
implyを用いたアクセスログの可視化
 
イケてる分析基盤をつくる
イケてる分析基盤をつくるイケてる分析基盤をつくる
イケてる分析基盤をつくる
 
らずぱいラジコン
らずぱいラジコンらずぱいラジコン
らずぱいラジコン
 
らずぱいカー
らずぱいカーらずぱいカー
らずぱいカー
 

はじパタ11章 後半