是Netlab的函数mlperr计算均方误差?

时间:2013-09-22 16:32:45

标签: matlab machine-learning neural-network mean-square-error

我想知道Netlab package中的mlperr是否正在计算均方误差。 documentation表示它依赖于输出的单位激活功能。这有什么意义?它不应该独立于那个吗?

我也尝试阅读source code of mlperr,但我没有看到任何可能让我认为这是MSE错误功能的迹象。

这里的任何Netlab专家都能提供一些见解吗?谢谢! :)

1 个答案:

答案 0 :(得分: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)))

可以看到整个来源here