発生している問題・エラーメッセージ
python初心者です。
現在、kerasを使ってMLPの学習を行うプログラムを作っているのですが、batch_sizeについてわからないことがあります。
私はbatch_sizeを以下のように認識しています。
・バッチ分データを分割して学習(batch_size=2, data_set=50の場合、50/2回学習)する。
・batch_size=1であれば確率的になる。
・指定しない場合はDefault=32となる(Noneでも)。
・batch_sizeは2^nで決めると良い。
今回、この認識を頼りにepoch=50、batch_size=2で学習を行ったところ、精度が途中で下がるなど上手く学習することができませんでした。損失関数は比較的きれいに減衰していく様子が確認できました。
そこで私はbatch_sizeとepoch数を変えながら調節していたのですが、まさかのbatch_size=0のときが最も高い精度を出すことができました。また、グラフ(x軸:epoch数,y軸:損失関数・精度)もとてもきれいなものが出せました。
しかし、batch_size=0といものは正当なものなのでしょうか?
私の認識ではバッチデータ分分割して学習するということから外れていると思っています。
私は、batch_size=0のままでも問題はないのか、もしくは私のプログラムに問題があると考えた方がよいのか、教えていただきたいです。
分かりづらい文章で申し訳ありませんが、
ご存じの方、ご回答宜しくお願いします。
該当のソースコード
どの部分を載せるべきかわからないため、必要なコードがあれば仰ってください。
すぐに書き加えます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。