有人可以帮我编写Matlab中的交叉熵损失函数。我想编写代码 单行使用@ ie函数句柄。错误功能是
E(w)= 1 / N *求和(n = 1..N)ln(1+ exp(-y(n)* w * x(n)))
N是训练样例的总数。 'w'是函数的参数。 'x'是包含训练样本特征的向量,'y'是相应的标签。
每次评估'E'都需要处理所有训练样例。
非常感谢
答案 0 :(得分:1)
我不确定为什么这么难,但这是一个版本
E = @(w)mean(log1p(exp(-y.*w.*x)));
在不知道x
,w
和y
的维度的情况下,我无法确定其中的一个或多个不需要转置(或{ {1}}甚至是一个矢量。)