機械学習モデルのパフォーマンスを評価する方法

機械学習モデルのパフォーマンスを評価する方法

教師あり機械学習モデルを一日中トレーニングすることはできますが、そのパフォーマンスを評価しなければ、モデルが有用かどうかはわかりません。この詳細な説明では、考慮する必要があるさまざまなパフォーマンス メトリックを確認し、それらの意味と動作を直感的に説明します。

なぜ評価が必要なのでしょうか?

非常に簡単な例から始めましょう。

ロビンとサムは二人とも工科大学の入学試験の準備を始めました。二人は同じ部屋で過ごし、デジタル問題の解決に同等の努力を注ぎました。二人とも一年を通してほぼ同じ時間勉強し、最終試験を受けました。驚いたことに、ロビンはクリアしましたが、サムはクリアしませんでした。尋ねてみると、彼らの準備戦略には「テストシリーズ」という違いが 1 つあることがわかりました。ロビンはテストシリーズに参加し、それらの試験を受けて自分の知識と理解力をテストし、どこで遅れているかをさらに評価しました。しかしサムは自信があり、ひたすらトレーニングを続けました。

同様に、前述のように、機械学習モデルは多くのパラメータと新しい技術を使用して広範囲にトレーニングできますが、評価をスキップする限り信頼することはできません。

混同マトリックス

混同行列は、モデルの予測とデータ ポイントの実際のクラス ラベル間の相関関係を表す行列です。

ある人が糖尿病に罹患しているかどうかを検出するモデルを構築しているとします。トレーニングとテストの分割を実行すると、長さ 100 のテスト セットが作成され、70 個のデータ ポイントが正 (1) とラベル付けされ、30 個のデータ ポイントが負 (0) とラベル付けされます。さて、テスト予測のマトリックスをプロットしてみましょう。

実際の 70 個の正のデータ ポイントのうち、モデルは 64 個を正として予測し、6 個を負として予測しました。実際のマイナスポイント 30 点のうち、プラスポイント 3 点、マイナスポイント 27 点を予測しました。

注:真陽性、真陰性、偽陽性、偽陰性の表記では、2 番目の項 (陽性または陰性) は予測を表し、最初の項は予測が正しかったか間違っていたかを示します。

上記のマトリックスに基づいて、いくつかの非常に重要な比率を定義できます。

TPR (真陽性率) = (真陽性/実際の陽性)

TNR (真陰性率) = (真陰性/実際の陰性)

FPR (偽陽性率) = (偽陽性/実際の陰性)

FNR (偽陰性率) = (偽陰性 / 実際の陽性)

当社の糖尿病検出モデルでは、次の比率を計算できます。

TPR = 91.4%

TNR = 90%

FPR=10%

利回り = 8.6%

モデルをスマートにするには、モデルが正確に予測する必要があります。つまり、陽性陰性をできるだけ高くすると同時に、偽陽性偽陰性をできるだけ低くしてエラーを最小限に抑える必要があります  また、比率に関して言えば、 TPRとTNRは高いはずです。   FPRとFNRは非常に低いはずですが

インテリジェントモデル: TPR↑、TNR↑、FPR↓、FNR↓

愚かなモデル: TPR、TNR、FPR、FNR のその他の組み合わせ

結局のところ、完璧なモデルは存在しないため、4 つの比率すべてを均等に扱うことは不可能だと主張する人もいるかもしれません。それで私たちは何をすべきでしょうか?

はい、本当です。そのため、私たちはドメインを念頭に置いてモデルを構築します。一部の分野では、他の比率が悪くなっても、特定の比率を最優先にする必要があります。たとえば、がんの診断では、陽性患者をどんなことがあっても見逃すことはできません。したがって、TPR を最大値に保ち、FNR を 0 に近づける必要があります。健康な患者が診断されると予測した場合でも、さらに検査を受けることができるので問題ありません。

正確さ

精度はまさにその名の通り、モデルの精度を示します。

精度 = 正しい予測 / 総予測

混同行列を使用すると、精度 = (TP + TN) / (TP + TN + FP + FN)

精度は、使用できる最も単純なパフォーマンス メトリックの 1 つです。ただし、精度によってモデルに関する誤った誤解が生じる場合があるので、まずは使用しているデータセットとアルゴリズムを理解した上で、精度を使用するかどうかを決定する必要があることに注意してください。

精度の失敗例について説明する前に、2 種類のデータセットを紹介します。

  1. バランス: すべてのラベル/カテゴリに対してほぼ等しいエントリを含むデータセット。たとえば、1000 個のデータ ポイントのうち、600 個が正で、400 個が負です。

  2. 不均衡: 特定のラベル/クラスに偏ったエントリの分布を含むデータセット。たとえば、1000 エントリのうち、990 がポジティブクラスにあり、10 がネガティブクラスにあります。

非常に重要: 不均衡なテスト セットを扱うときは、精度を測定基準として使用しないでください。

なぜ?

990 (+ve)10 (-ve)を含む 1000 エントリの不均衡なテスト セットがあるとします。最終的には、不均衡なトレーニングにより常に「+ve」を予測する悪いモデルが作成されてしまいます。これで、テスト セット ラベルを予測すると、常に「+ve」が予測されるようになります。したがって、1000 個のテスト セット ポイントから 1000 個の「+ve」予測が得られます。そうすれば正確さが身につく

990/1000 = 99%

おお!すばらしい!このような優れた精度スコアを見ると、きっと満足するでしょう。

ただし、モデルは常に「+ve」ラベルを予測するため、モデルが非常に悪いことを認識する必要があります。

非常に重要: 繰り返しになりますが、確率スコアを返し、同じ精度を持つ 2 つのモデルを比較することはできません。

ロジスティック回帰のように、各データ ポイントが特定のクラスに属する確率を示すことができるモデルがいくつかあります。次のシナリオを考えてみましょう。

ご覧のとおり、 P(Y=1) > 0.5 の場合、予測はクラス 1 になります。 M1 と M2 の精度を計算すると、同じ結果が得られますが、確率スコアを見ると、M1 が M2 よりもはるかに優れていることは明らかです。

Log Loss はこの問題を解決します。これについては、このブログで後ほど説明します。

精度と再現率

精度: これは、真陽性率 (TP) と陽性予測の総数の比率です。基本的に、これはあなたの肯定的な予測が実際に表になった回数を示します。

思い出してください: これは、TPR (前述の「True Positive Rate (真陽性率)」) に他なりません。すべてのプラス要因のうち、どれだけがプラスであると予測されるかを示します。

F 値: 精度と再現率の調和平均。

これを理解するには、次の例を見てみましょう。Baidu でクエリを実行すると 40 ページが返されますが、関連するのは 30 ページだけです。しかし、あなたの友人は、このクエリに関連するページが 100 件あると言います。したがって、精度は 30/40 = 3/4 = 75%、再現率は 30/100 = 30% です。したがって、この場合、精度は「検索結果がどれだけ役に立つか」であり、再現率は「結果がどれだけ完全か」です。

ROC と AUC

受信者動作特性曲線(ROC):

これは、モデルによって与えられた確率スコアの逆順に並べられたリストから複数のしきい値を取得して計算されたTPR (真陽性率) と FPR (偽陽性率) の間のプロットです。

さて、ROC をどのようにプロットするのでしょうか?

この質問に答えるために、上の表 1 に戻りましょう。 M1 モデルのみが考慮されます。 x のすべての値に対して確率スコアがあることがわかります。この表では、スコアが 0.5 を超えるデータ ポイントをクラス 1 に割り当てます。ここで、すべての値を確率スコアの降順で並べ替え、すべての確率スコアに等しいしきい値で値を 1 つずつ取得します。すると、しきい値 = [0.96、0.94、0.92、0.14、0.11、0.08] が得られます。各閾値に応じてクラスが予測され、TPR と FPR が計算されます。 TPR と FPR のペアが 6 組届きます。これらをプロットするだけで、ROC 曲線が得られます。

注: TPR と FPR の最大値は 1 なので、ROC 曲線の下の領域 (AUC) は 0 から 1 の間になります。

青い破線の下の面積は 0.5 です。 AUC = 0 はモデルが非常に悪いことを意味します。AUC = 1 はモデルが完璧であることを意味します。モデルの AUC スコアが 0.5 より大きい限り。ランダムなモデルでも 0.5 AUC のスコアが得られるため、このモデルは理にかなっています。

非常に重要: 不均衡なデータセットから生成されたダム モデルでも、非常に高い AUC を達成できます。したがって、不均衡なデータセットを扱うときは注意してください。

注: 順序が維持されている限り、AUC は数値の確率スコアとは関係ありません。すべてのモデルに、確率スコアに従って並べ替えた後に同じ順序でデータ ポイントが与えられている限り、すべてのモデルの AUC は同じになります。

対数損失

このパフォーマンス メトリックは、データ ポイントの確率スコアがカットオフ スコアからどの程度逸脱しているかを調べ、逸脱に比例したペナルティを割り当てます。

バイナリ分類の各データ ポイントについて、次の式を使用してログ損失を計算します。

ここで、p はデータ ポイントがクラス 1 に属する確率、y はクラス ラベル (0 または 1) です。

ある x_1 の p_1 が 0.95、ある x_2 の p_2 が 0.55 で、クラス 1 に合格するカットオフ確率が 0.5 であるとします。すると、両方ともクラス 1 として適格になりますが、p_2 のログ損失は p_1 のログ損失よりもはるかに大きくなります。

曲線からわかるように、対数損失の範囲は [0, 無限大] です。

マルチクラス分類の各データポイントについて、次の式を使用してログ損失を計算します。

x(o,c)がクラス1に属する場合、y(o,c)=1となります。残りの概念は同じです。

決定係数

R2で示されますテスト セットのターゲット値を予測する際に、予測値と実際の値の差であるエラー (e_i) が発生します。

n 個の項目からなるテスト セットがあるとします。ご存知のとおり、すべてのデータ ポイントには [y1、y2、y3…yn] などのターゲット値があります。テストデータの予測値が[f1、f2、f3、…fn]であると仮定します。

残差二乗和は、すべての誤差(e_i)の二乗の合計であり、次の式を使用して計算されます。  ここで、fi は i 番目のデータ ポイントに対するモデルの予測ターゲット値です。

すべての実際の目標値の平均を取得します。

次に、テストセットの目標値の分散に比例する二乗和の合計を計算します。

平方和の両方の式を見ると、唯一の違いは 2 番目の項、つまり y_bar と fi であることがわかります。平方和は、残差平方和と同じだが、予測値が [ȳ,ȳ,ȳ, ….ȳ, n 回] であるという直感を何らかの形で与えます。はい、あなたの直感は正しいです。入力データに関係なく、ターゲット値の平均を毎回予測する非常に単純な平均モデルを考えてみましょう。

ここで、R² は次のように表されます。

ご覧のとおり、R² は、入力データに関係なく、常にターゲット値の平均を返す非常に単純な平均モデルとモデルを比較するために使用される尺度です。比較は4つあります:

ケース1: SS_R = 0

(R² = 1) エラーが全くない完璧なモデル。

ケース2: SS_R > SS_T

(R² < 0) モデルは単純平均モデルよりもさらに悪いです。

ケース3: SS_R = SS_T

(R² = 0) モデルは単純平均モデルと同じです。

ケース4: SS_R < SS_T

(0 < R² < 1) モデルは正常です。

まとめ

つまり、データセットと問題をよく理解しておけば、いつでも混同行列を作成し、その精度、適合率、再現率をチェックし、ROC 曲線をプロットし、必要に応じて AUC を調べることができます。ただし、データセットのバランスが取れていない場合は、精度を指標として使用しないでください。確率スコアも重み付けされるようにモデルのより詳細な評価を実行する場合は、対数損失を選択します。

常にトレーニングを評価することを忘れないでください。

<<:  Googleの最新のNLPモデルは、パラメータが300分の1しかないのにBERTに匹敵するパフォーマンスを実現

>>:  今日は秋分の日で収穫の季節。ドローンがショーの中心です。

ブログ    

推薦する

データセット検索アーティファクト! 100 個の大規模な機械学習データセットがここに収集されています

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ChatGPTの最強の対戦相手が実際のテストでWen Xin Yi Yanに敗れました!

編纂者:王睿平校正 | Yan Zheng著作権侵害、プライバシー侵害、度重なる訴訟により、Chat...

顔認識システムに関するよくある質問8つ

今日のスマートフォンやノートパソコンに搭載されている顔認識機能のおかげで、顔認識テクノロジーの概念は...

インテリジェント交通の時代に踏み出すには、これら 3 つのことをうまく行う必要があります。

[[438413]]都市の生命線であり動脈である交通の発展は極めて重要です。しかし、近年、都市化が...

グラフィカルな説明 | RSAアルゴリズムとは

[[339878]]この記事はWeChatパブリックアカウント「Backend Technology...

人工知能業界マップと主要なブレークスルー

Sage の予測によると、人工知能の出現により、2030 年までに世界の GDP がさらに 14% ...

...

...

...

Google の優れた NLP 事前トレーニング モデルはオープンソースで、BERT に勝る

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

...

...

世界中でデータ損失を防ぐ先進技術の役割

デジタル時代が進化するにつれ、世界的なデータ損失を防ぐための高度なテクノロジーの役割がますます重要に...

ロボットやAIが事故を起こした場合、誰が責任を負うのでしょうか?

[[348005]]自動運転車が歩行者をはねた場合、法的責任を負うのは誰でしょうか?所有者、製造者...