0

我想知道Netlab 包mlperr中的是否正在计算均方误差。文档指出它依赖于输出的单位激活函数。这有什么意义?它不应该独立于那个吗?

我还尝试阅读源代码,mlperr但没有看到任何迹象可以让我认为这是一个 MSE 错误函数。

这里有任何 Netlab 专家可以提供一些见解吗?谢谢!:)

4

1 回答 1

1

该方法用于根据多层感知器的输出激活来评估多层感知器。它假设最常见的用法,所以:

  • 对于线性输出,它返回 MSE 错误

    0.5*sum(sum((y - t).^2))

  • 对于逻辑输出,它返回交叉熵误差

    -sum(sum(t.*log(y) + (1 - t).*log(1 - y)))

  • 对于 softmax 输出,它返回相应的能量误差

    -sum(sum(t.*log(y)))

完整的来源可以在这里看到。

于 2013-09-22T16:43:13.697 回答