2017-11-06 8 views
0

バイナリ分類問題のために非常に不均衡なデータセットでDeep CNNをトレーニングしています。私は90%0と10%1を持っています。 1の誤った分類に不利になるために、私はsklearnのcompute_class_weight()によって決定されたclass_weightを使用しています。 fit_generator()に渡された検証タプルでは、​​sklearnのcompute_sample_weight()によって計算されたsample_weightを使用しています。Kerasがいつも自分のデータの分布を予測しないようにするにはどうしたらいいですか?

ネットワークは正常に学習しているように見えますが、検証の正確さは各エポック後も90%または10%です。 Kerasでこのデータ不均衡の問題を解決するには、どうすればよいですか? fit_generatorの

画像:ログ出力のfit_generator()

画像:log outputs

+0

妥当性検査でいくつの症例がありますか? –

+0

@MarcinMożejko私は1000 1と9000 0を持っています。私は実際にCIFAR-10で0対すべての分類をしています。 – JGG

答えて

0

それはあなたのval_accuracyが0.9から0.1と背中にジャンプすることをY奇妙うたです。正しい学習率がありますか?さらにそれを下げるようにしてください。

私の助言:f1メートル法も使用してください。

あなたはどのようにデータ列セットクラスを分割しましたか?テストセットで同じ速度ですか?

+0

お返事ありがとうございます。 「列車クラスはテストセットで同じレートを持っていますか?」とはどういう意味ですか? – JGG

+0

試験セットと訓練セットで同じクラスのバランスを取っていますか?列車で90/10、試験で90/10ですか? – avchauzov

+0

私は、私の列車のセットに5000と1と45000を持っています。私のテストセットには10​​00と1と9000があります。 @avchauzov – JGG