私は1100
の2つのクラスのシーケンスを持っています。そのうち400
は、class 1
および700
から、class 2
である。私は2
ニューロンの隠れたレイヤーの自動エンコーダーを使用して自分の機能をキャプチャしました。私の初期の特徴は各シーケンスのトリグラムです。ですから、各シーケンスに対して私は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%
の精度を得ているという点で私の結果は本当に良いです。
私の質問は私のオートエンコーダーにあふれていますか?私は別のニューラルネットワークを使用してオーバーフィットしていますか?私はデータポイントの数が少ないことを心配しています。私のドロップアウトの使用は分かりやすいようですか?