データから学ぶAI:教師あり学習と過学習
「AIの基礎:探索から機械学習まで」のレッスン 10 / 15・約6分
正解つきデータからルールを学ぶ教師あり学習、分類と回帰、k-NN、過学習と汎化のトレードオフを学ぶレッスンです。
このレッスンで学ぶこと
- 正解つきの例から学ぶ仕組みと、分類・回帰の見分け方
- 過学習を、練習と本番の差で見抜く
レッスンの内容
見分け方を、例から見つけさせる
迷惑メールの特徴はルール化が困難です。そこで大量の「迷惑」「普通」メールをAIに見せます。
これが機械学習。正解つきの例から学ぶ方法を教師あり学習と呼びます。
答えの形は2種類
「迷惑か普通か」のように、決まった種類から1つ選ぶのが分類です。
「明日の最高気温は何度か」のように、数値そのものを当てるのが回帰です。
3000万円を超えるかを当てるAI
問題:家の広さや駅からの距離から「3000万円を超えるか、超えないか」を当てるAIは、分類と回帰のどちらを解いている?
- 2つの種類から選ぶので分類(正解)
- 金額の話なので回帰
- 答えが2つなので両方
解説:出力は「超える」「超えない」の2つの札なので分類です。金額が出てきても、答えが種類なら分類。3120万円のように価格そのものを当てるなら回帰になります。
近くのミカンに聞いてみる
大きさとつやで並ぶミカンの味を予測します。聞くご近所の数を1と3で比べましょう。
近い k 個の多数決
ミカンの味は、最も近い $k$ 個の多数決で決めました。これがk近傍法です。
$k=1$ だと異質な1個に引っぱられますが、3個に聞けばその1個は少数派になります。
聞く数を増やすと何が変わる?
問題:k近傍法でミカンの味を当てるとき、聞く数 k を1から3に増やすと判定が安定しやすいのはなぜ?
- 外れた1個だけで答えが決まらなくなるから(正解)
- 遠くの例ほど重く数えるようになるから
- すべての例の平均で決めるようになるから
解説:k=1 では、すぐ隣の1個だけで答えが決まります。3個に聞けば、間違ったラベルが1個混ざっていても多数決でカバーできます。
曲線を、点に合わせすぎると
練習の7点にAIが曲線を合わせます。モデルの複雑さを1〜6で変え、ズレを比べます。
練習は満点、本番は大外れ
複雑さ6の曲線は、練習の7点をすべて通り、ズレは0でした。それなのに本番の点は大きく外します。
点に混じった偶然のゆらぎまで覚えたからです。これを過学習と呼びます。
目指すのは、見ていない例
複雑にするほど練習の誤差は減りますが、本番の誤差は途中で増えます。
未知の例も当てる力を汎化と呼び、これが学習のゴールです。
練習99%、本番60%のAI
問題:迷惑メール判定AIが、練習に使ったメールでは99%当たるのに、新しく届くメールでは60%しか当たらない。まず疑うべきことは?
- 練習メールを覚えすぎた過学習(正解)
- モデルが単純すぎて学べていない
- 新しいメールのほうが難しいだけ
解説:練習で当たり本番で外れる差が過学習です。単純すぎるモデルなら練習でも当たりません。
例の一部を、先に隠す
過学習を防ぐため、例を8割と2割に分け、8割だけで学ばせます。
隠した2割がテストデータ。これで本当の実力を測ります。
テストデータを先に見せたら
○か✕か
○か✕か:隠しておいたテストデータを学習中に一度でも見せると、そのテストの点数は本当の実力より高く出やすい。
答え:○。テストデータは見せない本番用です。事前に入手した過去問と同じで正当に評価できません。
ペアを見つけよう
正解つきで学び、分類と回帰に分かれます。暗記予防は隠したテストデータで確かめます。
例から学ぶAIの正体
- 正解つきの例からAIに見分け方を見つけさせる
- 答えが種類なら分類、数値なら回帰
- k近傍法は近い $k$ 個の多数決で答える
- 合わせすぎるとブレまで覚えて本番で外す
- 一部を隠して採点し、未知の例への対応力を測る
本番で使えるかを確かめる数字
問題:迷惑メール判定AIを作りました。新しく届くメールでも使えるかを確かめるのに、いちばん頼れる数字はどれ?
- 学習に使わず隠したメールでの正解率(正解)
- 学習に使ったメールでの正解率
- 学習に使ったメールの通数
解説:練習用の正解率は暗記で上がるため不十分です。次は正解のないデータから学ぶk-meansや強化学習を学びます。
用語
- 分類(Classification)
- 決められた選択肢から答えを1つ選ぶ問題。迷惑メールか普通のか、など。
- 回帰(Regression)
- 気温や価格などの数値そのものを当てる問題。
- 汎化(Generalization)
- 未知の新しい例でも正確に当てる力。
- 過学習(Overfitting)
- 練習データに合わせすぎて偶然のブレまで覚えてしまい、新しい例で外すこと。
- k近傍法(k-Nearest Neighbors)
- 最も近い $k$ 個の例の多数決で答えを決める方法。
- 機械学習(Machine Learning)
- 人がルールを書く代わりに、たくさんの例からAI自身に法則を見つけさせる方法。
- テストデータ(Test Data)
- 隠しておき最後の採点だけに使う評価データ。
- 教師あり学習(Supervised Learning)
- 正解の札つきデータで学ばせる方法。