指標は、何がうまくいっているのか、何がうまくいっていないのか、そしてその理由を理解するのに役立ちます。機械学習の性能を測定することで、機械学習モデルの有効性を測ることができます。
機械学習の性能指標は、MLOps の重要な部分であり、機械学習モデルの正確度を評価するために使用され、データ・サイエンティストや機械学習の専門家が、モデルの性能や、目的の目標を達成しているかどうかを理解するのに役立ちます。
ここでは、機械学習の性能指標の種類、正確度、ROC 曲線、F1 スコアなどの主要な機械学習の性能指標の概念について解説します。
機械学習の性能指標が重要な理由
機械学習の性能指標は、機械学習のさまざまな重要な側面に役立ちます。
モデルの選択
性能指標は、異なるモデルを比較し、特定のタスクやデータセットに最適なモデルを選択するのに役立ちます。例えば、モデルが誤検出を最小限に抑える必要がある場合、精度は評価に重要な指標となります。
モデルのチューニング
測定基準は、モデルの性能を向上させるために、ハイパーパラメータのチューニングと最適化のプロセスを導くものです。ハイパーパラメータの変化が正確度、精度、リコールなどの指標にどのように影響するかを分析することで、モデルを微調整し、より良い結果を得ることができます。
ビジネスへの影響
性能指標は、機械学習モデルが取り組むべきビジネス目標に直接関連しています。例えば、ヘルスケア・アプリケーションでは、(偽陰性を最小限に抑えるために)精度の高いモデルよりも、リコール率の高いモデルの方が効果的である可能性があります。
モデルのドリフト
展開後、性能指標を監視することで、モデルの劣化やドリフトを検出できます。これは、実世界のアプリケーションにおける機械学習システムの信頼性と有効性を維持するために非常に重要です。
機械学習の性能指標の種類
機械学習の性能指標にはさまざまな種類があり、それぞれが機械学習モデルの性能に関する重要な角度を提供します。
正確度(Accuracy)
正確度は、最も単純な指標です。データセット内のインスタンス合計に対する、正しく予測されたインスタンスの比率です。正確度は、全てのクラスが等しく重要である場合に、バランスの取れたデータセットに便利です。
精度(Precision)
精度は、取得されたインスタンスの関連インスタンスの割合に焦点を当てています。これは、分類器が、負のサンプルを正と誤ってラベル付けしない機能です。医療診断や不正検知など、誤検出のコストが高い場合は、精度が極めて重要です。
リコール(感度)
リコールは、分類器がデータセット内の全ての関連ケースを見つける能力を測定します。これは、全ての正例を見つける分類器の能力です。リコールは、正のインスタンス(偽陰性)を見逃すことが偽陽性よりも重要な場合に重要です。例えば、がんの検出では、たとえ誤警報であっても、実際のケースを全て把握することが重要です。
F1 スコア
F1 スコアは、精度とリコールの調和平均であり、偽陽性と偽陰性の両方を考慮したバランスの取れた測定を提供します。特に、不均衡なデータセットに対処する場合に便利です。精度とリコールのバランスを取りたい場合や、クラス分布が不均等な場合、または偽陽性と偽陰性が同様の重みを持つ場合は、F1 スコアを使用します。
ROC 曲線とAUC
受信者動作特性(ROC)曲線は、異なるしきい値の偽陽性率に対する真の陽性率(リコール)をプロットしたものです。ROC 曲線の下の面積(AUC)は、全てのしきい値にわたる性能の総合指標を提供します。ROC 曲線と AUC は、異なる決定しきい値における真陽性と偽陽性のトレードオフを理解するために、二値分類タスクで特に有用です。AUC は、不均衡やしきい値の選択に役立ちます。
特異度(Specificity)
特異度は、分類器によって正しく負と識別された実際の負例の割合を測定します。真の負例に焦点を当てることで、リコール(感度)を補完します。誤ったアラームが不要な治療やコストにつながるような疾患スクリーニング検査など、負例を正しく特定することが重要なシナリオでは、特異度が重要です。
平均絶対誤差(MAE)と二乗平均平方根誤差(RMSE)
これらの指標は、予測値と実測値の間の誤差の平均の大きさを測定するために、回帰タスクで一般的に使用されます。MAE と RMSE は、住宅価格の予測や販売予測など、エラーの絶対的な重大性が重要な回帰問題に適しています。
これらの指標を理解し、特定の問題領域やビジネス要件に基づいて適切な指標を選択することは、効果的で信頼性の高い機械学習モデルの開発に不可欠です。各指標は、モデル性能のさまざまな側面に関する独自の知見を提供し、モデルの開発、評価、展開時に十分な情報に基づいた意思決定を可能にします。
各指標について詳しく見ていきましょう。
正確度
正確度は、機械学習モデルの全体的な正確性を評価するために使用される性能指標です。正しく予測されたインスタンスと、データセット内のインスタンスの合計数の比率を測定します。つまり、正確度は、モデルが行った全ての予測から正しい予測を行う頻度を定量化します。
数学的には、正確度は次のように計算されます。
正確度 = 正しい予測数 / 予測総数 × 100%
以下に、正確度の仕組みの例を示します。
電子メールがスパムであるかどうかを予測する二値分類の問題があるとします。100 通のメールからなるデータセットがあり、そのうち 80 通はスパムではなく、20 通はスパムです。機械学習モデルをトレーニングした後、80 件の非スパムメールのうち 70 件、20 件のスパムメールのうち 15 件を正しく分類します。
正確度 = (70 + 15) / 100 x 100% = 85%
この場合、モデルの正確度は 85% であり、100 通の電子メールのうち 85 通を正しく分類していることを示しています。
正確度は、全てのクラスが等しく重要で、データセットにクラスの不均衡がない場合にモデルの性能を評価するための適切な指標です。
ユースケース
正確度が適切なシナリオには、次のようなものがあります。
- スパムメールの分類:メールがスパムかどうかの判断
- センチメント分析:顧客レビューを肯定的、否定的、中立として分類
- 画像分類:猫、犬、車などの画像内のオブジェクトの特定
- 疾患の診断:医学的検査結果に基づき、特定の疾患があるかどうかを予測する
制限事項
正確度は、単独の性能測定基準として使用する際に、次のような制限や考慮事項があります。
クラスの不均衡:クラスが不均衡な場合、つまり、あるクラスが他のクラスよりも頻度が高い場合、正確度は誤解を招く可能性がます。例えば、95% の負例と 5% の正例を持つデータセットでは、常に負を予測するモデルは 95% の正確度を達成しますが、正例を特定するには有用ではありません。
不平等なコスト:アプリケーションによっては、あるクラスを誤分類すると、別のクラスを誤分類するよりも深刻な結果を招く場合があります。例えば、医療診断では、偽陰性(病気を見逃す)は偽陽性(病気を誤って診断する)よりも重要になる可能性があります。正確度は、これらのタイプのエラーを区別しません。
予測の信頼性を考慮しない:正確度は、モデルが予測にどの程度自信があるかにかかわらず、全ての予測を等しく扱います。正しい予測に非常に自信があり、正しくない予測にあまり自信がないモデルでも、たとえ全体的に性能が悪かったとしても、高い正確度を維持できます。
異なるグループ間でモデルの性能をキャプチャしない:正確度は、モデルがデータセット内の特定のサブグループやクラスでどの程度機能するかを明らかにしません。全てのクラスを等しく扱うため、異なるクラスの実世界の重要性を反映していない場合があります。
これらの制限に対処するには、問題領域の特定の特性とビジネス要件に基づいた精度、リコール、F1 スコア、受信者動作特性曲線下面積(AUC-ROC)、混同行列分析などの追加の性能指標を考慮することが重要です。これらの指標は、機械学習モデルの性能について、正確度だけでは実現できない、より微妙な知見を提供します。
精度とリコール
精度とリコールは、機械学習モデルの有効性を評価するために使用される 2 つの重要な性能指標です。特に、二値分類タスクで使用されます。
精度は、モデルによって作成された正の予測の正確度を測定します。これは、モデルによって作成された正の予測の合計数に対する正の予測の比率です。
精度 = 真陽性 / (真陽性 + 偽陽性)
精度は重要です。モデルによって陽性と予測されたインスタンスのうち、実際に陽性であるインスタンスの数を示すためです。高い精度は、モデルが偽陽性が少ないことを示しています。これは、誤警報を避けるのが得意であることを意味します。
リコール = 真陽性 / (真陽性 + 偽陰性)
リコールは、モデルが実際に取得できる正例の数を示すため重要です。高いリコールは、モデルがほとんどの正例を効果的に識別し、偽陰性を最小限に抑えることができることを示しています。
精度とリコールのトレードオフ
通常、精度とリコールの間にはトレードオフがあります。精度の向上は、多くの場合、リコールの低下につながります。逆も同様です。このトレードオフは、モデルの決定しきい値を調整することで、真陽性と偽陽性/偽陰性の数に影響が及ぶために発生します。
高い精度、低いリコール:このモデルは、インスタンスを正例にラベル付けする際に慎重で保守的です。偽陽性は避けるように注意しますが、実際の正例を見逃す可能性があり、低いリコールにつながります。
高いリコール、低い精度:モデルは、インスタンスを積極的に陽性として分類するため、ほとんどの正例をキャプチャしますが、偽陽性も増えるため、精度が低くなります。
ユースケース
精度とリコールは、特に次のような点で有用な指標です。
医学的診断:医療診断では、リコール(感度)が精度よりも重要であることがよくあります。たとえ偽陽性(例:疾患があるとフラグが付けられた健康な患者)であっても、全ての陽性症例(例:疾患のある患者)を正しく特定することが重要です。肯定的なケースを見逃すことは、深刻な結果を招く可能性があります。
不正検知:不正検知では、偽陽性(誤ったアラーム)によってユーザーに不便をかける可能性があるため、精度が通常より重要になります。実際の不正事例を確実に把握しながら(リコールに影響を与える)、誤ったアラームを最小限に抑えるために高い精度を保つ方がよいでしょう(これがリコールに影響します)。
情報検索:検索エンジンやレコメンデーション・システムでは、たとえ無関係な項目(精度が低いもの)が含まれている場合でも、関連する結果やレコメンデーションを見逃さないように、リコールが優先されることがよくあります。
F1 スコア
F1 スコアは、精度とリコールを単一の値に組み合わせた性能指標で、機械学習モデルのインスタンスを正しく分類する能力をバランスよく評価します。これは、精度とリコールの両方が等しく重要であり、両者のバランスを取る必要があるシナリオで特に有用です。
F1 スコアは、精度の調和平均を使用して次のように計算されます。
F1 スコア = 2 x (精度 x リコール) / (精度 + リコール)
F1 スコアは 0 から 1 の範囲であり、1 が最良のスコアとなります。精度とリコールの両方が最高レベルになると、この値は最大値に達します。これは、偽陽性と偽陰性の両方を最小限に抑えるバランスの取れたモデルであることを示しています。
F1 スコアのメリット
F1 スコアを使用するメリットには、次のようなものがあります。
バランスの取れた評価:F1 スコアは、精度とリコールの両方を考慮し、モデルの性能をバランスよく評価します。これは、医療診断や異常検出など、偽陽性と偽陰性の両方が同様に重要である場合に特に有益です。
単一の指標:F1 スコアは、精度とリコールを個別に評価するのではなく、単一の値に組み合わせることで、異なるモデルやチューニング・パラメータの比較を容易にします。
不均衡に敏感:F1 スコアは、偽陽性と偽陰性の両方を考慮するため、クラスの不均衡に敏感です。一方のクラスを他方のクラスよりも重視するモデルにペナルティが科されます。
F1 スコアの解釈
F1 スコアの結果を解釈するには、精度とリコールのトレードオフを理解することが必要です。
シナリオと解釈を以下に示します。
高い F1 スコア:F1 スコアが高い場合は、モデルの精度とリコールのバランスが良好であることを示します。これは、モデルが偽陽性を最小限に抑え(高い精度)、ほとんどの正例をキャプチャする(高いリコール)のに効果的であることを意味します。
低い F1 スコア:F1 スコアが低い場合は、精度とリコールの不均衡が示唆されます。これは、モデルが 1 つのクラスに偏っており、多くの偽陽性(低い精度)または多くの偽陰性(低いリコール)につながる場合に発生します。
モデルの比較:異なるモデルを比較したり、ハイパーパラメータを調整したりする場合、特に精度とリコールが等しく重要なシナリオでは、F1 スコアが最も高いモデルを選択することが有益です。
例
スパムメールの分類モデルを考えてみましょう。
モデル A の精度が 0.85、リコールが 0.80 で、F1 スコアが 0.85 であったとします。
一方、モデル B の精度は 0.75、リコールは 0.90 で、F1 スコアは 0.818 です。
モデル B はリコール率が高いにもかかわらず、精度が低いため、モデル A と比較して F1 スコアがわずかに低くなります。これは、アプリケーションの特定の要件に応じて、モデル A の精度とリコールの点でバランスが取れている可能性があることを示唆しています。
ROC 曲線と AUC
前述のように、ROC 曲線と AUC は、特にクラス分布が不均衡なシナリオにおいて、機械学習モデルの予測性能を評価するために二値分類の問題に使用されます。
ROC 曲線
ROC 曲線は、分類モデルの異なるしきい値における真陽性率(TPR、リコールまたは感度とも呼ばれる)と、偽陽性率(FPR)の間のトレードオフをグラフで表したものです。TPR は、モデルによって正しく正例として識別された実際の正例事例の割合を測定し、FPR は、実際には負例が誤って正例として分類された割合を測定します。
ROC 曲線は、さまざまなしきい値設定で TPR(y 軸)を FPR(x 軸)に対してプロットすることで作成されます。曲線上の各点は異なるしきい値を表し、曲線は、分類のしきい値の変化に応じてモデルの性能がどのように変化するかを示しています。
トレードオフの可視化
ROC 曲線は、モデルの決定しきい値が変化するにつれて、感度(リコール)と特異度(1 - FPR)のトレードオフを可視化します。感度(TPR)が高いモデルでは、FPR が高くなる傾向があり、その逆も同じです。この曲線は、可能性のある全てのしきい値にわたるモデルの性能を示し、アナリストは、真陽性と偽陽性のトレードオフに基づいて、特定のニーズに最適なしきい値を選択できます。
AUC
AUC は、ROC 曲線に基づいて分類モデルの全体的な性能を定量化するスカラー値です。具体的には、ROC 曲線の下の面積を測定します。これは、可能な全てのしきい値設定で正例と負例のクラスを区別するモデルの能力を表します。
AUC は、機械学習モデルの全体的な性能の評価に役立ちます。
性能比較:AUC 値が高いほど、モデルの識別能力が向上し、さまざまなしきい値で正例と負例を効果的に区別できます。これにより、異なるモデル間の比較が容易になり、AUC 値が高いほど、全体的な性能が向上します。
クラスの不均衡に対する堅牢性:AUC は、正確度、精度、リコールなどの指標と比較して、クラスの不均衡による影響を受けません。可能な全てのしきい値にわたるモデルの性能を考慮し、クラス分布が歪んでいる不均衡なデータセットに適しています。
しきい値に依存しない評価:AUC は、特定の分類しきい値を指定せずにモデルの性能を評価し、選択した操作ポイントに関係なく、モデルの識別能力をより包括的に評価します。
まとめ
機械学習の性能指標は、モデルの正確度、精度、リコール、F1 スコア、ROC 曲線などの定量的測定を提供することで、さまざまな機械学習モデルの評価と比較に役立ちます。これらの指標を理解することは、データ・サイエンティストや機械学習の専門家にとって、モデルの開発、最適化、展開のさまざまなタスクや課題を解決するうえで非常に重要です。
機械学習の性能指標は、モデルの長所と短所をより深く知見し、モデルの選択、ハイパーパラメータのチューニング、モデルの性能の経時的な監視など、情報に基づいた意思決定を可能にします。精度とリコールが最優先される分類タスク、MAE と RMSE が重要な回帰問題、ROC 曲線と AUC のメリットを享受する二値分類シナリオなど、性能指標を適切に使用すると、機械学習ソリューションの堅牢性と信頼性が向上し、結果の向上とビジネスへのプラスの影響につながります。
機械学習モデルを最大限に活用することで、AI 対応インフラでデータ・ストレージを将来にわたって保護できます。ピュア・ストレージが、モデルのトレーニングと推論の高速化、運用効率の最大化、コスト削減にどのように役立つかをご紹介します。