2017-08-21 13 views
0

私はLSTMで新しく、私は1年間のデータを与えられたIPのトラフィックフローを予測するモデルを訓練しようとしています。このデータセットはKaggle https://www.kaggle.com/crawford/computer-network-trafficによって提供されています。これは、ネットワークがLSTMニューラルネットワークで間違った予測

model = Sequential() 
model.add(LSTM(128,input_shape=(trainX.shape[1], trainX.shape[2]), 
       activation='relu',return_sequences=True)) 
model.add(LSTM(32, return_sequences=True)) 
model.add(LSTM(10)) 
model.add(Dense(1)) 
model.compile(loss='mean_squared_error', optimizer='adam') 
model.fit(trainX, trainY, epochs=10, batch_size=64, verbose=2) 

をモデル化する方法である

あなたは私のカーネルでhttps://www.kaggle.com/asindico/computer-network-traffic-eda/

をすべての詳細を見つけることができますこれは私が10のエポックで

enter image description here

後に得るものですブルーの実際の値は、赤で予測します。

+0

ここでは3つのことがあります。 'sklearn'の' StandardScaller'です。 2. LSTMの最初のレイヤーから 'relu'を削除すると、実際に訓練に害が及ぶ可能性があります。 3.それ以上のトレーニング - LSTMはより長いトレーニングを好む。 –

答えて

3

残念ながら、この問題の普遍的な解決策はありませんが、モデルがデータをアンダーフィットしていることは明らかです。

私は何をお勧めしますか?

  • 、お使いのモデルにエポックの

  • 増加数の隠れ層の数を減らし、

  • 変更/

  • 、 "SGD" または "RMSprop" にオプティマイザ機能を試してみてください
  • バッチサイズを増やし、

  • を追加し、正則化とドロップアウトを追加します。

私が言ったように、普遍的な解決法はありませんので、上から何かを試してみてください。

また、出力レイヤーの有効化機能を確認してください。 +は、入力データを正規化することが示唆されていました。

関連する問題