potass' blog

ポタシウムのことが書いてないブログ。

Fig1.5 - Python で PRML #02

PRMLパターン認識と機械学習 上)の実装 その2。

Fig1.4 での過程で得られた RMS error(root-mean-square error)が
多項式次数 M に対しどう依存するかをグラフにしたもの。
なお、今回の結果のみでは M = 3~8 のどれを選べばいいのか?*1までは議論できないがその点に関しては§3.5.2参照。
今回は numpy.polyfit を使って省エネ。

題材

PRML 上巻 1章 図1.5

コード

出力結果

*1:今回の場合はPRML のように M = 3~8 が綺麗なフラットとはならなかった。 恐らく training set のデータ点数が少なく、データ生成時の乱数への依存度が大きいことによると思う。なお実装上は test set のデータ点数を1オーダー大きくとり検証時に training set の overfitting がたまたま合致とはならないようにした。