zoukankan      html  css  js  c++  java
  • 局部加权回归

    局部加权线性回归(Locally weighted linear regression)

    在线性回归中,特征选择不当时可能会造成过拟合和欠拟合。为了解决这个问题,引入局部加权回归,避免了线性回归中特征的选择,利用预测值周围的局部数据进行线性拟合。

    首先我们来看一个线性回归的问题,在下面的例子中,我们选取不同维度的特征来对我们的数据进行拟合。

     

    对于上面三个图像做如下解释:

    选取一个特征,来拟合数据,可以看出来拟合情况并不是很好,有些数据误差还是比较大

    针对第一个,我们增加了额外的特征x的平方,,这时我们可以看出情况就好了很多。

    这个时候可能有疑问,是不是特征选取的越多越好,维度越高越好呢?所以针对这个疑问,如最右边图,我们用5揭多项式使得数据点都在同一条曲线上,为。此时它对于训练集来说做到了很好的拟合效果,但是,我们不认为它是一个好的假设,因为它不能够做到更好的预测。 

    针对上面的分析,我们认为第二个是一个很好的假设,而第一个图我们称之为欠拟合(underfitting),而最右边的情况我们称之为过拟合(overfitting)

    所以我们知道特征的选择对于学习算法的性能来说非常重要,所以现在我们要引入局部加权线性回归,它使得特征的选择对于算法来说没那么重要,也就是更随性了。

    在我们原始的线性回归中,对于输入变量,我们要预测,通常要做:

     

    而对于局部加权线性回归来说,我们要做:

     

    为权值,从上面我们可以看出,如果很大,我们将很难去使得小,所以如果很小,则它所产生的影响也就很小。

    通常我们选择的形式如下所示:

     

    局部加权回归在每一次预测新样本时都会重新的确定参数,从而达到更好的预测效果当数据规模比较大的时候计算量很大,学习效率很低。并且局部加权回归也不是一定就是避免underfitting。

    对于线性回归算法,一旦拟合出适合训练数据的参数θi’s,保存这些参数θi’s,对于之后的预测,不需要再使用原始训练数据集,所以是参数学习算法。
    对于局部加权线性回归算法,每次进行预测都需要全部的训练数据(每次进行的预测得到不同的参数θi’s),没有固定的参数θi’s,所以是非参数算法。

  • 相关阅读:
    eclipse改变默认的编码格式(UTF-8)
    Guava学习:Joiner和Splitter工具(二)
    Guava中的Joiner和Splitter工具演示
    GitHub查找开源项目技巧分享
    java1.8特性之多重排序简单示例
    jedis工具类:java操作redis数据库
    SQL优化建议(mysql)
    Moodle插件之Filters(过滤器)
    Moodle插件开发系列——XMLDB编辑器
    Moodle插件开发——Blocks(版块)
  • 原文地址:https://www.cnblogs.com/lyr2015/p/8476015.html
Copyright © 2011-2022 走看看