暇人日記II

Courseraの課題で学習できたことの応用を書いていきます!

初心者コンテストに挑戦 振り返り

 

それでは振り返ってみたいと思います。

まず合格点は86点でしたが、57点が最高点でした。

 

提出した値がどう評価されたかはわからないので、

Training Setの精度を考えてみたいと思います。

 

精度が95%以上出なかった。

 

Neural Networkの場合

5000の教師データは1が349個で0が4651個でした。

良く起きたのは、Neural Networkの予測値が全部0になりました。

全部0でも4651/5000が当たるので精度93%の予測に見えます。

 

f:id:omoshiroamericanews:20200830132632p:plain

 

1の数は349個近辺になってほしいのですが100前後しか出ていません。

 

そこでMaxIterを増やしました↓

f:id:omoshiroamericanews:20200830132927p:plain

それでも1が300個近辺にはなりませんでした。

 

すでに過学習か?

計算時間が長いので、27100のデータの内5000を検証していました。

5000のデータに対して95%の精度の出る予測は

全体のデータ、つまり27100に対してどういう精度になるのかを

検証したのが↓の表です。

f:id:omoshiroamericanews:20200830133150p:plain

精度が91%になりました。

 

5000のデータで95%の精度は低いと思っていたのですが、

それを全体に当てはめるとさらに低いことになります。

 

27100のデータは1が2112個で0が24988個です。

全部が0の予測で92.2%なので精度91%は相当低いです。

 

今後の課題

a.5000のサンプルで精度98%が出るようにする

b.過学習をどう考えるか?

 

aについてはinput,hidden,outputの3層でやっていたNeural Networkを4層に変えてみたいと思います。

 

 Logistic Regressionの場合

 

全ての予測が93%前後でした。

やってるときは気づかなったのですが、

全部が0の予測で92.2%なので精度91%は相当低いです。

 なので精度93%もかなり低いということになります。

 

精度が95%以上出せなかったことが全て

だという気がします。

 

もしかすると1の割合が10%のデータというのは特殊であって、

それが影響しているのかもしれませんが、

まずは5000のサンプルで過学習であれ何であれ

95%以上の精度を出すことにトライしてみたいと思います。