予測曲線と誤差を比べる

現在1次。学習誤差9.06、検証誤差9.74。

1 次
単純な曲線複雑な曲線

データと予測曲線

予測曲線

同じ傾向から生まれた点です。青い学習用の点だけから予測曲線を作ります。

学習用 25点検証用 100点 · 学習には不使用
学習用・検証用のデータと1本の予測曲線横軸は入力x、縦軸は出力y。青い塗りつぶしの丸が学習用25点、オレンジの白抜きの丸が検証用100点です。同じ傾向から生まれた2組のデータに対し、学習用の点だけから作った予測曲線を表示しています。次数を変えても目盛りは固定です。020400246810出力 y入力 x
学習誤差9.06
検証誤差9.74
予測のずれ · 小さいほどよい

複雑にすると、予測のずれはどう変わる?

━ 学習誤差┄ 検証誤差
モデルの複雑さと予測のずれ1次から20次までの学習誤差と検証誤差。現在は1次、学習誤差9.06、検証誤差9.74。051015101520予測のずれモデルの複雑さ(次数)

丸印は今選んでいる複雑さです。学習誤差が下がっても、学習に使っていないデータへの予測がよくなるとは限りません。

条件を変えて試すデータの数・ばらつき・表示
5.0
なし(0)大きい(10)

20次のままデータを増やすと、検証誤差はどう変わりますか? ばらつきを0にした場合も比べてみましょう。ばらつきはノイズの標準偏差です。

ばらつきを加える前の曲線を、破線で表示します。

データを増やすと、学習誤差と検証誤差の差が小さくなることもあります。差が小さい場合も、その変化を観察してみてください。データ数を変えると学習用の点を配置し直し、検証用の点は保持します。

学習不足・適合・過学習の違い

学習不足

学習不足(アンダーフィッティング)は、モデルが単純すぎて、大まかな傾向を捉えきれない状態です。学習用のデータに対しても、ずれが大きく残ります。

適合

大まかな傾向を捉え、学習に使っていないデータにもよく合う状態です。ばらつきがあれば、ずれが0になる必要はありません。

過学習

過学習(オーバーフィッティング)は、学習用のデータの偶然のばらつきまで拾い、新しいデータへの予測が悪くなる状態です。学習誤差だけでは見抜けません。

このシミュレータの仕組み・誤差の意味

グラフの「学習誤差」「検証誤差」は、点と予測曲線の縦方向のずれを1つの数値にまとめたものです。学習用の点で計算した値が学習誤差、学習に使っていない検証用の点で計算した値が検証誤差です。小さいほど予測がよく当てはまり、0ならすべての点で予測と実際の値が一致します。

この教材では、RMSE(二乗平均平方根誤差)という指標を使います。各点のずれを二乗して平均し、その平方根を取ることで計算します。出力 y と同じ尺度でずれを表し、大きく外れた予測ほど値に強く影響します。

特定の題材や単位を持たない、入力 x と出力 y の架空データです。山と谷がある三次関数にランダムなノイズを加え、多項式回帰の次数を変えて比較しています。次数は表現できる曲線の複雑さを表し、1次は直線、次数を上げるほど細かく曲がれるようになります。

学習用・検証用の点は、同じ曲線と同じ大きさのばらつきから別々に生成しています。学習用の点は数値計算を安定させるために決められた位置に、検証用の点はランダムな位置に配置しています。曲線は学習用の点だけから作り、検証用の点は予測の確認に使います。複雑さを変えてもグラフの目盛りは固定しています。

「データのばらつき」の設定値は、出力 y に加えるノイズの標準偏差です。出力 y と同じ尺度でばらつきの大きさを表し、特定の単位はありません。

ここで比較しているのは1組の学習・検証データです。検証データで複雑さを選んだ後の性能を確かめるには、さらに別のテストデータが必要です。