Transcript Document

評価方法
一般的なデータ処理結果の状態
• 処理sで結果のデータ集合が得られた。しかし、結果の中には間違
いもあるし、得られなかったデータの中にも正解がありうる。
データ集合全体
tn
ture negative
処理sで得られるべきデータ集合
処理sで得られた
データ集合
fp
false positive
第1種過誤
偽陽性
tp
true
positive
fn
第2種過誤
偽陰性
false negative
性能評価尺度
 再現率
 適合率あるいは精度
 フォールアウト
 一般性
 Accuracy
or
Rand Index
tp
recall 
tp  fn
tp
precision
tp  fp
fallout 
tn
tn  fp
generarity
tp
tp  tn  fp  fn
tp  tn
accuracy
tp  fp  fn  tn
再現率 vs 適合率
• よく使う評価の表現法
1.0
適
合
率
再現率100%の自明
なシステム??
0.0
0
0.5
再現率
1.0
再現率 vs 適合率に関連した尺度
•
•
•
Break even point
再現率と適合率が一致する点
11点平均適合率 再現率=0.0 , 0.1, 0.2, ….. 0.9, 1.0 の11点におけ
る適合率の平均値
F値 ただし、bは適合率が再現率よりどれだけ重視されているかを示す
パラメタ― b=1がよく使われる。
(1  b2 )  P  R
F
b2  P  R
2 PR
2
F

1
1
PR

P R
順位つき結果の評価
単純な識別では結果は全て同等
生成モデルの場合は、結果が適合性のよい
順番に並ぶ。(表示も適合順)
この場合の評価法について
Recall , Precision
処理qに適合する結果(以下、正解、という)の数: |Dq |
処理システムの順位つけられた結果: (d1…….dn)
di が処理qへの正解なら ri=1、 そうでなければ ri=0
とする。すると、
 第k順位まで拾ったときの
1
Recall(k ) 
ri

| Dq | 1i k
1
Precision(k )   ri
k 1i k
平均適合率:average precision
1
AveragePrecsion 
rk  precision(k )

| Dq | 1k  N
ただし、 Nは正解が最後に現れた 順位
• 例:
順位
正解
か
1
2
3
4
〇
AvPrec
1 1 2 
   
2 1 4 
 0.75
5
6
〇
平均逆順位:Mean Reciprocal Rank(MRR)
1
RR 
: nは初めて正解がでた順 位
n
もし、正解がひとつも 現れなければ MRR=0
MRR  全質問に対する RRの平均値
順位
• 例
1 1 
MRR     / 2  0.625
1 4 
1
2
3
4
正解か
第1問
〇
第2問
〇
〇
nDCG
 DCG(Discounted Cumulative Gain)
 結果には関連度(relevancy):Rが与えられている。Rは適
当な範囲の数値
 順位i番目の結果の関連度をRiとする
 p位までの結果に対するCG(Cumulative Gain):
CGp  i 1 Ri
p
 CGpに順位が低いものに関連度Rの高いものが現れた場
合のペナルティを考慮したのがDCGp
p
Ri
DCGp  R1  i 2
log2 i
or moregenerally i 1 f i Ri  :
p
f iはiの減少関数
DCGはRiの決め方や関数fiの定義に強く依
存
そこで理想的な場合のDCG(=IDCG)と実際
の結果に対するDCGの比を使う nDCG
DCGp
nDCGp 
IDCGp
DCG,nDCGの例
結果: R1=4, R2=1, R3=4, R4=2, R5=1
log23=1.58, log24=2, log25=2.32
DCG5=4+1+4/1.58+2/2+1/2.32=8.96
IDCG5=4+4+2/1.58+1/2+1/2.32=10.70
 nDCG5=8.96/10.70=0.83
 もし、結果が関連度Rの大きい順に並んでいれば、
DCG=IDCGだから nDCG=1
 もし、結果が逆順なら(1,1,2,4,4)
DCG5=1+1+2/1.58+4/2+4/2.32=6.98
 IDCG5=6.98/10.70=0.65
nDCGを実感するための例題
 Google, Yahoo, Bingの3つの検索エンジンを利用す
る。
 適当な検索語Qを決める。
 実験self: QでG,Y,Bで検索した結果の上位20位まで
を総合して、自分の判断でRi( i=1,..20)を決める。こ
れによって、G,Y,QのnDCGを計算する。
 実験G: Gの結果の第i位のRi=1/i とする。このとき、
Y,BのnDCGを計算する。
 実験Y: 実験GでGとYの役割を入れ替えて計算する。
 実験B: 実験GでGとBの役割を入れ替えて計算する。
学習と評価(教師ありの場合)
 正解データがある場合。
 正解データ全部を教師データとして機械学習。学習結果のシ
ステムをs
 s を教師データで評価
 s を未知のデータで評価
 本当は、未知データでの評価をしたいが、なにしろ未知
 正解データを教師データとテストデータに分割
 教師データで学習し、テストデータを未知データとみなして評価
 正解データが少ない場合:N-fold cross validation(N-交差検定)
 正解データをN等分。N-1個を教師データとして学習し、残りの1個で評価。
これをN種類繰り返す。
 特殊なケースとして、1個だけを除いて学習し、その1個で評価。これを
データ数繰り返す。Leave-one-out法
学習と評価(教師なしの場合)
クラスタリングの場合
人手で正解データを作っておき、教師あり学習と
同じような評価。
一応、再現率も計測できる。
正解データが存在しない場合
学習結果をサンプリングして、人手で評価するし
かない。
再現率は評価できない。
クラスタリングの評価:Purity
生成されたクラスタがどれだけ多数派で占めら
れているかを表す尺度
N : データ数 , C : 真のクラス集合  C1 ,...CK ,
L
生成されたクラスタ数
ni , j : 生成された i番目のクラスタにおい て
j番目の真のクラスに属 するデータ数
local purity 
maxni , j 
1
L
n
j 1
global purity 
i, j
1
L
K
 ni , j
i 1 j 1
1


max
n


i, j
j
N
i 1
L
 maxn 
L
i 1
j
i, j
1
2
3
5
4
6
purity(1)  , purity(1)  , purity(1) 
7
8
10
local purity
global purity purity  5  4  6  15  0.6
7  8  10
25
問題点 何もしない場合
全データが同一クラスタ
1クラスタが1データ purity 
purity 
1
N
1
max ni , j 
N i, j
1


max
n


i, j
j
N
i 1
L
L
1 
i 1
N
1
N
Inverse Purity
クラスタiのデータ数
 L

  ni , j maxn  
K
i, j
j 1
j


InversePurity   
 K

N
i 1
ni , j 


i 1


Recallのクラスタiの大きさに
よる重み付け
1クラスタに1個のデータしかない場合も
Inverse Purityは1より小さい。
そこでPurityとの調和平均であるF値で評価
F値 
2
1
1

Purity InversePurity
クラスタiの多数派jの
データ数/クラスjの
データ数=Recall
真のクラスjのデータ総数
1
2
5  4  6 15
Purity 

7  8  10 25
3
8個、
7個、
 7 5 8 4 10 6 
 InversePurity   25  8  25  7  25  10   0.598

F値 
2
1
1

0.6 0.598
 0.599
10個
評価者の一致性の評価
評価者2
κ計数
C1
ある事象集合に対し
評価者1
て評価がC1からCNの
N種類。評価者1,2が
各々評価点i,jをつける確率がpij
N

Po  Pe

1  Pe
C1
…
p11
:
CN
Σ
p1N
P1.
:
CN
pN1
Σ
p.1
…
pNN
pN.
p.N
1
N
p p
i 1
ii
i 1
i
pi
N
1   pi pi
i 1
κ計数が1に近いほど評価者1,2の評価が
一致している(評価行列が対角の場合)
例
評価者2
評価者1
0
1
Σ
0
0.6
0
0.6
1
0
0.4
0.4
Σ
0.6
0.4
1
2
P P
 o e
1  Pe
2
p p
ii
i 1
i 1
2
i
1   pi pi
pi

(0.6  0.4)  0.6  0.6  0.4  0.4 
1
1  0.6  0.6  0.4  0.4 
i 1
評価者2
評価者1
0
1
Σ
0
0.25
0.25
0.5
1
0.25
0.25
0.5
Σ
0.5
0.5
1
2

2
p p
i 1
ii
i 1
2
i
1   pi pi
i 1
pi

(0.25  0.25)  0.5  0.5  0.5  0.5
0
1  0.5  0.5  0.5  0.5
テストコレクション
 (a) 入力データ集合、(b) 解くべき問題(識別など)、(c)問題において
<入力データ、推測結果>対の集合、を組にしたデータベースをテ
ストコレクションと呼び、機械学習システムの性能評価において必須
の資源である
 ある入力データに対応する推定結果の個数が多いような問題(例え
ば、情報検索)では、 <入力データ、推測結果>の大規模な集合を
作ることは大規模テストコレクションでは困難
 Pooling method:、 同一の入力データ集合に対して、多数のシステム
で同じ問題に対して出した上位N 個の結果を全て集める。N の値と
して、100 程度が多い。この結果に対してのみその適合性を人手で
判断し、それを正解の集合とする