機械学習理論研究室
← AI体験の一覧
点の並びに線を引くなら、全部の点をぴったり通る線がいちばん良さそうに思えます。ところが、それをやると次のデータを外します。曲線をどこまで複雑にしてよいのか、自分の手で確かめてみましょう。
畑ごとに、土の温度と、とれた量を測った記録です。点1つが畑1つぶん。横軸が土の温度、縦軸がとれた量です。この点の並びに、なめらかな曲線を当てはめます。
ボタンを押すと、曲線は直線から、山がひとつの放物線、さらにくねくね曲がる線へと変わります。この曲がり方の自由さを次数といいます。次数1が直線、次数2が放物線、数字が大きいほど細かく曲がれます。
左の数字(手元のデータとのずれ)は、次数を上げるほどどこまでも下がります。点の数より1つ小さい次数まで上げると、曲線は全部の点をぴったり通り、ずれはほぼ0になります。
ところが右の数字(本当の形とのずれ)は、途中から逆に大きくなります。点と点のあいだで曲線が激しくうねり、本当の形から離れていくからです。
手元のデータに合わせきることは、正しい形を見つけたことを意味しません。ここが機械学習でいちばん大事な分かれ目です。
| 次数 | 手元のデータとのずれ | 本当の形とのずれ | ようす |
|---|
テストの前に答えを見てしまったら、実力は測れません。曲線でも同じです。学習に使う点(●)とは別に、曲線を決めるときには使わない点(○)を用意しました。曲線は●だけを見て決め、○をどれだけ当てられるかで実力を測ります。
たて線がいまの次数、▼が「いちばん当たる次数」です。たて軸は目もり1つで10倍です。
1. 次数だけを1から15まで動かしてみてください。青い線(学習に使った点での誤差)は下がり続けるのに、赤い線(見ていない点での誤差)は途中から跳ね上がります。
2. 点の数を50まで増やしてから、また次数を上げてみてください。点が多いほど、次数を上げても赤い線は跳ね上がりにくくなります。曲線を複雑にしてよいかどうかは、データの多さで決まります。
3. ばらつきを大きくしてみてください。ばらつきが大きいと、AIは「たまたまのゆらぎ」まで曲線の形として覚えてしまいます。低い次数で止めておくほうが当たります。
図の上をタップすると、そこに点が置けます。今度は自分でデータを作ってみてください。点を置いて次数を変えると、点が少ないところで曲線が暴れるようすを、自分の手で作れます。
色のついていない両端は、1つも点がない範囲です。曲線はそこにも引けてしまいますが、そこでの値は何にも支えられていません。次数を上げると、曲線は端で急に真上や真下へ飛んでいきます。
点のある範囲の中なら、予測したい場所の両隣に点があります。だから曲線は大きく外れません。これを内挿といいます。範囲の外には隣の点がなく、曲線を押さえるものが何もないので、予測は簡単に大外れします。こちらが外挿です。学習したデータの範囲の外は、信用できません。天気でも株価でも、この注意はそのまま当てはまります。
質問を何回も重ねて分類する決定木でも、まったく同じことが起きます。木を深くすると、学習に使ったデータの正解率は上がり続けますが、見ていないデータの正解率は途中から下がります。
次数でも、木の深さでも、正体は同じです。曲線も決定木も、データから作った予測のしくみ、つまりモデルです。モデルを複雑にしてよいのは、手元のデータがそれを支えられる範囲まで。この境目を数学で見きわめることが、機械学習理論の中心的な問題です。機械学習理論研究室では、まさにこの問題を研究しています。
分けると逆転も、手元の数字に素直に従うと結論を誤る話でした。あちらはデータの数え方でつまずき、こちらはモデルを複雑にしすぎてつまずきます。
次のカラークラスタも、ズレの二乗を小さくするという点はここと同じです。ちがうのは、当てにいく正解がないことです。写真の色をいくつかの代表色にまとめる作業には、「この色が正解」という答えがどこにもありません。