2017-04-26 64 views
1

的成本函數我想改變自動編碼的MATLAB中的成本函數,而不是最小化重構誤差傳統的成本函數。我可以直接在某處明確提及它嗎?或者我必須進入Autoencoder的代碼。你能否建議我可能需要更改的位置?MATLAB:我們怎樣才能改變自動編碼

回答

0

我猜你將不得不改變代碼本身,因爲似乎沒有要改變cost function的任何方式。具體來說,傳遞給trainAutoencoder'LossFunction' parameter似乎有'msesparse'作爲唯一可用的選項。

但是,您可以更改成本函數的2個係數:'L2WeightRegularization' coefficient'SparsityRegularization' coefficient。在L2 RegularizationSparsity Regularization術語的形式出現固定的,雖然。這只是它們在成本函數中改變的相對權重。

+0

謝謝您的回答。具體而言,我想修改成本函數(XI-CI)^ 2,其中CI是類的對象的的平均值。目前,損失函數使用(xi-x'i)類型的符號進行重構。我想根據班級的意思重建。你有如何做到這一點的想法? – Shehroz