2014-08-31 38 views
-1

我使用優化算法找到patternnet神經網絡的最佳結構+輸入MATLAB R2014a using 5倍交叉驗證。我應該在哪裏初始化我的神經網絡的權重?在MATLAB中使用優化算法和交叉驗證找到最佳神經網絡結構

*Position_1(for weight initialization)* 

for i=1:num_of_loops 
*Position_2(for weight initialization)* 

- repeating cross validation 
for i=1:num_of_kfolds 
*Position_3(for weight initialization)* 
- Cross validation loop 

end 
end 

我重複5-fold cross validation(因爲交叉驗證的隨機選擇),以具有更可靠的輸出(平均神經網絡輸出的)。哪個部分更適合重量初始化(Position_1Position_2Position_3),爲什麼?

謝謝。

回答

1

當神經網絡構建用於訓練時,權重通常是隨機的。

我不完全理解你的問題,但我相信你問的是'什麼時候權重應該初始化?爲什麼?'。我還假設您正在創建五個具有不同摺疊子集的訓練數據的不同神經網絡,並將結果平均以評估泛化誤差。

如果以上情況屬實,我認爲每個神經網絡都應該分配不同的隨機權重(由您的權重範圍參數定義)。這些應該在訓練開始之前分配給NN。

+0

謝謝你的回答。問題是這樣的:我可以設置一些函數在哪裏可以初始化權重。如果我初始化位置1的權重,所有重複都有相同的初始權重(k倍和循環)。在位置2中,只有k-摺疊具有相同的初始權重,並且在位置3中,我們在神經網絡的整個調用中具有新的權重初始化。 – user2991243 2014-09-01 05:42:12

+0

鑑於每一次摺疊都會有不同的訓練數據,即使初始權重相同,每種摺疊也會有不同的學習。我一直從不同的隨機權重開始,爲每個神經網絡進行交叉驗證,套袋或其他集成學習方法。走另一條路可能沒有錯,但是這種方法在迭代之間更加隨機。 – 2014-09-01 06:00:24

+0

所以位置3是最好的。確實如此? – user2991243 2014-09-01 06:05:41