如何在matlab中编写交叉熵误差函数

时间:2013-08-20 17:59:22

标签: matlab entropy

有人可以帮我编写Matlab中的交叉熵损失函数。我想编写代码 单行使用@ ie函数句柄。错误功能是

E(w)= 1 / N *求和(n = 1..N)ln(1+ exp(-y(n)* w * x(n)))

N是训练样例的总数。 'w'是函数的参数。 'x'是包含训练样本特征的向量,'y'是相应的标签。

每次评估'E'都需要处理所有训练样例。

非常感谢

1 个答案:

答案 0 :(得分:1)

我不确定为什么这么难,但这是一个版本

E = @(w)mean(log1p(exp(-y.*w.*x)));

在不知道xwy的维度的情况下,我无法确定其中的一个或多个不需要转置(或{ {1}}甚至是一个矢量。)