最小化误差的绝对值而不是平方

数据挖掘 优化
2021-09-30 04:37:39

计算绝对值比计算平方要有效得多。那么,与前者相比,使用后者作为成本函数有什么优势吗?正方形更容易分析处理,但在实践中这并不重要。

2个回答

在什么术语中“计算绝对值比计算平方更有效”?与使用的任何估计器/模型的复杂性相比,我认为这并不重要 - 但如果有人让我错了,我会很感兴趣。

再说一次,为什么你认为这在实践中并不重要?使用平滑和凸函数比非凸函数更方便(在时间和结果方面)。

实际上,您可以选择任何功能来最小化您想要的;这只是以下之间的权衡:

  • 您要惩罚哪种值
  • 求解函数的复杂性(数学上:局部或全局解)
  • 耗时(与上一点有关)

1.最小化绝对值

使用绝对值,您可以线性地惩罚yf(x)之间的距离。粗略地说,只要您的估算器f充分解释了足够多的数据,您最终可能会得到很多看起来像异常值的数据。

然后,为了最小化一个函数,人们通常会寻找它的导数的根。然而,|x|的导数 不顺畅。您可以使用次梯度和其他更复杂的数学对象,这些对象可能由于更多的计算而导致更长的时间过程。

2.最小化平方值

在这种情况下, yf(x)之间的距离会受到更多惩罚。您的异常值往往会更少(相对于f(x))。

有趣的是这是一个平滑函数(即定义的导数)和凸函数(具有全局最小值)

所以我猜人们认为误差的平方是一个很好的权衡。

平方和绝对值都应该适用于梯度下降,但平方会更好。对于基于微积分的方法,绝对值方法可能难以处理。

如果您使用梯度下降法,那么正方形的效果非常好,因为它倾向于形成一个 U 形,该 U 形距离最小值大步而接近最小值的小步长。相反,绝对值倾向于形成 V 形,其步长大致相同。结果是正方形具有更好的收敛性。

现在,基于微积分的方法倾向于采用函数的导数并将其设置为零。请注意,U 形往往具有明确定义的导数,在最小值处等于零,这非常有效。相比之下,V 形在其最小值处具有未定义的导数,这往往会使共轭梯度方法不可逆。

希望这可以帮助!