我们先看一组图片:
这是给出一组实数输入x∈Rx \in \Bbb{R}x∈R后,对目标函数y的估计。最左边的图用y=θ0+θ1xy = \theta_0 + \theta_1 xy=θ0+θ1x去拟合数据。但我们看到大部分训练样本并不在这条直线上,拟合的效果不好。中间的图改用y=θ0+θ1x+θ2x2y = \theta_0 + \theta_1 x + \theta_2 x^2y=θ0+θ1x+θ2x2来拟合数据情况就好很多了。但我们应当注意添加过多的特征也是很危险的。我们可以看最右边的图,用五阶多项式来拟合数据,拟合出的曲线几乎通过了所有的点。但我们不认为这是个好的估计。左边的情况称为欠拟合,右边的称为过拟合,这个问题在后面的章节会有详述。
通过上面的例子可以看到,输入特征的选择对于拟合结果的表现是影响很大的。而这一节讲的局部加权线性回归算法(LWR)在数据集足够的情况下,能让模型选择问题变得不再那么关键。
在原始的线性回归算法中,当给出一个输入点xxx后,我们会采取以下步骤:
- 寻找合适的θ\thetaθ值,使∑i(y(i)−θTx(i))2\sum_i(y^{(i)} - \theta^T x^{(i)})^2∑i(y(i)−θTx(i))2最小化。
- 输出 θTx\theta^T xθTx。
而在局部权重线性回归中,步骤会有所调整:
- 寻找合适的θ\thetaθ值,使∑iω(i)(y(i)−θTx(i))2\sum_i \omega^{(i)} (y^{(i)} - \theta^T x^{(i)})^2∑iω(i)(y(i)−θTx(i))2最小化。
- 输出 θTx\theta^T xθTx。
这里ω(i)\omega^{(i)}ω(i)是非负权重值。我们可以很直观的发现,当ω(i)\omega^{(i)}ω(i)大的时估计值和真实值之间的偏差就会很关键。对应的当ω(i)\omega^{(i)}ω(i)小的时候,偏差就几乎可以忽略了。
而权重的标准形式是:
ω(i)=exp(−(x(i)−x)22τ2) \omega^{(i)} = \text{exp} \left( - \frac{(x^{(i)} - x)^2}{2 \tau^2} \right) ω(i)=exp(−2τ2(x(i)−x)2)
我们注意到权重值ω(i)\omega^{(i)}ω(i)是和预测点xxx直接相关的。离xxx越近的点权重越高,越远的点权重越低。而其中参数τ\tauτ控制了训练样本权重随着距离增大的下降速度,被称为带宽参数。
局部权重线性回归是我们见过的第一个非参数化算法。而前面讨论的线性回归算法则是一个参数化算法。它们之间的区别是,参数化算法需要拟合的参数是固定有限的,当拟合完成后,训练集数据也无需保留。而非参数化算法在拟合完成后,仍需保留训练集样本数据。