前提・実現したいこと
ここに質問の内容を詳しく書いてください。
kerasを使いあるデータのクラス分類を行なっているのですが、エポックが進むごとにたまに精度が下がったりする事がありますがこれって普通に起こりえる事でしょうか?
以下のようにして、評価データをエポックごとに見ているのですが、突然精度が下がったりします。
model.fit(X_train, y_train, batch_size=100, verbose=1, epochs = epoch, validation_data = (X_test,y_test))
評価データの中からランダムにとってきてそれを評価しているならばたまたまとってきたところが学習できていないタイプのデータだったりすることによってこういうことが起きているのかとも思いますがどうなんでしょうか?
________________________________________________
追記です。
回答ありがとうございました。
データの表示やコールバック等はすでに使用しています。しかし後半精度がガクッと落ちてしまったりということがありました。ここで思ったのは評価データに偏りがあり、後半の評価データには教師データの数が少ないものが集中しており、それが原因かとも思ったのですが、validation_data = (X_test,y_test))となっている部分で、これが評価データに当たるのですが、毎エポックごとにこれはランダムに評価データをとってきているのでしょうか?そうだとしたら評価データの偏りは問題にならないし、モデルやパラメータの方に問題があるのかもしれませんが・・・
また、kerasの根本的な質問ですが、評価データに限らず、教室データの方も、バッチの数だけ毎回ランダムに使って学習しているのでしょうか?それともバッチ数100なら教師データ上から100、次はその次の100、という様にはなっていませんか?
________________________________
さらに追記です。
doropoutやbatchnormなどは使用して現在こんな感じです。
徐々に精度が下がってしまっています。。。
回答3件
あなたの回答
tips
プレビュー