有人可以就反向传播中的错误计算做出解释,这可以在许多代码示例中找到,例如:
error=calculated-target
// then calculate error with respect to each parameter...
平方误差和交叉熵误差是否相同?怎么样?
...谢谢
答案 0 :(得分:1)
我会在培训集中注明x
示例,f(x)
针对此特定示例预测您的网络,并g_x
与{{1}相关联的基本事实(标签) }}
简短的回答是,当您拥有一个能够准确,可区分地预测所需标签的网络时,会使用根均方误差(RMS)。当您的网络预测一组离散标签的分数时,将使用交叉熵错误。
为了澄清,当您想要预测可以连续变化的值时,通常使用均方根(RMS)。想象一下,您希望您的网络预测x
中的向量。例如,当您想要预测表面法线或光流时就是这种情况。然后,这些值可以连续变化,R^n
是可区分的。您可以使用backprop并训练您的网络。
||f(x)-g_x||
标签进行分类时很有用,例如,在图像分类中。在这种情况下,n
采用离散值g_x
,其中c_1,c_2,...,c_m
是类的数量。
现在,你不能使用RMS,因为如果你假设你的网络预测了确切的标签(即 m
),那么f(x) in {c_1,...,c_m}
不再是可区分的,你不能使用反向传播。因此,您创建的网络不直接计算类标签,而是为每个类标签计算一组分数||f(x)-g_x||
。然后,通过最大化分数softmax function,最大化正确分数的概率。这使得损失函数可微分。