評価方法 一般的なデータ処理結果の状態 • 処理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 b 2 ) 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 AveragePre csion 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 log 2 i or more generally p i 1 f i Ri : 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番目の真のクラスに属 するデータ数 1 local purity L max ni , j ni , j j 1 global purity L K n i 1 j 1 1 max ni , j j N i 1 L 1 i, j 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 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 i pi 2 1 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 程度が多い。この結果に対してのみその適合性を人手で 判断し、それを正解の集合とする
© Copyright 2024 ExpyDoc