画像解析における教師付きの機械学習では,教師データとして,課題となる入力画像とその解答となる出力画像ないし出力数値群を準備する.この教師データを使って機械学習が行われ,分類モデルが生成される.この分類モデルの性能は定量的に評価する必要があり,その代表的なものに混同行列がある.機械学習全般で頻繁に登場する評価手段なので,少々詳しく説明する.具体例としてtrainable Weka segmentationによって作成した教師データを使ったWeka Explorerの実際の出力例(本文図4参照)にある混同行列を眺めよう.課題として,画像にある細胞を分節化するため,細胞をclass1,背景をclass2として登録したとする.分類モデルを作成した結果,出力に次のような混同行列が出力される."=== Confusion Matrix ==="a b <-- classified as"447 5 | a = class 1"2 1050 | b = class 2"この混同行列を見やすさのため書き換えると表1のようになる."この2行2列の混同行列の各行を眺めると,一行目は,教師データとして与えたclass1の画素のうち,447画素が正しくclass1として予測され,5画素が誤ってclass2として予測されている.同様にclass2では1,050画素が正しくclass2として予測され,2画素が誤ってclass1と予測されている.なるべく正しく(教師データに合致した)細胞の分節化を行いたいという目的からすれば,この混同行列の誤った予測の数を減らすことを目的として学習モデルを最適化すればよい.教師データの分類を見直す,機械学習に使う分類器の設定をさまざまに調整,といった最適化を試みるうえで,この混同行列が定量的な指針となるわけである."なお,混同行列の4つの要素を真陽性,真陰性,偽陰性,偽陽性という4つの単語で表現することが一般的である.今回の例であれば,細胞の画素(class1)を陽性,背景(class2)を陰性と置き換えればよい.とはいえ,分類を行うクラスの数が3つ以上である場合には,真偽の二分法による表現では言葉が足りず,classとして扱う以外に方法がなくなる.classの名前のまま扱うことにも慣れておくとよいだろう."混同行列にある値をもとに,正解や誤認の割合を組合わせで計算した値も,混同行列の直前に以下のような表の形式で出力されている."=== Detailed Accuracy By Class ==="TP RateFP RatePrecisionRecallF-MeasureMCCROC AreaPRC AreaClass"0.9890.0020.9960.9890.9920.9891.0000.999class 1"0.9980.0110.9950.9980.9970.9891.0001.000class 2"Weighted Avg.0.9950.0080.9950.9950.9950.9891.0001.000"割合は画素数の多寡に依存しないので,異なる教師データの結果を比較するにはこちらの方が便利である.表には項目が多数あり,一行目に関して最初の5つの項目を説明すると,“TP Rate”はTrue-Positive Rateであり,class1の画素のうち,正しくclass1として予測された画素の割合である.4列目にある“Recall”(再現率,感度,検出率などと同じ値に対してさまざまな呼称があり少々混乱しやすい)は,同じ計算なので同一の値となる.表1を参照すると,447/(447+5)=0.989である.“FP Rate”はFalse-Positive Rateであり,class2の画素のうち,誤ってclass1として予測された画素の割合である.具体的な計算は2/(1050+2)=0.002である.“Precision”は,class1と予測された画素のうち,正解であった画素数の割合で,447/(447+2)=0.996となる.「適合率」と呼ばれる値である.いわば,Recallは予測の正確さ,Precisionは予測の精度を表す指標になるが,予測の精度を上げると予測全体の正確さは減る,あるいはその逆,という,いわば「木をみて森を見ず」的なトレードオフの関係になる.このため,この2つの指標にバランスをもたせる調和平均の値としてF-measure(F値)がある.その計算は,2×Recall×Precision/(Recall+Precision)であり,表の例の場合,2×0.989×0.996/(0.989+0.996)=0.992となる.二行目はいわばclass2を“陽性”として解釈したときのそれぞれの値になっているが,画像の二値化が課題である場合には一行目だけ眺めればよいだろう.(実験医学増刊3820より)
機械学習を生命科学に使う!
シークエンスや画像データをどう解析し、新たな生物学的発見につなげるか?
解説は発行当時の掲載内容に基づくものです
本コンテンツは,2018年まで更新されていた同名コンテンツを元に,新規追加・再編集したものです