パターン認識 第01章-判別能力の評価

12
Rで学ぶデータサイエンス 5パターン認識 第1章 判別能力の評価 2011/03/05 TwitterID:sleipnir002 中川帝人

Upload: sleipnir002

Post on 25-Jun-2015

5.126 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: パターン認識 第01章-判別能力の評価

Rで学ぶデータサイエンス5パターン認識

第1章 判別能力の評価

2011/03/05

TwitterID:sleipnir002

中川帝人

Page 2: パターン認識 第01章-判別能力の評価

この章の目的

• キーワード–判別問題

–誤り率

–予測誤差と訓練誤差

– K交差検証法

– ROC曲線

–適合率、再現率、F値

パターン認識を学ぶにあたって必要な概念。特にその結果の評価方法について。

Page 3: パターン認識 第01章-判別能力の評価

X

問題設定

• テストデータ D:データとラベルの組み合わせの集合

• 入力された特徴量 X:ベクトル、スカラー

• 判別器 F(X):Xを受け取る関数、Yを出力

• 出力Y:値のセット、+1/-1

例:スパムメールの判別問題

パターン認識で扱う問題=判別問題判別問題:「白黒はっきりつける」問題

No Yes

F(X)e.g.SVM

Y=-1→No

Y=+1→ Yes

)},),.....(,{( 11 nn yxyxD

データを基に判別器を構築

Page 4: パターン認識 第01章-判別能力の評価

誤り率

判別器の性能を評価する指標。予測が誤っている割合。

y

y

y yYFRXYXF}1,1{

)),(Pr())(Pr(

yと判断されるX でもYはyじゃない

2F

noyes

4F

yesno

4F

yesyes

22

6

誤り率

12F

nono

Page 5: パターン認識 第01章-判別能力の評価

予測誤差:未知のデータ訓練誤差:学習データ

訓練誤差と予測誤差

• 訓練誤差:判別器を構成するための学習データに対する誤り率

• 予測誤差:未知のデータに対する誤り率

•予測誤差を知りたいが、訓練誤差しかわからない。•(訓練誤差)と(モデルの複雑度)はトレードオフの関係にある

Page 6: パターン認識 第01章-判別能力の評価

K交差検証法

データセットDをK分割して、K回判別器を構成して、予測誤差を推定する方法。ローカルフィッティングを避けることができる。

データセット学習用

推定用

学習用

推定用

学習用

推定用

それぞれの誤り率の平均=予測誤差の推定値

)(1 xF )(2 xF )(3 xF

Page 7: パターン認識 第01章-判別能力の評価

ROC曲線の説明の前に

• データに偏りが存在する場合に問題が発生する。– メールデータの99%がスパムでない→必ずスパムでないという判別器は99%の正解率を誇る。

• パラメータを用意して、判別器を調整する。– 一般に2値判別問題では判別関数

Fの正負を使って、判別結果を返す。– そこで、パラメータCとの差分を取り、どちらかの結果に傾きやすくする。

⇒Cの値をどのくらいに設定すればよいか?

誤り率だけでは、判別器を評価できない場合がある。

))((,1

))((,1))((

CXF

CXFCXFSgn

C+1

-1

Page 8: パターン認識 第01章-判別能力の評価

TPRとFPR

TPR(陽性率):興味のあるクラスに関して、正しく判別できた割合FPR(偽陽性率):興味のないクラスに関して、正しく判別できなかった割合

noyes

yesno

yesyes

nono

TPR

Y=+1 Y=-1

F(X)>C

F(X)<=C

)1|)(Pr( YCXF

)1|)(Pr( YCXF

FPR

•興味のあるクラス+1とする。

•偽陽性率を抑えたまま、陽性率を上げたい。

Page 9: パターン認識 第01章-判別能力の評価

ROC曲線

• (0,0)、(1,1)を結ぶ

• 直角が理想的

• 対角線だと完全にランダム

• 傾きは常に正

• 横軸との面積=AUC、判別器の指標となる。

2値判別に関して、判別器のパラメータCを-∞から∞まで動かした時の、(FPR(C),TPR(C))のプロット。

FPR

TPR

Page 10: パターン認識 第01章-判別能力の評価

ROCR

> library(ROCR)> data(ROCR.simple)> pred <- prediction(ROCR.simple$predictions,ROCR.simple$labels)

> perf <- performance(pred, measure = "tpr", x.measure = "fpr")

> plot(perf, col=rainbow(10))

判別結果の可視化用パッケージROCRを使ってみた。

Page 11: パターン認識 第01章-判別能力の評価

適合率VS再現率、F値

適合率p:検索結果の精度、どれだけ正解しているか再現率r:検索結果の抽出率、どれだけ正解をもってこれたか

ドキュメントの集合(例、WWW) 検索結果

)0,()0,(1

)0,(2

FFPRFTPR

FTPRF

)0,()0,(

)0,(

FFPRFTPR

FTPRp

)0,(FTPRr

P=2/3

r=2/4

Page 12: パターン認識 第01章-判別能力の評価

EOF