MATLAB:我们如何改变自动编码器的成本函数

MATLAB:我们如何改变自动编码器的成本函数,matlab,deep-learning,autoencoder,Matlab,Deep Learning,Autoencoder,我想改变MATLAB中自动编码器的代价函数,而不是传统的最小化重建误差的代价函数。我可以直接在某处明确提到它吗?或者我必须输入自动编码器的代码。您能告诉我可能需要更改的位置吗?我猜您必须更改代码本身,因为似乎没有任何方法可以更改代码。具体来说,传递给的对象似乎只有'msesparse'选项可用 但是,您可以更改成本函数的两个系数:和。不过,和术语的形式似乎是固定的。成本函数中改变的只是它们的相对权重。我猜您必须改变代码本身,因为似乎没有任何方法可以改变成本函数。具体来说,传递给的对象似乎只有'm

我想改变MATLAB中自动编码器的代价函数,而不是传统的最小化重建误差的代价函数。我可以直接在某处明确提到它吗?或者我必须输入自动编码器的代码。您能告诉我可能需要更改的位置吗?

我猜您必须更改代码本身,因为似乎没有任何方法可以更改代码。具体来说,传递给的对象似乎只有
'msesparse'
选项可用


但是,您可以更改成本函数的两个系数:和。不过,和术语的形式似乎是固定的。成本函数中改变的只是它们的相对权重。

我猜您必须改变代码本身,因为似乎没有任何方法可以改变成本函数。具体来说,传递给的对象似乎只有
'msesparse'
选项可用


但是,您可以更改成本函数的两个系数:和。不过,和术语的形式似乎是固定的。成本函数中更改的只是它们的相对权重。

谢谢您的回答。具体来说,我想将成本函数修改为(xi ci)^2,其中ci是对象类的平均值。现在,损失函数使用(xi-x'i)类型的符号来重构。我想根据班级的平均数进行重建。你对怎么做有什么想法吗?谢谢你的回答。具体来说,我想将成本函数修改为(xi ci)^2,其中ci是对象类的平均值。现在,损失函数使用(xi-x'i)类型的符号来重构。我想根据班级的平均数进行重建。你对如何做到这一点有什么想法吗?