OLS线性回归中的成本函数


31

我对Andrew Ng在Coursera上关于机器学习的线性回归讲座感到有些困惑。在那里,他给出了一个成本函数,该函数将平方和最小化为:

12mi=1m(hθ(X(i))Y(i))2

我知道12来自。我认为他这样做是为了使他在平方项上执行导数时,平方项中的2将被一半抵消。但我不知道来源。1m

为什么我们需要做?在标准线性回归中,我们没有它,我们只是将残差最小化。为什么在这里需要它?1m


1 / 2m有助于找到每个数据点的平均误差,m表示总观测值或观测值数量。
克里希南阿切里

Answers:


33

如您所知,我们当然不需要因子即可获得线性回归。无论有没有,最小化器都将完全相同。用m归一的典型原因1/mm是,我们可以将成本函数视为“泛化误差”的近似值,泛化误差是随机选择的新示例(不在训练集中)的预期平方损失:

假设是根据某些分布进行采样的。那么对于大m,我们期望 1(X,Y),(X(1),Y(1)),,(X(m),Y(m))m

1mi=1m(hθ(X(i))Y(i))2E(hθ(X)Y)2.

更确切地说,通过大数法则强者,我们有

limm1mi=1m(hθ(X(i))Y(i))2=E(hθ(X)Y)2
的概率是1。

注意:以上每个陈述都是针对任何特定的而选择的,而无需查看训练集。对于机器学习,我们希望这些语句持有一段θ基于训练集其良好的性能选择。这些说法仍然可以持有在这种情况下,虽然我们需要在组函数的一些假设{ ^ h θθθ^,而我们需要的东西比大数定律强。 {hθ|θΘ}


1
@StudentT这可能是在总误差中使用平均误差的最佳原因。我的解释实际上只是DavidR更深层原因的表面后果。
马修·特鲁

28

你不具备对。无论是否包含1,损失函数的最小值都相同或抑制它。如果将其包括在内,则可以很好地理解每个数据点的平均误差最小(一半)。换句话说,您是在将错误率(而不是总错误)最小化。1m

考虑比较两个不同大小的数据集的性能。平方误差的原始和不是直接可比的,因为较大的数据集仅由于其大小而倾向于具有更多的总误差。另一方面,每个数据点的平均误差

您能详细说明一下吗?

当然。您的数据集是数据点的集合。一旦你有一个模型^ h的最小二乘误差^ h在单一数据点{xi,yi}hh

(h(xi)yi)2

对于每个数据点,这当然是不同的。现在,如果我们简单地将误差相加(并乘以您描述的原因乘以一半),就可以得出总误差

12i(h(xi)yi)2

但是,如果我们除以求和数,就可以得出每个数据点的平均误差

12mi(h(xi)yi)2

{xi,yi}{xi,yi}


1
我可以跟着您,您能详细说说吗?抱歉,我是机器学习的新手!
SmallChess 2015年

@StudentT我试图澄清我的答案。
马修·德鲁里

1
如果您在进行随机梯度下降时尝试使用最小批量大小,这也是适用的,这是处理大型数据集时最常见的线性梯度下降类型:您可以更轻松地比较误差。
jasonszhao
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.