人間も過学習はよくない

こんにちは!
wagaco塾長の中村です!!

 

受験生の気持ちを忘れないために。
僕自身、毎日最低1時間、新しい勉強をするようにしています。

 

今は「機械学習」を勉強しています。
人工知能の作り方、みたいなやつです。

 

機械学習では、「訓練用のデータ」を用意して。
それを使って、機械に学習させます。

 

機械は、そのデータを使って、「答えにたどりつく式」を導き出して。
「未来の数字の予測」など、できるようになります。

 

そんな機械学習では、「過学習」という問題があります。
その名の通り、「学習させ過ぎること」です。

 

「いっぱい学習させて、何が悪いんだ?」と思いません?
僕は最初、めっちゃ思いました。

 

でも問題が大ありでした。
過学習は、「訓練用のデータ」のことだけ考えている状態です。
つまり、「見たこともない新しいデータ」には、弱いんです。

 

訓練用のデータに、ピッタリ完璧に合う式を、機械は導き出す。
でもそれは、ピッタリ合わせるために、とても複雑な式になる。

 

過学習
* 画像はcourseraのMachine Learningコースより。(機械学習を学ぶなら超オススメ!)

 

だから、見たことない新しいデータにその式を使うと、ヘンテコな答えが出てくる。
つまり、見たことないデータには、全然役立たない。

 

これが「過学習」という状態です。

 

「見たことないデータにも対応できる」ようにしないといけない。
この力を、汎化(はんか)能力といいます。
汎化能力が必須です。

 

過学習を防ぎ、見たことない新しいデータに対応できる汎化能力。
これを身につけるには、別のアプローチが必要です。

 

さて、人間の学習も、機械学習に似ています。
人間にとっても「過学習」は、よろしくない。

 

もうすぐ中学生が定期テストです。
試験範囲、配られます。

 

「ワークを3周、4周するのに、点数がイマイチ伸びない。。。」
という悩み、よく聞きます。

 

ワークを過学習し過ぎてるんですね。
(もちろん「提出のために1回だけやる」よりは、はるかにいいですが。)

 

ワークはあくまでも、「訓練用のデータ」です。
試験に出るのは、「見たこともない新しいデータ」です。

 

ワークばっかりやってても、ある時点から力が伸び悩みます。
どうしても答えを覚えるなど、してしまうからです。

 

これでは、「見たこともない新しい問題を解く力」は身につかない。
汎化能力が必要です。

 

じゃあ、見たこともないテストの問題に対応するには?
実戦的な問題を、テスト形式でこなしていくことです。

 

ワークでほどほどに学習して、力をつけて。
実戦的な練習を繰り返して。
間違えることで、そこからまた新たに学習をして、さらにパワーアップして。
また実践練習をして…

 

この繰り返しで、力はついていきます。

 

機械も人間も、学習の仕方は本当に似ています。
みんなの力がグングン伸びる環境創り。
これからも精進し続けます!

 

コメント

タイトルとURLをコピーしました