さて、今回は番外編ということで”Courcera Machine Learning Week 4”より、非常に難解だったニューラルネットワークを少し応用して遊んでみたいと思います。
今回やりたいことは、前回に続いて2つ目です!
- 与えられたデータをトレーニング/テストセットに分けてモデルの精度確認
- 予測の結果、学習させたモデルによって間違えて予測した数字の表示
- ペイントで書いた数字を入力して予測!
※前提として、Courcera Machine Learning Week 4の課題が終わっていることとします。もし終わっていない方はこっそり参考にしてください。
2.間違えてしまった画像データの確認
ニューラルネットワークでも予測が困難なへたくそな字を確認するコードを作っていきたいと思います。
まずはpred関数に学習済みシータ1,2とまだ見ぬデータX_testを入れて予測してみましょう。pred_testに予測結果が入ります。
pred_test = predict(Theta1, Theta2, X_test);
続いて間違えて予測した画像データが何番目のなのかカウントしていきます。
ここでは、for文を用いて一つずつpred及びyを照らし合わせていきます。pred(i)においてy(i)の値と差があった行番号を行列mis_numに格納していきます。
t=size(pred,1);
mis=zeros(t,1);
mis_num=0;
for i=1:t
if (pred(i)~=y(i))
mis(i)=1;
mis_num=[mis_num i];
endif
end
そして得られたmis_num行列をdisplayData関数に入れてみましょう。
displayData(X_test(mis_num,:));
するとこんな感じに表示されます。
左:間違えて予測した画像データ 右:元のデータからランダムに抽出した画像
確かに、人間の目で見てもこれは何て書いてあるかわからない!というのが多い気がしますが、明らかに分類できよこれ!ってのもありますね。
こうして考えると人間の目は相当優秀な分類器なんですね。
さて、次回は実際に自分で書いた数字を分類させたいと思います!
とあるデータサイエンティストの競馬予測チャレンジ Optunaで精度UP編
本記事ではモデリング後に試行錯誤を繰り返した結果、LighGBMのパラメータを変更することで簡単に精度アップ! 競馬予測チャレンジ目次! データ取得編1(過去のレースデータ取得) データ取得編 […]
とあるデータサイエンティストの競馬予測チャレンジ データ収集編1
最近、馬娘で人気沸騰中の競馬ですが、友人の勧めで競馬予測を始めました。 競馬予測チャレンジ目次! データ取得編1(過去のレースデータ取得) ⇦本記事はココ データ取得編2(スピード指数取得) 特徴量エンジニ […]
番外編3 ニューラルネットワークの応用(Courcera 機械学習より)
さて、今回は番外編ということで”Courcera Machine Learning Week 4”より、非常に難解だったニューラルネットワークを少し応用して遊んでみたいと思います。
番外編2 ニューラルネットワークの応用(Courcera 機械学習より)
さて、今回は番外編ということで”Courcera Machine Learning Week 4”より、非常に難解だったニューラルネットワークを少し応用して遊んでみたいと思います。 今回やりたいことは、前回に続いて2つ目 […]
番外編1 ニューラルネットワークの応用(Courcera 機械学習より)
さて、今回は番外編ということで”Courcera Machine Learning Week 4”より、非常に難解だったニューラルネットワークを少し応用して遊んでみたいと思います。
コメント