机器学习笔记—局部权重线性回归
看下面三幅图,x 轴是房间面积,y 轴是房价。
左图是 y = θ0 + θ1x 拟合数据集的结果。可以看到数据并不贴靠在直线上,所以拟合并不好。
中图是 y = θ0 + θ1x + θ2x2 拟合数据集的结果,拟合得还不错。
右图是 y = θ0 + θ1x + θ2x2 + θ3x3 + θ4x4 + θ5x5 拟合数据集的结果,虽然曲线跟数据拟合得极好,但我们这是一个好的预测。
左图被称为欠拟合,数据并没有被模型捕获。右图被称为过拟合。
由以上例子可见,特征的选择对于保证学习算法好的性能是很重要的。当我们讲到模型选择时,会看到自动选择特征集合的算法。
这次我们先讲局部权重线性回归算法,使得特征的选择没那么重要,怎么做到的呢?请往下看。
在原始的线性回归算法中,要在 x 点做一个预测,我们会执行:
1、变动 θ 以最小化 ∑i(y(i)-θTx(i))2
2、输出 θTX
在局部权重线性回归算法中,做法稍有不同:
1、变动 θ 以最小化 ∑iw(i)(y(i)-θTx(i))2
2、输出 θTX
多了个 w(i),是做什么用的呢?
w(i) 是非负值的权重,直观上看,当 w(i) 很大时,那么在选择 θ 时,我们会尽量使 x(i) 点的值 (y(i)-θTx(i))2 小,也就是更加重视 x(i) 点的预测准确度,当 w(i) 很小时,那么 x(i) 点的准确度我们就不那么在乎, (y(i)-θTx(i))2 的误差大也无所谓,也可以说不在乎 x(i) 点。
权重通常定义为:
可以看到权重大小决定于我们要评估的 x 点的位置,当 x(i) 离 x 点很近,即 |x(i)-x| 很小接近于 0 时,那么 w(i) 就接近 1;当 x(i) 离 x 点很远,即 |x(i)-x| 很大时,那么 w(i) 就变得很小。所以在 θ 的选择上给予查询点 x 附近的训练集更高的权重。τ 是控制 x(i) 的权重随着离 x 距离变远而变小的速度。
局部权重线性回归算法是我们介绍的第一个非参数算法。之前我们介绍的线性回归算法是参数学习算法,因为它有固定、有限个数的参数 θ,一旦我们找到合适的 θ,在预测新数据是,就不再需要训练数据集。而局部权重线性回归算法,做预测时,就需要用到整个训练集。术语 ”非参数“ 实际上就是为了表示假设 h,我们需要保持的负担量随训练集大小呈线性增长。
参考资料:
1、http://cs229.stanford.edu/notes/cs229-notes1.pdf