局部加权线性回归理解

我们需要知道的

1,什么叫回归

2,回归参数怎么求

3,如何处理回归方程欠拟合问题

4,局部加权怎么变化,意义何在

1,什么叫回归

回归说白了就是y = f(x),通过输入x,我们可以得到我们想要的y。现在映射到现实问题,如何通过已有的(x,y)得到f(x)。此外回归分为线性回归和非线性回归。关于非线性回归,在此不做讨论。

2,回归参数怎么求

现在我们通过一个案列来看一下求参数的过程。

有下面的数据,绘制到平面上,分布形态如下图,现在我们来求它的回归方程。

先看求参数的方法,这里用的时误差最小化,对误差公式进行求导取零

下面时对误差公式的求导,使用的时一般的矩阵形式,求导过程比较复杂。

可以了,我们已经求除了我们的w,我们可以进行y的预测。让我们看一下一开始使用的数据图拟合的直线。

蓝色为真实点,红色为预测点(点成线)。

通过这样求回归方程,我们发现可能会出现欠拟合现象。

下面让我们探讨如何优化欠拟合的现象

3,如何处理回归方程欠拟合问题

我们发现对于数据的拟合,我们是进行整体的拟合,这样的话我们拟合的回归直线受到整体的影响较大,导致局部欠拟合。

能否将整体分割成几部分,降低整体对拟合直线的影响,分别求每个部分的拟合直线,最后组合起来,如下图所示。

将整体分为三个部分,每个部分做拟合直线,由局部最优变为整体最优。

但是我们都知道,局部最优不见的整体最优,上面的方法注重了局部的数据,但是却忽略了整体数据,我们知道局部的数据对于局部拟合直线影响更大,其它的数据对于局部拟合直线影响较小,有没有一种方法,即考虑到局部点的重要性,也使得其他数据参与局部拟合直线的绘制,但是其影响尽可能的削弱。

4,局部加权怎么变化,意义何在

下面我们来学习局部加权线性回归(Locally Weighted Linear Regression,LWLR)。

思想:对训练变量x添加权值a,有测试变量x',计算所有训练变量与测试变量的距离,距离越远,权值越小(影响越小),距离越近,权值越大(对局部拟合直线(x'为中心的线)影响越大)。

对于权值计算,LWLR使用“核”(与支持向量机中的核类似)来对附近的点赋予更高的权重。核的类型可以自由选择,最常用的核就是高斯核,高斯核对应的权重如下:

这样就构建了一个只含对角元素的权重矩阵 w ,并且点 x 与 x(i) 越近, w(i,i) 将会越大。上述公式包含一个需要用户指定的参数 k ,它决定了对附近的点赋予多大的权重,这也是使用LWLR时唯一需要考虑的参数。

我们可以看出,上面核函数对权重的计算,完全符合我们的要求(对于局部直线的计算,越近的点权值越大,越远的点权值越小)。

对于k的选择,会有下面的情况:

即k的值越小,整体点参与局部拟合直线权重的计算就越少,不难看出为什么。

当k较小时,当测试点与训练点的距离稍微远点时,权重就会急剧下降,从而导致距离远的点的对局部拟合直线绘制的影响急剧下降,甚至不起作用。从而导致具有影响的点的范围变小,可用的点变少。

通过调整k值,我们对数据拟合直线进行查看:

我们发现k的取值,当较大的时候,会出现欠拟合的现象;较小的时候,会出现过拟合的现象。

到此,对局部加权线性回归理解完毕,有兴趣的或者是想进看看具体运行效果的,可以运行一下代码。

代码地址:https://github.com/zgkom/machine-Learning/tree/regression

参考资料:

1,https://zhuanlan.zhihu.com/p/31860100(很不错,有更多的代码下载)

2,机器学习实战第八章

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180731G18IIU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券