0

私は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%の精度を得ているという点で私の結果は本当に良いです。

私の質問は私のオートエンコーダーにあふれていますか?私は別のニューラルネットワークを使用してオーバーフィットしていますか?私はデータポイントの数が少ないことを心配しています。私のドロップアウトの使用は分かりやすいようですか?

答えて

0

完全にデータにフィットするまで非表示レイヤーのサイズを増やしてから、非表示レイヤーサイズを使用してドロップアウトパラメータを増やして、モデルの動作を確認してください。

alphaパラメータを追加して、ウェイト更新を調整することもできます。

あなたはいくつかのパラメータをまとめて運が良いかもしれません。

関連する問題