データから学ぶAI:教師あり学習と過学習

「AIの基礎:探索から機械学習まで」のレッスン 10 / 15・約6分

正解つきデータからルールを学ぶ教師あり学習、分類と回帰、k-NN、過学習と汎化のトレードオフを学ぶレッスンです。

このレッスンで学ぶこと

  • 正解つきの例から学ぶ仕組みと、分類・回帰の見分け方
  • 過学習を、練習と本番の差で見抜く

レッスンの内容

見分け方を、例から見つけさせる

迷惑メールの特徴はルール化が困難です。そこで大量の「迷惑」「普通」メールをAIに見せます。

これが機械学習。正解つきの例から学ぶ方法を教師あり学習と呼びます。

答えの形は2種類

「迷惑か普通か」のように、決まった種類から1つ選ぶのが分類です。

「明日の最高気温は何度か」のように、数値そのものを当てるのが回帰です。

3000万円を超えるかを当てるAI

問題:家の広さや駅からの距離から「3000万円を超えるか、超えないか」を当てるAIは、分類と回帰のどちらを解いている?

  1. 2つの種類から選ぶので分類(正解)
  2. 金額の話なので回帰
  3. 答えが2つなので両方

解説:出力は「超える」「超えない」の2つの札なので分類です。金額が出てきても、答えが種類なら分類。3120万円のように価格そのものを当てるなら回帰になります。

近くのミカンに聞いてみる

大きさとつやで並ぶミカンの味を予測します。聞くご近所の数を1と3で比べましょう。

近い k 個の多数決

ミカンの味は、最も近い $k$ 個の多数決で決めました。これがk近傍法です。

$k=1$ だと異質な1個に引っぱられますが、3個に聞けばその1個は少数派になります。

聞く数を増やすと何が変わる?

問題:k近傍法でミカンの味を当てるとき、聞く数 k を1から3に増やすと判定が安定しやすいのはなぜ?

  1. 外れた1個だけで答えが決まらなくなるから(正解)
  2. 遠くの例ほど重く数えるようになるから
  3. すべての例の平均で決めるようになるから

解説:k=1 では、すぐ隣の1個だけで答えが決まります。3個に聞けば、間違ったラベルが1個混ざっていても多数決でカバーできます。

曲線を、点に合わせすぎると

練習の7点にAIが曲線を合わせます。モデルの複雑さを1〜6で変え、ズレを比べます。

練習は満点、本番は大外れ

複雑さ6の曲線は、練習の7点をすべて通り、ズレは0でした。それなのに本番の点は大きく外します。

点に混じった偶然のゆらぎまで覚えたからです。これを過学習と呼びます。

目指すのは、見ていない例

複雑にするほど練習の誤差は減りますが、本番の誤差は途中で増えます。

未知の例も当てる力を汎化と呼び、これが学習のゴールです。

練習99%、本番60%のAI

問題:迷惑メール判定AIが、練習に使ったメールでは99%当たるのに、新しく届くメールでは60%しか当たらない。まず疑うべきことは?

  1. 練習メールを覚えすぎた過学習(正解)
  2. モデルが単純すぎて学べていない
  3. 新しいメールのほうが難しいだけ

解説:練習で当たり本番で外れる差が過学習です。単純すぎるモデルなら練習でも当たりません。

例の一部を、先に隠す

過学習を防ぐため、例を8割と2割に分け、8割だけで学ばせます。

隠した2割がテストデータ。これで本当の実力を測ります。

テストデータを先に見せたら

○か✕か

○か✕か:隠しておいたテストデータを学習中に一度でも見せると、そのテストの点数は本当の実力より高く出やすい。

答え:○。テストデータは見せない本番用です。事前に入手した過去問と同じで正当に評価できません。

ペアを見つけよう

正解つきで学び、分類と回帰に分かれます。暗記予防は隠したテストデータで確かめます。

例から学ぶAIの正体

  • 正解つきの例からAIに見分け方を見つけさせる
  • 答えが種類なら分類、数値なら回帰
  • k近傍法は近い $k$ 個の多数決で答える
  • 合わせすぎるとブレまで覚えて本番で外す
  • 一部を隠して採点し、未知の例への対応力を測る

本番で使えるかを確かめる数字

問題:迷惑メール判定AIを作りました。新しく届くメールでも使えるかを確かめるのに、いちばん頼れる数字はどれ?

  1. 学習に使わず隠したメールでの正解率(正解)
  2. 学習に使ったメールでの正解率
  3. 学習に使ったメールの通数

解説:練習用の正解率は暗記で上がるため不十分です。次は正解のないデータから学ぶk-meansや強化学習を学びます。

用語

分類(Classification)
決められた選択肢から答えを1つ選ぶ問題。迷惑メールか普通のか、など。
回帰(Regression)
気温や価格などの数値そのものを当てる問題。
汎化(Generalization)
未知の新しい例でも正確に当てる力。
過学習(Overfitting)
練習データに合わせすぎて偶然のブレまで覚えてしまい、新しい例で外すこと。
k近傍法(k-Nearest Neighbors)
最も近い $k$ 個の例の多数決で答えを決める方法。
機械学習(Machine Learning)
人がルールを書く代わりに、たくさんの例からAI自身に法則を見つけさせる方法。
テストデータ(Test Data)
隠しておき最後の採点だけに使う評価データ。
教師あり学習(Supervised Learning)
正解の札つきデータで学ばせる方法。