使用错误分类数作为 objective 函数进行反向传播
Use number of misclassificatios as objective function for back propagation
我是机器学习(中性网络)的新手,我有一个问题,请帮我解释一下。
在反向传播中,要最小化的 objective 函数通常是输出和目标之间的误差平方和。然而,在分类问题中,目标通常是最小化错误分类的总数。为什么这个误分类总数不能直接作为反向传播的objective函数?
因为数学。我们真的很想尽量减少错误分类的数量,但这个目标是非 smooth (and not even continuous),因此很难优化。
所以,为了优化它,我们使用平滑"proxies":平方和以连续的方式惩罚你的错误。即,输入参数的(非常)微小偏差会导致输出发生微小变化。如果使用非连续目标函数,情况就不会如此。
另外请注意,要找到错误分类,您需要将输出与实际答案进行比较。由于您不能使用 ==
直接比较浮点数是否相等,因此您需要容忍一些错误。而且,当答案的数量级要大得多时,错过 0.001
的答案真的不是什么大问题。因此,您想使预测尽可能接近真实答案,您可以通过最小化从预测到答案的总距离来实现。
我是机器学习(中性网络)的新手,我有一个问题,请帮我解释一下。 在反向传播中,要最小化的 objective 函数通常是输出和目标之间的误差平方和。然而,在分类问题中,目标通常是最小化错误分类的总数。为什么这个误分类总数不能直接作为反向传播的objective函数?
因为数学。我们真的很想尽量减少错误分类的数量,但这个目标是非 smooth (and not even continuous),因此很难优化。
所以,为了优化它,我们使用平滑"proxies":平方和以连续的方式惩罚你的错误。即,输入参数的(非常)微小偏差会导致输出发生微小变化。如果使用非连续目标函数,情况就不会如此。
另外请注意,要找到错误分类,您需要将输出与实际答案进行比较。由于您不能使用 ==
直接比较浮点数是否相等,因此您需要容忍一些错误。而且,当答案的数量级要大得多时,错过 0.001
的答案真的不是什么大问题。因此,您想使预测尽可能接近真实答案,您可以通过最小化从预测到答案的总距离来实现。