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
PR
P R
順位つき結果の評価
単純な識別では結果は全て同等
生成モデルの場合は、結果が適合性のよい
順番に並ぶ。(表示も適合順)
この場合の評価法について
Recall , Precision
処理qに適合する結果(以下、正解、という)の数: |Dq |
処理システムの順位つけられた結果: (d1…….dn)
di が処理qへの正解なら ri=1、 そうでなければ ri=0
とする。すると、
第k順位まで拾ったときの
1
Recall(k )
ri
| Dq | 1i k
1
Precision(k ) ri
k 1i k
平均適合率:average precision
1
AveragePrecsion
rk precision(k )
| Dq | 1k 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
maxni , 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
maxn
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 maxn
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
pi
N
1 pi pi
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 pi
pi
(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 pi
i 1
pi
(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 程度が多い。この結果に対してのみその適合性を人手で
判断し、それを正解の集合とする