一种特定的非参数学习算法。也称作Loess。
算法思想:
假设对于一个确定的查询点x,在x处对你的假设h(x)求值。
对于线性回归,步骤如下:
1) 拟合出,使最小
2) 返回
对于局部加权回归,当要处理x时:
1) 检查数据集合,并且只考虑位于x周围的固定区域内的数据点
2) 对这个区域内的点做线性回归,拟合出一条直线
3) 根据这条拟合直线对x的输出,作为算法返回的结果
用数学语言描述即:
1) 拟合出,使最小
2) w为权值,有很多可能的选择,比如:
- 其意义在于,所选取的x(i)越接近x,相应的w(i)越接近1;x(i)越远离x,w(i)越接近0。直观的说,就是离得近的点权值大,离得远的点权值小。
- 这个衰减函数比较具有普遍意义,虽然它的曲线是钟形的,但不是高斯分布。
- 被称作波长函数,它控制了权值随距离下降的速率。它越小,钟形越窄,w衰减的很快;它越大,衰减的就越慢。
3) 返回
总结:对于局部加权回归,每进行一次预测,都要重新拟合一条曲线。但如果沿着x轴对每个点都进行同样的操作,你会得到对于这个数据集的局部加权回归预测结果,追踪到一条非线性曲线。
*局部加权回归的问题:
由于每次进行预测都要根据训练集拟合曲线,若训练集太大,每次进行预测的用到的训练集就会变得很大,有方法可以让局部加权回归对于大型数据集更高效,详情参见Andrew Moore的关于KD-tree的工作。