加权直线回归
简单来说,这个过程其实是在先拟合出一条曲线,然后再用这个曲线去预测需要预测的点。但是如果这个曲线拟合得不好(或者说样本数据含有大量噪音),那么这个预测结果就会很差。局部加权线性回归
对于一个数据集合(x0,y0),(x1,y1),⋯,(xm,ym),我们预测它在x点时对应的y值时,如果采用的是传统的 线性回归模型,那么:
Fit θ to mininize ∑i(y(i)−θTx(i))2
Output θTx
但是对于 局部加权线性回归(Locally Weighted Linear Regression)来说,在一定程度上可以避免上述问题,但是会付出一些计算量的代价。
局部加权线性回归(Locally Weighted Linear Regression)的过程是这样的:
Fit θ to mininize ∑iw(i)(y(i)−θTx(i))2
Output θTx
其中w(i)是一个非负的权值,这个权值是用来控制每一个训练实例对于模型的贡献,假设要预测的点是x,则w(i)可以定义为:
w(i)=e−(x(i)−x)22τ2(1)
要理解这个凭空多出来的w(i)是什么意思,我们需要首先来看一下这个函数的图像:
从图像中我们可以看到,越是靠近预测点x,其函数值就越接近于1,越是远离预测点x,其函数值就越接近于0。将这个函数加入到原始的线性回归模型中,就变成了局部加权线性回归模型,其直观意义就是越是靠近预测点的实例点,它们对预测点的影响就应该越大,越是远离预测点的实例点,它们对预测点的影响就越小,也就是说局部加权线性回归模型只关注于预测点附近的点(这就是局部的含义),而不考虑其他远离预测点的实例点。
局部加权线性回归其实是一个非参数学习算法(non-parametric learning algorithm),而相对的的,线性回归则是一个参数学习算法(parametric learning algorithm),因为它的参数是固定不变的,而局部加权线性回归的参数是随着预测点的不同而不同。
由于每次预测时都只看预测点附近的实例点,因此每一次预测都要重新运行一遍算法,得出一个组参数值,因此其计算代价是比较高的。