2017-10-20 60 views
0

我試圖通過向我的原始數據添加噪聲和隨機突變來減少過擬合。Keras:如何改變每個時代的數據

我有變異的訓練數據

x, y = generate_data() 

我想每個時期叫它和培訓的新的數據我的模型的功能。希望是減少過度配合。

history = model.fit(x, y, epochs=100, batch_size=64) 

什麼是最好的方式來改變每個新紀元的數據?

回答

1

只是一個猜測。嘗試:

for _ in range(num_epochs): 
    x, y = generate_data() 
    history = model.fit(x, y, epochs=1, batch_size=64) 
0

model.fit有一個洗牌的說法,默認值爲True。所以它在每個時代洗牌。

def fit(self, x, y, batch_size=32, epochs=10, verbose=1, callbacks=None, 
      validation_split=0., validation_data=None, shuffle=True, 
      class_weight=None, sample_weight=None, initial_epoch=0, **kwargs) 
+0

這隻會隨機化數據的順序。我想每次改變數據 – Karolis

+0

只要你保持你的平衡,對於範圍(num_epochs): x,y = generate_data() history = model.fit(x,y,epochs = 1 ,batch_size = 64)'可以工作,但我相信你的請求會導致你的模型的學習過程延遲。它甚至可能不會收斂。 – TheWho

相關問題