質問: 機械学習のプログラムに関しての質問です。 Python下でkerasライブラリを用いました。 MNISTデータを学習させて、自分自身の手書き数字を読み取る というプログラムです。
回答: kerasは全く触ったことないので憶測にはなりますが、気になる部分を... 1下の方のmodel.predict_classes、実際に予測している部分では、入力画素値を255で割って0-1の値に落とし込んでいるのに、学習用のデータX_trainとX_testは255で割っていない。 X_train = X_train.reshape(X_train.shape[0], 784)[:6000] / 255 のようにしなくて大丈夫?(書き方がこれで正しいのか分かりませんが) 2MNISTは学習データ60000個とテストデータ10000個あったと思うのですが、わざわざ頭の6000個と1000個だけ取り出す意味がありますか?keras用の中身を見てないので分かりませんが、もし学習で使った6000個のデータにほとんど2と5しか入ってなかった場合や、テスト用1000個に2と5しか入ってなかった場合、学習結果が2と5ばかり出力するのは当たり前ということになります。 一番怪しい原因は1です。