25
はじめてのパターン認識 2「識別規則と学習法の概要」 後半  2013/7/2 @リクルート

はじパタ2章

Embed Size (px)

Citation preview

Page 1: はじパタ2章

はじめてのパターン認識第2章

「識別規則と学習法の概要」後半 

2013/7/2 @リクルート

Page 2: はじパタ2章

あんた誰?

名前           伊藤 徹郎 (@tetsuroito)

所属株式会社ALBERT データ分析部好きなものサッカー、スキー、オレオ!

Page 3: はじパタ2章

株式会社ALBERTについて「分析力をコアとするマーケティングソリューションカンパニー」

ALBERTの事業領域

CRMソリューションの開発・提供

レコメンドエンジンの開発・提供

行動ターゲティング広告システムの開発・提供

データサイエンティスト、エンジニア大募集中です!一緒にデータサイエンスしませんか?

Page 4: はじパタ2章

では、本題

2.2 汎化能力とは?

Page 5: はじパタ2章

2.2 汎化能力とは?

ちょっとおさらい学習:学習データに対する識別関数の出力値と学習データとの誤差が最小に   なるように、識別関数のパラメータを調整すること

未知のデータに対しての性能保証はなし!

学習データから動作確認のためにテストデータを除いて試そう!

汎化能力:未知データに対する識別能力汎化誤差:未知データを識別した時の誤差

Page 6: はじパタ2章

学習データとテストデータ

手元にある学習データセットを分割してテストデータセットを作ります。

重さ透磁率etc‥

d個の特徴

d次元の特徴ベクトルの分布p

真の誤り率ε(p,p)

重さ透磁率etc‥

10,000枚

8,000枚

2,000枚

母集団 学習データセット

テストデータセット

d個の特徴

d次元の特徴ベクトルの分布pL

再代入誤り率ε(pL,pL)

d個の特徴重さ透磁率etc‥

d次元の特徴ベクトルの分布pT

Page 7: はじパタ2章

用語たち

母集団:先の事例では、全硬貨の集合(事例では10,000枚)

真の分布:母集団のd次元特徴の分布p

バイアス:真の分布とランダムサンプルのズレ (平均値や分散など)

真の誤り率ε(p,p):真の分布pに従う学習データを用いて設計し、真の分布         pに従うテストデータを用いてテストしたときの誤り率

再代入誤り率:学習データを母集団からサンプルし、テストにも同じデータを       用いて測定した誤り率

Page 8: はじパタ2章

例題だよ

再代入誤り率が大きい場合、どのような対処法が考えられますか?

Page 9: はじパタ2章

ANSWER

学習データに対する誤りが多いので、識別機の能力が足りません。

何らかの方法で識別機の性能をあげましょう!

Page 10: はじパタ2章

データの主な分割方法

1、ホールドアウト法(holdout法)

2、交差確認法(cross validation法)

3、一つ抜き法(leave-one-out法) (ジャックナイフ法)

4、ブートストラップ法(bootstrap法)

Page 11: はじパタ2章

1、ホールドアウト法

母集団

学習データ

テストデータ

ホールドアウト誤り率

分割の配分はご自由に

★欠点学習データを増やす→学習精度は向上するが、性能評価がいまいち検証データを増やす→学習精度が悪くなってしまう

Page 12: はじパタ2章

2、交差確認法

手元の各クラスのデータをm個に分割し、m-1個のグループのデータを使って識別機を学習し、残りの1つで検証を行う方法です。これをm回繰り返し、それらの誤り率の平均を性能予測値とします。

学習データテスト

学習データテスト

学習データ テスト

m個に分割

m回

識別率の予測値

全データを検証できるので、

Page 13: はじパタ2章

3、一つ抜き法(ジャックナイフ法)

交差確認法において、データの数とグループの数を等しくした場合のこと。

1つを除いたデータすべてのデータで学習し、除いた1つでテストすることをデータ数分繰り返す。

またの名をジャックナイフ法ともいい、重複をしない分、計算効率がいいとか悪いとか‥

なんかいまいちわからないので、知ってる人、教えてください

Page 14: はじパタ2章

4、ブートストラップ法

再代入誤り率のバイアス補正に用いられる。

データ#1

データ#2

データ#3

‥ データ#N-1

データ#N

復元抽出×N回

ブートストラップサンプル

データ#3

データ#20

データ#1

‥ データ#3

データ#5

N個

ブートストラップサンプルを最低50は生成し、それらによって得られる誤認識率の差の平均値でバイアスを推定する!

Page 15: はじパタ2章

汎化能力の評価法とモデル選択

学習データでパラメータを調整して、テストデータで誤り率を評価しても誤りが目標より小さくならないという場面ありますね。

この場合はどうしようもないので、識別関数を変えましょう。

Page 16: はじパタ2章

モデル選択

変えると言っても、方法はたくさんあります!

・線形識別関数→非線形識別関数に変える

・多項式のパラメータの数(次数)を変える

etc‥

パラメータの数を変え、テストデータに対する誤り率が最も小さくなる

パラメータを選択する方法をモデル選択と言います

このように‥

Page 17: はじパタ2章

具体例:多項式回帰で

あるノイズが乗った多項式から等間隔にサンプルされたデータに多項式近似を行います。

f(x)=0.5+0.4sin(2πx)+ε=h(x)+ε  N~(ε|0,0.05)

11個の学習データから信号成分h(x)を取り出す!

信号成分h(x)との近似の良さは平均2乗誤差(MSE)で表す

テキストでは、1次、3次、6次、10次多項式で近似している

Page 18: はじパタ2章

多項式近似の例

データから大きく外れている(バイアスが大きい)

ノイズに惑わされず信号成分をよく近似バイアスも小さく、分散も小さい

6次になると、ノイズを追うようになる

10次は完全にノイズを追ってしまう

Page 19: はじパタ2章

バイアス・分散トレードオフ

関数が複雑になるほど学習データに対する近似能力は向上する(学習データに対するバイアス小さいが、分散が大きい)

このように

バイアスを小さくすれば分散が大きくなり、逆に分散を小さくすれば、バイアスが大きくなる現象をバイアス・分散トレードオフという

汎化能力を決める大きな要因となる!

Page 20: はじパタ2章

過学習(オーバーフィッティング)

先の事例のように、多項式の次数を大きくすると個々のノイズ成分を追従するようになるので、学習誤差が単調に減少します。

このような事象を過学習と言います。

※深堀したい人はぜひPRML上巻1章の多項式フィッティングを読もう!

Page 21: はじパタ2章

識別関数の最適選択

多項式の最適次数選択は先ほどの説明の通りです。同様に、識別関数でも同様に考えることができます。

識別関数y=f(x;w)のf()の形やwの要素数を変化させ、交差確認法やブートストラップ法によって汎化誤差を推定します。

データの分布に統計モデルを仮定する場合AIC(赤池情報量基準)やBIC(ベイズ情報量基準)、MDL(最小距離基準)

などを使って解析的に汎化誤差を評価し、モデル選択をします。

詳細は自分で調べてね!

Page 22: はじパタ2章

章末問題は省略するね

Page 23: はじパタ2章

最後に大事なのでもう1回言います

あっ!

Page 24: はじパタ2章

データサイエンティスト、エンジニア大募集中です!一緒にデータサイエンスしませんか?

Page 25: はじパタ2章

おわり

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