前回の記事(機械学習入門②)では、データを整えることの難しさ——欠損値・データリーケージ・特徴量エンジニアリングについて書いた。
今回はその続き。モデルを作った後の話だ。「良いモデル」とは何か、どうやって評価するのか。ここが機械学習で一番ハマりやすいところだと感じた。
過学習という罠:丸暗記したモデルは使えない
機械学習を学んで最初にぶつかる大きな概念が過学習(オーバーフィッティング)だ。
わかりやすい例えがあった。受験勉強で過去問を丸暗記した状態をイメージしてほしい。過去問はほぼ100%解けるようになった。でも本番の試験では全然解けなかった——これがまさに過学習だ。
学ぶべきだったのは答えそのものではなく、出題傾向と対策。ノイズ(たまたまその問題に出た細かい話)と本質的な情報(シグナル)を見分けられなかった状態。
機械学習でも同じことが起きる。学習データにピッタリ合いすぎたモデルは、新しいデータ(未知のデータ)に対してまったく使えなくなる。
この「見知らぬデータにも対応できる力」を汎化能力と呼ぶ。モデルの目的は学習データを丸暗記することではなく、汎化能力を持つことだ。
ホールドアウト法:モデルを「知らないデータ」でテストする
過学習を防ぐための基本的な手法がホールドアウト法だ。
やり方はシンプル。手元のデータを最初から2つに分けておく。
- 学習データ(約70%):モデルの構築に使う
- テストデータ(約30%):モデルの評価に使う(学習には一切使わない)
モデルが本当に汎化能力を持っているかどうかは、学習に使っていないデータで予測させてみることでしか確認できない。学習データでの精度が高くても、テストデータで精度が落ちるなら過学習している。
さらに精度の高い評価方法としてクロスバリデーション(交差検定)もある。データを5分割して、学習用と検証用をローテーションしながら5回評価する方法だ。1回のテストより信頼性が高い。
「正解率99%」が意味をなさないケース
モデルの精度を測る指標として、まず思い浮かぶのが正解率(Accuracy)だ。「全体の何%を正しく予測できたか」というシンプルな指標。
でもこれだけ見ていると大きな落とし穴がある。
例えば、ある深刻な感染症の検査を考えてみる。感染者の割合が人口の0.01%だとする。このとき、「全員を陰性と判定する」というアルゴリズムを作ると、正解率は99.99%になる。でもこれは明らかに役に立たない。
感染者を一人も見つけられていないのに、正解率だけ見ると優秀なモデルに見えてしまう。
これが正解率の限界だ。特に陽性と陰性の数に偏りがある場合(不均衡データ)は、正解率だけで判断してはいけない。
混同行列:予測の「内訳」を見る
そこで使うのが混同行列(Confusion Matrix)だ。予測結果を4つに分類して内訳を見る。
| 予測:陰性(−) | 予測:陽性(+) | |
|---|---|---|
| 実際:陰性(−) | TN(真陰性) | FP(偽陽性) |
| 実際:陽性(+) | FN(偽陰性) | TP(真陽性) |
この内訳から、目的に合わせた評価指標を使い分ける。
- リコール(再現率) = TP ÷ (TP + FN):本当に陽性のうち、正しく陽性と予測できた割合。見逃したくない場合に重視(例:病気の検査、不正検知)
- プレシジョン(適合率) = TP ÷ (TP + FP):陽性と予測したうち、実際に陽性だった割合。外したくない場合に重視(例:スパムフィルター)
- F1スコア:リコールとプレシジョンの調和平均。両方バランスよく見たいときに使う
どの指標を重視するかはビジネスの目的次第。貸し倒れ予測なら「貸し倒れる人を見逃さない(リコール重視)」か「貸し倒れないと判断した人はちゃんと貸し倒れない(プレシジョン重視)」か、によって変わる。
AUC:しきい値に依存しない評価指標
混同行列はしきい値(何%以上を陽性とみなすか)を決めて初めて計算できる。しきい値を変えると数値も変わる。
しきい値に依存せずモデル全体の性能を評価できる指標がAUC(Area Under the Curve)だ。
AUCの直感的な解釈はこうだ。「実際に陽性のデータと陰性のデータをランダムに1件ずつ取り出したとき、陽性の方が高い予測スコアになる確率」がAUCの値になる。
- AUC = 0.5:完全にランダム(役に立たない)
- AUC = 1.0:完璧に分類できている
- 実務では0.7〜0.8あれば十分なことが多い
異なるモデルを比較するときにも使いやすく、分類問題の評価指標として最もよく使われる。
学んだこと:「良いモデル」は目的によって変わる
過学習・ホールドアウト法・混同行列・AUC——これらを学んで気づいたのは、「良いモデル」に絶対的な基準はないということだ。
何を最小化したいのか、何を見逃してはいけないのか。ビジネスの文脈によって重視する指標は変わる。精度を上げることが目的ではなく、ビジネス課題を解決することが目的だ。
IT歴30年でも、こういう「評価の設計」という発想はなかった。システムを作る世界では動くか動かないかが基準だけれど、機械学習では「どのくらい良く動くか」をビジネス目的に合わせて定義し直す必要がある。この感覚の違いが、データサイエンスを学ぶ面白さだと思っている。
→ 【機械学習入門④の記事はこちら】※公開後リンク追加予定
学びを深めるのにおすすめの本
①モデル評価・過学習を体系的に学ぶなら
『機械学習のエッセンス』(SBクリエイティブ、加藤公一著)
数学的な背景を丁寧に解説しながら、過学習やバイアス・バリアンスのトレードオフを理解できる一冊。「なぜそうなるのか」を理解したい人に向いている。
②ビジネス目線でAI評価を学ぶなら
『Machine Learning Yearning』(Andrew Ng著、無料公開)
Coursera創業者でAI界の第一人者Andrew Ngが書いた実践的なガイド。評価指標の選び方、過学習への対処法など、現場で役立つ判断基準が平易な英語で書かれている。無料で読めるのも嬉しい。
Get The Machine Learning Yearning Book By Andrew NG | Free d…