正确理解成本最小化

数据挖掘 线性回归 成本函数
2022-03-03 04:25:05

我无法理解这个简单的概念。

假设我们有一个线性回归,并且有一个参数 theta 需要优化(为简单起见):

h(x)=θx

误差成本函数可以定义为J(θ)=1m(h(x)y(x))2, 对于每个x.

然后,theta 将更新为:

θ=θα1m(h(x)y(x))x, 对于每个x.

据我了解,alpha 项后的乘数是误差成本函数的导数J. 这个术语告诉我们前进的方向,以达到最低限度,一次迈出一小步。我正确理解“爬山”的概念,至少我认为。

这是我似乎没有绕开的地方:

如果已知误差函数的形式(就像在我们的例子中:如果我们取足够多的 theta 值并将它们插入模型中,我们可以直观地绘制函数),为什么我们不能取一阶导数并将其设置为零(如果函数具有多个 theta,则为偏导数)。这样,我们将拥有函数的所有最小值。然后使用二阶导数,我们可以确定它是最小值还是最大值。

我已经在微积分中看到过这样的简单函数y=x2+5x+2(可能是几年前,也许我错了),那么是什么阻止我们在这里做同样的事情呢?

抱歉问了这么愚蠢的问题。

谢谢你。

1个回答

考虑区分这个

θXθy2=2XT(Xθy)=0

因此解决这个问题,会给我们

XTXθ=XTy

解决这个问题将在理论上为我们提供最佳解决方案。然而,数值稳定性是一个问题,也不要忘记计算复杂性。求解线性系统的复杂度是三次方。

此外,有时,我们甚至不知道是否有封闭形式,基于梯度的方法可能更适用。