ユニット 7 / 11

モデルの評価: メトリクス、相互検証、極端な学習

利益:

  • 仕事の目的に応じて、分類および回帰メトリクス (混同行列、精度/再現率/F1、MAE/RMSE/R²) を選択して解釈する能力
  • トレーニングとテストのスコアを比較することで過学習を検出し、相互検証で信頼性の高いパフォーマンスを得る機能
  • 各モデルをベースラインと比較することにより、実際の価値を追加するかどうかを評価する機能

モデルのセットアップは簡単です。実際に効果があるかどうかを正直に測定することは困難です。この単元の主題は、データ サイエンティストの最も重要なスキルです。つまり、適切なメトリックを使用してモデルを評価し、信頼性の高い予測パフォーマンスを達成し、最も狡猾な罠である過学習 (暗記) を捕捉することです。 AI はメトリクスを計算、解釈、比較します。しかし、どの指標がビジネスに適しているか、またモデルが「十分に優れている」かどうかを判断するのは人間次第です。間違った指標に注目しているチームは、数か月間、悪いモデルを「成功」と誤解する可能性があります。

精度が十分ではない理由: 混同行列

分類において最初に思い浮かぶ指標は精度 (精度、つまり正しい予測の合計比率) です。しかし、ユニット 6 で見たように、不均衡なデータでは精度が誤解を招きます。まずは混同行列、つまり予測を 4 つのビンに分割するテーブルから始めるのがよいでしょう。

  • トゥルー ポジティブ (TP): 本当に偽物であるものを偽物と呼びます。 (良い)
  • 真の陰性 (TN): 私たちは本当にクリーンだと言いました。 (良い)
  • 誤検知 (FP): クリーンなものが偽物であると誤って言いました。 (誤報)
  • 偽陰性 (FN): 偽を見逃したため、クリーンと判断しました。 (脅威を見逃した)

これら 4 つのボックスから 2 つの主要な指標が導き出されます。精度: 「私が偽物と呼んでいるもののどれくらいが実際に偽物ですか?」 — 誤報コストが高い場合に重要です。感受性(英語での回想): 「本物の偽物を何個捕まえましたか?」 — 脅威を見逃すことが高くつく場合に重要です。この 2 つはしばしば矛盾します。しきい値を下げて「フェイク」と言う回数が増えると、再現率は向上しますが、精度は低下します。 F1 スコアは、これら 2 つのバランスの取れた平均 (調和平均) です。

注意: 「どの指標が重要であるか」という質問に対する答えは、技術的な決定ではなく、ビジネス上の決定です。がん検診で症例を見逃す(再現率が低い)ことは悲惨です。重要なメールをスパムフィルターにスパム(低精度)として送信するのは迷惑です。コストによって指標が決まります。

回帰指標

出力が数値の場合は、異なるメトリックが使用されます。 MAE (平均絶対誤差): 同じ単位で、推定値が実際の平均からどの程度乖離しているかを示します (例: 「平均で 4,200 TL 間違っています」)。 RMSE (二乗平均平方根誤差): 重大なエラーに対してより厳しいペナルティを課し、外れ値に敏感です。 R² (R 二乗 — 決定係数): モデルがターゲットの変動をどの程度説明するか (1 に近いのは良好、0 は平均を予測するのと同じくらい悪い、負の場合はさらに悪い)。

最も狡猾な罠: 過剰学習

過学習 (モデルはトレーニング データを記憶しているが、新しいデータでは失敗する) は、データ サイエンスにおいて最も一般的な間違いです。症状は明らかです。モデルはトレーニング セット (98%) では良好ですが、テスト セット (72%) では不良です。モデルは、データ内の実際のパターンではなく、その特定のサンプルのノイズを記憶しています。逆の場合もあります。つまり、モデルがパターンを捉えるには単純すぎるため、トレーニングとテストの両方で不適切です。

過学習に対抗する方法: モデルの簡素化、より多くのデータ、正則化 (モデルが複雑になりすぎないようにする数学的ブレーキ)、そして最も重要なのは相互検証です。

相互検証: 単一ペインを信頼しない

単一のトレーニング/テスト ポッドでは、運が良い場合もあれば、不運な場合もあります。テスト セットが簡単であるという理由だけで、そのテスト セットで高得点を得ることができます。相互検証 (略して CV) がこれを解決します。最も一般的な形式は k 分割 CV です。データは k 個の部分 (例: 5) に分割されます。各ラウンドの一部はテストで、残りはトレーニングです。これを 5 回行い、5 つのスコアが平均されます。したがって、パフォーマンスは、単一の幸運な分割ではなく、複数の分割の平均に基づいていることがわかります。スコアの分布も有益です。非常に不安定なスコア (あるフロアで 85%、別のフロアで 62%) は、モデルが不安定であることを示しています。

通常の k-fold は時系列では使用されません (将来が漏れます)。代わりに、「順方向連鎖」(時系列分割) を実行します。つまり、常に過去を使用してトレーニングし、未来をテストします。

メートル法

問題の種類

それはいつ重要ですか?

精度

分類

クラスのバランスが取れていれば

精度

分類

誤警報は高価です

感度(リコール)

分類

逃すと高くつくなら

F1

分類

バランスが必要な場合

回帰

解釈可能なエラー

RMSE

回帰

大きなミスが重大な場合

回帰

説明力

ミニケース3個

ケース 1 — 精度が高いという錯覚。ある不正モデルは 99.2% の精度を示し、チームはそれを祝いました。混同マトリックスを見ると、データ内の本物と偽物の割合は 0.8% でした。モデルは偽物をほとんど見つけられず、ただ「すべてクリア」とだけ言いました。再現率は6%でした。教訓: 精度ではなく指標に注目してください。

ケース 2 — 潜在的な過剰学習。あるチームは、トレーニング セットで XGBoost を 97% まで向上させました。テストセットは 69% でしたが、誰も見ていませんでした。モデルは本番環境で崩壊しました。相互検証が行われていれば、最初からフォールド間の大きな差 (過学習) が見えていたでしょう。教訓: 学歴のスコアではなく、履歴書とテストのスコアを信頼してください。

ケース 3 — 幸運な分割。あるアナリストは、1 回の分割で 88% を獲得できて大喜びしました。彼の同僚が 5 倍の CV を行ったとき、スコアは 88%、71%、83%、64%、79% でした。平均は 77% ですが、非常に不安定です。モデルは不安定でした。単一のコンパートメントは誤解を招きました。教訓: 個々のビンではなく、CV の平均と分布に注目してください。

コピー可能な 4 つのテンプレート

1) 完全な分類レポート:

トレーニング済みのモデルとテストセットがあります。生成: 混同行列、適合率、再現率、F1 (クラスごと)、およびサポート数。私は推測していますが、それは私次第です。どの指標が重要であるかは私が教えます。不均衡なデータでは精度が誤解を招く可能性があることに注意してください。

2) 過学習制御:

TRAINING セットと TEST セットの両方でモデルのスコアを並べて印刷します。それらの差を計算し、大きな差は過学習の兆候であるため警告します。差が大きい場合は、正則化または単純化を提案します。

3) 相互検証:

5 分割相互検証を実行します (層別、分類の場合)。各フォールドのスコア、平均、標準偏差を出力します。スコアの変動が非常に大きい (標準偏差が高い) 場合は、モデルが不安定であることを示します。パイプラインを使用して、変換が各レイヤーのトレーニング部分からのみ学習されるようにします。

4) ベースラインの比較:

モデルのメトリクスを DummyClassifier ベースラインと並べて配置します。モデルはベースラインを大幅に上回っていますか?合格しない場合は、そのモデルが実際の価値を追加しないことを明確にしてください。

弱いプロンプト / 強いプロンプト

弱いプロンプト:

私のモデルは大丈夫ですか?

「良い」とは定義されていません。どのメトリック、どのしきい値、どのベースラインが明確ではありません。 AI は単一の精度数値を与えて誤解を招く可能性があります。

強力なプロンプト:

あなたの役割: 評価アシスタント。分類、不均衡データ (12% 陽性)。優先順位: リコール (ポジティブな点を見逃さない)。タスク: (1) 混同行列、(2) 適合率/再現率/F1、(3) 5 層化 CV 平均と標準偏差、(4) DummyClassifier ベースラインの比較。精度ではなく、再現率とベースラインの差に焦点を当てます。コメントしますが、最終決定は私が行います。

ここでは、メトリクスの優先順位、CV、ベースライン条件が明確です。

よくある間違い

  • 不均衡なデータの精度を信頼します。 99% の精度では少数派をまったく捉えられない可能性があります。混同行列を見てください。
  • 学歴だけを見てみると。高学歴なのにテストの点数が低いというのは過剰学習です。常に 2 つのスコアを比較してください。
  • 単一のコンパートメントに依存します。幸運の分け方は誤解を招きます。相互検証を使用して平均と分布を確認します。
  • ベースラインと比較していません。モデルが愚かな予測子に勝つかどうかが分からなければ、「良い」とは言えません。
  • 時系列で通常の k 倍を使用します。それは未来を漏らす。時系列分割が必要です。
ヒント: 各モデルの横に 3 つの数値 (トレーニング スコア、相互検証平均、ベースライン スコア) を書き込みます。このトリオは、過剰学習 (トレーニング >> CV) と過小評価 (CV ≈ ベースライン) を一目で明らかにします。

要約すると

モデルを構築するのは簡単ですが、それを正直に評価するのは難しいです。分類では、混同行列、適合率、および再現率の方が、精度よりもはるかに有益です。どちらが重要かは仕事のコストによって決まります。 MAE、RMSE、R² は回帰に使用されます。最も狡猾な罠は過剰学習です。トレーニングとテストのスコアを常に比較します。単一の分割ではなく、相互検証の平均と分布に依存します。すべてをベースラインと比較します。 AI はこれらすべてを計算しますが、どの指標を使用するかを決定するのは人間に任されています。

アプリケーションタスク

分類モデルの混同行列、精度、再現率、および F1 を抽出します。次に、5 分割相互検証を実行し、分割全体のスコア分布を確認します。最後に、トレーニング スコア、CV 平均、ベースライン スコアを並べて書き留めます。モデルが過学習していてベースラインを超えているかどうかを 1 文でコメントしてください。

チェックリスト

  • [ ] 精度ではなく、ジョブの実際の指標 (精度/再現率/F1 など) を調べましたか?
  • [ ] 混同行列を調べたことがありますか?
  • [ ] トレーニングとテストのスコアを比較し、過剰学習がないかチェックしましたか?
  • [ ] 交差検証を使用して平均と分布を確認しましたか?
  • [ ] モデルをベースラインと比較しましたか?