kerasで回帰タスクを学習しているのですが、Dropoutを設定すると、epochsの前半でtrain_lossとval_lossが逆転してしまいます。
データを提示できる、また、公開データだと再現できない中での質問で恐縮ですが、なぜこういうことが起こるのでしょうか?
なお、データ数400、特徴量数900くらいの横長のcsvデータを学習しています。
Dropoutありのコード
Python
1# モジュールやデータ読み込みは省略 2model = keras.models.Sequential() 3model.add(keras.layers.Dense(30, activation='relu', input_dim=X_prepared.shape[1])) 4model.add(keras.layers.Dropout(0.3)) 5model.add(keras.layers.Dense(10, activation='relu')) 6model.add(keras.layers.Dropout(0.3)) 7model.add(keras.layers.Dense(1)) 8model.compile(loss='mean_squared_error') 9 10history = model.fit(X_train, y_train, epochs=1000, validation_data=(X_valid, y_valid))
Dropoutなしのコード
Python
1# モジュールやデータ読み込みは省略 2model = keras.models.Sequential() 3model.add(keras.layers.Dense(30, activation='relu', input_dim=X_prepared.shape[1])) 4# model.add(keras.layers.Dropout(0.3)) 5model.add(keras.layers.Dense(10, activation='relu')) 6# model.add(keras.layers.Dropout(0.3)) 7model.add(keras.layers.Dense(1)) 8model.compile(loss='mean_squared_error') 9 10history = model.fit(X_train, y_train, epochs=1000, validation_data=(X_valid, y_valid))
Dropoutありの学習曲線
Dropoutなしの学習曲線

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/18 05:02 編集
2021/06/18 05:53
2021/06/21 02:20