
1.5
はじめての(簡単な)機械学習アプリケーション
19
図1-5
モデルを複雑にすればするほど、曲線はデータの複雑さを捉えているようです。誤差の値を見るこ
とでも、そのことがわかります。
Error d=1: 317,389,767.339778
Error d=2: 179,983,507.878179
Error d=3: 139,350,144.031725
Error d=10: 121,942,326.363461
Error d=100: 109,318,004.475556
しかし、得られた曲線を詳しく見てみると、「これらのモデルは、データを生み出している本当のプ
ロセスを正しく捉えているのか?」と疑問に思うことでしょう。言い換えると、「これらのモデルは、
webサイトを訪れる顧客の集団行動を正しく表現できているのか?」ということになります。多項式の
次数が
10
と
100
の場合を見ると、短い周期で振動するような曲線になっています。これはモデルが
データに適応しすぎて
いるようです。つまり、プロセスの本質を捉えているだけではなく、データに含
まれるノイズまでも捉えていることになります。このような振る舞いは過学習(overfitting)と呼ばれま
す。
この時点で、次に取るべき行動は、次の3つが考えられます。
先月のWebトラフィック量
時間