G検定の勉強中に、単純だけど覚えるのに時間がかかったのが、評価指標であった。
G検定公式テキストでは、108~109ページに2. 評価指標として掲載されている。
混同行列(真陽性、偽陽性、真陰性、偽陰性)、正解率、適合率、再現率、F値など用語の、見た目(漢字の組み合わせ)からくるイメージと、定義が一致していないように感じられたからだと思う。イヌとオオカミを陽性と陰性の例としていることにも違和感があった。
特に気になるのは、正解率と適合率の英文名がそれぞれaccuracyとprecisionになっていることである。accuracyとprecisionは、分析・計測の分野では通常、それぞれ正確度と精度であり、定義も異なっているので、分野が違うとはいえ、違和感を感じる。
バイオインフォマティクスのテキストでは、混同行列をイヌとオオカミではなく、+とーで表記しており、この方がすっきりしていると思う。
バイオインフォマティクス入門(学会公認)では、2-19 機械学習の評価として、86~87ページに掲載されている。
G検定の公式テキストで使われている正解率と適合率について、バイオインフォマティクスのテキストでは、正解率の用語も定義も使われておらず、適合率は、PPV(positive predictive value)と称されている。
バイオインフォマティクスのテキストでは、感度(sensitivity)と特異度(specificity)が主要な評価指標として用いられ、感度と特異度の組をプロットしたROC曲線とその曲線下の面積AUCは、予測手法のビジュアルな評価指標として用いられている。
感度(sensitivity)は、TP/(TP+FN)で、実際に陽性であるデータのうち、正しく陽性と予測できた数の割合である。G検定のテキストでは、再現率(recall)となっている。
特異度(specificity)は、TN/(FP+TN)で、実際に陰性であるデータのうち、正しく陰性と予測したデータの割合で、感度とトレードオフの関係にある。G検定のテキストでは出荷品検査の例をあげて、「実際に不良品であるもののうち、どれだけ不良品と識別することができたか」と表現されているが、定義式や呼称は記述がない。
バイオインフォマティクス的に表現された評価指標の書き出しを記しておく。
感度(sensitivity)と特異度(specificity)は、予測手法の性能を評価する場合の評価指標としてしばしば利用される。陽性(たとえば薬効がある)または陰性(薬効が無い)の2値分類の予測を行う際に、真陽性(true positive)とは陽性と正しく予測された標本、真陰性(true negative)とは陰性と正しく予測された標本、偽陽性(false positive)とは誤って陽性と予測された標本、偽陰性(false negative)とは誤って陰性と予測された標本である。・・・
2値分類問題の評価指標については、G検定公式テキストよりもバイオインフォマティクスの学会公認テキストの方が若干わかりやすい。また、分野によって用語や使われ方が若干異なる、ということがわかった。
バイオインフォマティクスのテキストでは、評価方法の適用例が具体的に示されている。これは非常にありがたいと思って読んでいたが、ちょっとひっかかる。
SVM(サポートベクターマシン)とニューラルネットを使って、遺伝子発現パターンから、がん細胞を識別し、ROCによって評価した結果が示されている。
同じ100個の細胞(20個ががん細胞、80個が正常細胞)をテストセットとして、機械学習で識別を行ったとのこと。結果が表とグラフで示されている。
SVMでは、ROCの有用性とSVMの性能の良さをアピールする結果になっている。
ところが、ニューラルネットでは、ROC図からみても、真陽性と偽陽性の比率から見ても、識別能力が全くなかったと述べている
まあ、画像認識において、ニューラルネットがSVMを打ち負かしたのは2012年のこと、このテキストの初版出版が2015年の夏、まだまだ知らなくて当たり前かも。
ニューラルネットの活躍の場が無限に広がっている、と言いたいが、そうではなく、ニューラルネットを使ったバイオインフォマティクスの研究が、日本は遅れている。
それにもかかわらず、これから活躍してくれる人材を育成するための試験のテキストに、このような記述が残されたままとは、なんとも情けないではないか。
と言っても何も変わらない。モノ言えるまでがんばらないとな。
ガンガン論文読んで、勉強して、研究テーマを考えて、研究して、論文書いて、発表して、・・・。
Kaggleは、自分がまだまだ成長できていないのに言っても仕方ないのだが、使い方に注意しないと、物まねばかりになってしまう恐れがあると感じている。
本物のKagglerは、きちんとプログラムを組んでいるが、私のような凡人は、課題が出てから締め切りまでの2か月程度では、まともなプログラムは書けないことが多い。そうすると、他人のプログラムの真似をして終わってしまう。こんなやり方は、いくら繰り返しても、プログラミング能力の向上にはつながらない。やらないよりはましだけどね。