私は1100
2つのクラスのシーケンスを持っています。それら400
の 1 からのものclass 1
であり700
、からのものclass 2
です。2
ニューロンの 1 つの隠れ層オート エンコーダーを使用して、特徴をキャプチャしました。私の最初の機能は、各シーケンスのトライグラムです。したがって、シーケンスごとに6860
トライグラムがあります。その結果、私の入力ベクトルのほとんどは疎なベクトルです。
さて、このネットワークのパラメータを計算すると、
6860 * 2 = 13720 paramters (1st layer)
2 * 6860 = 13720 parameters (2nd layer)
-----------------------------------------
27440 parameters (in total)
さて、私のデータポイントの数と比較して、それはあまりにも多くのパラメータです. したがって、ドロップアウト値を使用しました 、0.98
およびlayer 1->hidden layer
各レイヤーhidden layer->output layer
のパラメーターの数とパラメーターの合計数を作成します。13720 * 0.02 = 274
548
さて、トレーニングの後、シーケンスのテストデータでエンコーダーを試し、500
2次元データの隠れ層を抽出しました。次に、そのデータを別の 5 ニューロンの単一隠れ層ニューラル ネットワークで使用して分類します。私の結果は、90%
正確さを回避しているという点で非常に優れています。
私の質問は、オートエンコーダーにオーバーフィットしていますか? 別のニューラル ネットワークを使用して過剰適合していませんか? データポイントの数が少ないことが心配です。私のドロップアウトの使用は賢明に思えますか?