Polynomialで予測精度が向上してJが小さくなったか、
Learning Curveの形は変わったか、を
プログラミングしながら検証していきます。
まずDataをSetします。
Train setとTest Setの分け方は同じです。
プログラミングを続けます。
多項式=polynomialの部分です。
今回は最高が2乗のパターンでやります。
多項式化したTraing SetでJを最小にするθを求めている部分です。
Learning Curveを作るための部分です。
赤の点線枠部分でTrain setのm=1,2,3---について、
それぞれ適正θとJを計算している部分です。
緑下線部分でTest setの全Sampleについて、
Train setからでてくるm個の適正θでJを計算しています。
グラフを作る部分です。
できたグラフです↓
が、青の線(Training SetのJ)が見えません。
軸のスケールを変えたいと思います。
軸のスケールを変えるのは
axis([0 30 0 4e+10])
を追加すればできます。
できたグラフです↓
青の線(Training SetのJ)が見えるようになりました。
2つ観点があるかと思います。
①パフォーマンス評価です。
グラフの形からするとまだ
Underfitting=『予測当たらなさすぎ』のようです
②Jの値
前回のグラフでは2e+09くらいで収束していたのが1e+09以下になっているので、
Jが小さくなったのは間違いないようです。
ここまで2乗が最高のケースを行い、『予測当たらなさすぎ』だったので、
3乗に増やそうと思いました。
3乗が最高のケースにすればどうなるだろうかと思って実験してみたんですが、
なぜかdegree=3にすると、↓のように予測値の精度が悪いです。
ちなみにLearning Curveの形です↓
暴れ方がすごいですね。
これは謎です。
実は前々回の日記Learning Curveのfminuncパートの時に
Week4以降でよく出てくるfmincgで実験した時も似たようなことが起こりました。
今後、試行錯誤していく中で解決の糸口が発見できればと思います。
今回はここまでです。また次回頑張ります。
興味あるテーマは↓ですが、
・Week2のMulti課題(家の価格)についてRegularizationを使ってみる
・Week2のMulti課題(家の価格)についてWeek SVMをしてみる
・Week2のMulti課題(家の価格)についてWeek Anomaly detetionをしてみる
・今回の日記に出たPolynomialで作ったFeatureはPCAで次元を落とせるか?
・今回の日記に出たPolynomialの3乗以上のfminuncは何故エラーになるか
・Week2のMulti課題(家の価格)でなぜfmincgは動かなかったか?
Week3の課題をやりたい気持ちもあるので、どっちをやるか悩ましいです。