使用牛顿法优化 OLS

机器算法验证 回归 优化 最小二乘 收敛
2022-02-03 13:24:57

普通最小二乘回归可以用牛顿法求解吗?如果是这样,需要多少步骤才能实现收敛?

我知道牛顿的方法适用于两次可微函数,我只是不确定这如何与 OLS 一起使用。

2个回答

如果用于 OLS 回归,牛顿法在一步内收敛,等效于对系数使用标准的封闭形式解。

在每次迭代中,Newton 方法基于梯度和 Hessian 构造围绕当前参数的损失函数的二次逼近。然后通过最小化这个近似值来更新参数。对于二次损失函数(正如我们在 OLS 回归中所做的那样),近似等效于损失函数本身,因此收敛发生在一个步骤中。

这假设我们使用的是牛顿方法的“香草”版本。一些变体使用受限步长,在这种情况下需要多个步长。它还假设设计矩阵具有满秩。如果这不成立,则 Hessian 是不可逆的,因此在不修改问题和/或更新规则的情况下不能使用牛顿方法(此外,在这种情况下没有唯一的 OLS 解决方案)。

证明

假设设计矩阵XRn×d有满级。yRn成为响应,并且wRd是系数。损失函数为:

L(w)=12yXw22

梯度和 Hessian 是:

L(w)=XTXwXTyHL(w)=XTX

牛顿方法将参数设置为初始猜测,然后迭代更新它们。的当前参数更新后的参数是通过减去逆 Hessian 和梯度的乘积得到的:w0wttwt+1

wt+1=wtHL(wt)1L(wt)

插入梯度和 Hessian 的表达式:

wt+1=wt(XTX)1(XTXwtXTy)

=(XTX)1XTy

这是 OLS 系数的标准封闭式表达式。因此,无论我们为初始猜测选择什么,在单次迭代后我们都会在w0w1

此外,这是一个静止点。请注意,的表达式不依赖于,因此如果我们继续超过一次迭代,解决方案不会改变。这表明牛顿法一步收敛。wt+1wt

它需要一次迭代,主要是因为牛顿法通过一步求解近似二次方程来工作。由于平方误差损失二次的,因此近似值是精确的。

牛顿的方法 我们有

ββf(β)f(β)
f(β)=yxβ2
f(β)=2xT(yxβ)
f(β)=2xTx

首先,为简单起见,从开始。第一次迭代是,即 所以我们得到标准解决方案。β=0f(0)/f(0)

(2xTx)1(2xT(yxβ))=(xTx)1xTy

从其他地方开始,第一个迭代是

β(2xTx)1(2xT(yxβ))=β+(xTx)1xTy(xTx)1xTxβ=(xTx)1xTy