雙曲正切激活我一直在努力的UFLDL教程(在MATLAB /八度):稀疏自動編碼器與UFLDL
http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial
,並已嘗試在不同的數據集稀疏自動編碼器。我嘗試在時間序列數據上運行它並遇到問題。由於輸入數據具有負值,所以S形激活函數(1/1 + exp(-x))不合適。當替換爲tanh時,優化程序minfunc(L-BFGS)失敗(步長在TolX下)。我沒有改變就大幅降低了TolX常數。 我改變輸出層爲線性,保持輸入層sigmoid,但這不是一個可取的解決方案。自編碼器的輸出由一個常數(0.5)放大,這會擾亂成本函數。所以....簡而言之:
爲什麼Tanh激活函數不適用於L-BFGS? (或者是其他錯誤)?
..我錯過了什麼?在任何地方都可以讀到它說激活函數是可以互換的。我知道有解決方法(重新調整數據,使用FFT係數等),但我不明白爲什麼這不起作用。
無論如何,先謝謝任何人的答案!在這裏的第一篇文章,我一直在閱讀這些類型的論壇越來越多,我發現它們越來越有幫助..
你知道tanh函數的導數是否正確導出? – 2012-07-11 12:48:04
1 - tanh(x)^ 2對不對? – 2012-07-11 13:14:07
http://www.wolframalpha.com/input/?i=derivative+tanh – 2012-07-11 13:18:27