双方向RNNを使用して、不均衡な発生のイベントを検出します。ポジティブクラスはネガティブクラスの100分の1の頻度です。正則化の使用はありませんが、トレインセットでは100%、検証セットでは30%の精度を得ることができます。私はl2正則化をオンにすると、学習時間を長くする代わりに、列車セットの精度もわずか30%になり、検証セットの精度は100%になります。
データが小さすぎるのではないかと思っていたので、実験のために、以前に使用しなかったトレーニングセットとテストセットをマージしました。状況は私がl2正則化を使用するのと同じでしたが、今はそうではありません。train + testと検証の精度は30%です。
上記の実験で128の非表示のユニットと80のタイムステップを使用している場合、非表示のユニットの数を256に増やしたとき、train + testセットに再度オーバーフィットして100%の精度を得ることができますが、検証セットではまだ30%しかありません。
ハイパーパラメータのオプションをたくさん試しましたが、ほとんど結果がありませんでした。加重クロスエントロピーが問題を引き起こしている可能性があります。ある実験では、陽性クラスの加重は5です。より大きな加重を試行すると、結果の精度はしばしば20%ほど悪くなります。
LSTMセルとGRUセルを試しましたが、違いはありません。
私が得た最高の結果。256の非表示ユニットを持つ2つの非表示レイヤーを試しました。約3日間の計算と8GBのGPUメモリが必要でした。l2の正則化がオンになっているが、それほど強くない状態で再度適合し始める前に、約40-50%の精度を得ました。
私はAdamオプティマイザを使用していますが、他のオプティマイザはうまく機能しませんでした。ステートマシンを使用している間、90%の精度が得られるため、私が持っている機能で十分です。そのステートマシンでは、主な機能は他の機能のプロパティとその可変長に基づく合計としきい値処理であり、その可変長は10の場合もあれば、20のタイムスタンプで機能について話す場合もあります。
この状況で何をすべきかについての一般的なガイドラインはありますか?何も見つかりませんでした。