2016-12-02 86 views
0

我使用MATLAB上堆積稀疏自動編碼工作。 任何人都可以請有什麼建議值應採取 堆積稀疏自動編碼器參數:
L2重量規範化(拉姆達) 稀疏正則(測試版) 稀疏比例(盧)。堆積稀疏自動編碼參數

回答

0

重要的是要認識到有超參數沒有顯着的價值。最佳值會有所不同,具體取決於您建模的數據:您必須在數據上嘗試它們。

sparseAutoencoder拉姆達(λ)是重量衰變術語,其阻礙權重達到大值,因爲它可能過度擬合的係數。權重衰減項(或權重正則化項)是成本函數的一部分,如下面解釋的稀疏項。

的Rho(ρ)是控制隱藏層上激活的平均數量稀疏性約束。它包括使自動編碼器工作,即使相對於輸入單位有相對大量的隱藏單位。例如,如果輸入大小爲100並且隱藏大小爲100或更大(甚至更小但接近100),則可以構造輸出而不會丟失,因爲隱藏單元可以學習身份函數。 Beta(β)是稀疏項的係數,它是成本函數的一部分。它控制稀疏項的相對重要性。 Lambda和Beta指定了它們在成本函數中的相對重要性。

示例:可以在此example其中參數值選擇如下采取贓物。

sparsityParam = 0.1; % desired average activation of the hidden units. 
         % (This was denoted by the Greek alphabet rho, which looks like a lower-case "p", 
         % in the lecture notes). 
lambda = 3e-3;   % weight decay parameter  
beta = 3;    % weight of sparsity penalty term 

但再次,我想要讓你記住,有對超參數沒有明顯VALUES

+0

非常感謝你的回覆@Wasi艾哈邁德。我正在嘗試構建3層堆疊式稀疏自動編碼器模型。我有一個輸入層,它的大小是589,接着是3層autoencoder,接着是一個輸出層,它由一個分類器組成。正如你所說,如果我的輸入層是589,假設我把我的589隱藏尺寸在第一層的自動編碼,什麼應該是第二和第三的自動編碼層隱藏的大小。我們是否必須保持所有自動編碼器圖層的稀疏參數,lambda和beta值相同。首先請幫助先生 –

+0

,對於所有圖層,超參數值應該是相同的。記住這一點,模型具有超參數,而不是層!那麼,爲什麼你會爲不同的圖層選擇不同的超參數?其次,隱藏層的大小應該是決定性因素,因爲大的值可能會過度地滿足您的訓練數據,而較低的值可能會適合。你可以爲不同的隱藏層設置不同的大小。但許多(或大多數)案例中的人對所有隱藏層使用相同的大小。您可以調整並查看您的任務的最佳尺寸! –