MATLABでのplotconfusion関数の適用



Application Plotconfusion Function Matlab



混同行列は、ニューラルネットワークの結果を測定する手段であり、多くの関連論文に掲載されています。著者は大学院時代に最初の論文を書き、分類に対するニューラルネットワークの感度を説明するために混同行列を使用することを検討しました。そのため、簡単な調査を実施しました。主なコンテンツは以下のリンクから来ています。 https://ww2.mathworks.cn/help/deeplearning/ref/plotconfusion.html?s_tid=srchtitle

混同行列の概要

混同行列図では、行は予測されたクラス(出力)に対応し、列は真のクラス(ターゲット)に対応します。対角セルは、正しく分類された観測値に対応します。非対角セルは、誤って分類された観測値に対応します。各セルには、オブジェクトの数とオブジェクトの総数に対する割合が表示されます。



グラフの右端の列は、正しく分類されたすべてのカテゴリのすべての例のパーセンテージを示しています。これらのメトリックは、一般に、それぞれ精度(またはポジティブ予測)および誤検出率と呼ばれます。グラフの下部の行は、正しく分類された、または誤って分類された各カテゴリのすべての例のパーセンテージを示しています。これらの指標は通常、再現率(または真陽性率)および偽陰性率と呼ばれます。グラフの右下のセルは、全体的な精度を示しています。

(上記の2つの段落はスキップできます)
次の図は例です。最初の2つの対角線の単位は、トレーニングされたネットワークの正しい分類の数とパーセンテージを示しています。たとえば、クラス1には444の分類が正しくあり、これはすべてのサンプルの63.5%を占めています。同様に、2つのカテゴリが正しく分類された238のケースがあり、すべてのサンプルの34%を占めています。



1つのカテゴリとして誤って分類された3つの2つのカテゴリがあります。これは、データ内のすべてのサンプルの0.4%に相当します。同様に、1つのカテゴリのうち14が誤って2つのカテゴリとして分類されました。これは、すべてのデータの2%に相当します。

444 + 3 = 447タイプ1の予測結果のうち、99.3%が正しく、0.7%が正しくありません。タイプ2の14+ 238 = 252の予測結果のうち、94.4%が正しく、5.6%が正しくありません。 44 + 14 = 458 1タイプのうち、96.9%が正しく予測され、3.1%が誤って予測されました。 241 2種類のうち、98.8%が正しく分類され、1.2%が誤って分類されました。

全体として、予測の97.6%は正しく、2.4%は間違っています。
画像



関数の使用法

MATLABでの混同行列関数の使用法は次のとおりです。

plotconfusion(targets、outputs、name)は、混同行列を描画し、プロットタイトルの先頭に名前を追加します。 ターゲットは既知のカテゴリラベルであり、出力はネットワーク分類結果です。 nameは画像の名前であり、出力名は 'name ConfusionMatrix'です。

plotconfusion(targets1、outputs1、name1、targets2、outputs2、name2、...、targetsn、outputsn、namen)グラフに複数の混同行列を描画し、対応するグラフタイトルの先頭にnameパラメーターを追加します。複数を描画する場合は、画像内のセルのサイズが自動的に圧縮されます。効果は次のとおりです。
画像

データ要件

畳み込みニューラルネットワーク、リカレントニューラルネットワークなどのプロのニューラルネットワークを使用している場合は、対応するデータを関数に入力するだけです。
他のタイプの分類子を使用している場合は、分類結果と実際のラベルの場所、およびそれらの形式を把握するように注意してください。この関数では、ラベル形式がカテゴリベクトルまたはNの1つ(ワンホット)形式である必要があります。ディープラーニングの入力と出力はこのようになります。ラベルと出力がdoubleまたは他の形式の場合、それらが線ベクトルである限り、フォームを使用できます。この方法は、SVM二項分類混同行列を描画するときに作成者が使用します。