我想知道Netlab 包mlperr
中的是否正在计算均方误差。文档指出它依赖于输出的单位激活函数。这有什么意义?它不应该独立于那个吗?
我还尝试阅读源代码,mlperr
但没有看到任何迹象可以让我认为这是一个 MSE 错误函数。
这里有任何 Netlab 专家可以提供一些见解吗?谢谢!:)
我想知道Netlab 包mlperr
中的是否正在计算均方误差。文档指出它依赖于输出的单位激活函数。这有什么意义?它不应该独立于那个吗?
我还尝试阅读源代码,mlperr
但没有看到任何迹象可以让我认为这是一个 MSE 错误函数。
这里有任何 Netlab 专家可以提供一些见解吗?谢谢!:)
该方法用于根据多层感知器的输出激活来评估多层感知器。它假设最常见的用法,所以:
对于线性输出,它返回 MSE 错误
0.5*sum(sum((y - t).^2))
对于逻辑输出,它返回交叉熵误差
-sum(sum(t.*log(y) + (1 - t).*log(1 - y)))
对于 softmax 输出,它返回相应的能量误差
-sum(sum(t.*log(y)))
完整的来源可以在这里看到。