我想知道Netlab package中的mlperr
是否正在计算均方误差。
documentation表示它依赖于输出的单位激活功能。这有什么意义?它不应该独立于那个吗?
我也尝试阅读source code of mlperr
,但我没有看到任何可能让我认为这是MSE错误功能的迹象。
这里的任何Netlab专家都能提供一些见解吗?谢谢! :)
答案 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。