見出し画像

PRML:1.1節(多項式曲線フィッティング)の紹介(PART1)

『パターン認識と機械学習(上)』というあの黄色本を用いてゼミを行った際の発表資料をnoteにもアップすることにしました。noteにはゼミ資料を再編集したものをアップします。本ノートでは、1.1節の部分の発表資料をアップし、その前半部分のコメントを記します。

↓1.1節の説明資料はこちら。

↓1章のイントロ部分を説明した資料やnote記事はこちらを参照してください。

1.1節ではどんな問題を考えるか?

まず、機械学習は訓練データを用意します。教師あり学習では入力データxと出力データtの組み合わせ(x, t)をたくさん(N個)用意します。今回はこのページに記した方法で人工的にデータを生成しました。

教師あり学習の目的は、人工的に生成した観測データを訓練データとし、訓練データ集合から入出力の関係を推定して、新しい入力に対する適切な予測を得られるようにすることです。1.1節ではどのように入出力の関係を予測するか、その基本的な方法が紹介されています。

※ 人工データは、入出力の関係がわかっているため、自身が用いた手法の有効性を確認したり、機械学習について勉強する際には非常に有効です。

多項式フィッティング

機械学習の枠組みで「入出力の関係を推定」するというのは、ゼロから関係を表現する関数 y(x, w) を決定することではありません。あらかじめ、入出力の関係を表すモデル y(x, w) の形を決めておき、そのモデルに含まれるパラメータ w を推定することをいいます。

パラメータ w を推定する際は、何らかの基準で決めますが、その一つの基準として、「各データに対する予測値 y(x_n, w) と真の目標値 t_n の間の二乗誤差の和を最小化する w を選択する」という基準があります。今回はこの方法でパラメータ w を決定しました。

重みパラメータ w の推定方法

重みパラメータ w を推定する方法はPRMLの1.1節では紹介されていませんが、上記1.1節の説明資料はその概略をのせています。以下の計算は、機械学習関連の計算の中では非常に基本的な計算です。計算の詳細は適当な参考書を参照してください。

多項式曲線フィッティングの結果

上記の方法で重みパラメータを計算することで、入出力関係を表す推定曲線を得ることができます。曲線を0次や1次、つまり直線とすると、うまく入出力を推定できないのは明白です。今回の場合、入出力関係を3次関数とした場合は、うまく近似できていることがわかります。9次関数で近似しようとするとうまくいきませんでした。

過学習

0次、1次の場合にうまく真の曲線を近似できないのは明白だと思いますが、なぜ9次関数ではうまく近似できなかったのでしょうか?上に示した例のように、用意した訓練データには完璧に適合しているものの、入出力の関係の近似としては不適切で、新しい入力データに対して、適切な出力値を返せない場合は「過学習」と呼ばれます。

過学習が起こる要因はいくつか考えられますが、今回の場合は「訓練データの個数が仮定したモデルのパラメータの数に比べて十分多くない」ことによります。9次関数の場合、10個のパラメータを推定する必要があります。その状況で10個のデータだけを用意すると、この10個のデータに合うように無理やりパラメータを調節することになってしまいます。

過学習を抑制する方法はいくつかあり、1.1節の後半ではその方法を紹介しています。ここまでに5つのトピックについてコメントを記して、本ノートも長くなってきたので、残りの内容に関するコメントは別のノートで。

※本資料はGithubにもアップロードしています。本ノートおよびアップロードしている資料について何かありましたら、noteのコメント欄までお願いします。

この記事が気に入ったらサポートをしてみませんか?