局部加权线性回归(Locally Weighted Linear Regression)

在线性回归中,我们需要去确定使用的特征,特征的选择对结果影响很大。如果特征很多,则容易过拟合;特征太少又容易欠拟合。我们不可能对每个特征组合都去试一次,下面介绍的局部加权线性回归(LWR)方法可以减少特征选择对结果影响,同时很好地拟合数据。

LWR 的主要思想是:我们要用多项式去局部地拟合待预测点附近的数据,而对离预测点远的数据不关心。

在最初的线性回归算法中,对于预测点$x’$,我们通常要做的是

  1. 找到能最小化$\sum_i(y^{(i)}-\theta^Tx^{(i)})^2$的$\theta$
  2. 输出$\theta^Tx’$

而在LWR中,对于预测点$x’$,我们要做的是

  1. 找到能最小化$\sum_iw^{(i)}(y^{(i)}-\theta^Tx^{(i)})^2$的$\theta$
  2. 输出$\theta^Tx’$

其中,$w^{(i)}$是一个非负的权重。如果,$w^{(i)}$很大,那么在选择$\theta$时,我们就要努力使$(y^{(i)}-\theta^Tx^{(i)})^2$变小;而如果$w^{(i)}$很小,那么此时,误差项$(y^{(i)}-\theta^Tx^{(i)})^2$对$\theta$的影响就没有那么大。
$w^{(i)}$的一个比较标准的选择是:
$$w^{(i)}=\exp\left(-\cfrac{(x^{(i)}-x’)^2}{2\tau^2}\right)$$
注意到,这个权值的大小是与待预测的点$x’$的位置有关。当数据点离$x’$近的时候,$w^{(i)}$就比较大;当数据点离$x’$远的时候,$w^{(i)}$就比较小。所以,在选择$\theta$的时候就会给离$x’$更近的训练数据更大的权重。参数$\tau$控制了权重随距$x’$距离下降的速度,称为带宽参数。

与一般线性回归不同,LWR是一种非参数(non-parametric)算法。对于参数学习算法(线性回归),当我们用训练集学习到模型的参数后,我们就不需要训练集数据了,之后只需要用这些参数和模型进行预测。而对于LWR,我们在每一次预测时,都需要重新进行学习训练,所以需要一直保留训练集数据。

参考资料

  1. 斯坦福大学机器学习公开课
  2. CS229 Lecture notes