机器学习-局部加权回归

Locally weighted regression,局部加权回归 
对于线性回归,问题是选取的特征的个数和什么特征会极大影响fit的效果。
好比下图,是分布使用下面几个模型进行拟合的 :
算法

一般会认为第一个模型underfitting(欠拟合),而第三个模型overfitting(过拟合),第二个模型相对比较好的fit到训练集 
因此能够看出,找出一个全局的线性模型去fit整个训练集,是个比较困难的工做,由于选择特征成为一个关键的因素。
局部加权线性回归的思路,就是我不须要去fit整个训练集而产生全局的模型,而是在每次predict x的时候,只去拟合x附近的一小段训练集。
不管全局训练集是多么复杂的一个分布曲线,但在局部小段数据上,均可以用线性去逼近。 
因此算法以下:
其中函数

能够看到咱们经过weight来选取局部样本点,这里weight定义有点相似高斯分布,虽然这里和高斯分布没有关系,只是刚好类似,可是他的分布曲线确实和高斯分布同样,钟型,因此经过weight,只有距离x很近的样本点才会对于损失函数有做用。局部加权线性回归算法是一种non-parametric algorithm而普通的线性回归是parametric learning algorithm 
parametric learning algorithm有一组有限的,固定的参数,一旦完成fit,只须要保存下参数值来作预测,而不须要保存完整的训练集 。
non-parametric algorithm,相反,咱们须要保存完整的训练集来进行预测,而不是仅仅保存参数 
正式定义为,the amount of stuff we need to keep in order to represent the hypothesis h grows linearly with the size of the training set. 
为了表达假设h而保存的数据随着训练集的size而线性增加。
spa

前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来做为损失函数。下面继续讨论分类问题,分类问题和回归问题不一样在于Y的取值是离散的。
咱们先讨论最简单的binary classification,即Y的取值只有0和1。
分类问题通常不会使用回归模型,由于回归模型是输出是连续的,而分类问题须要的输出是离散的。可是必定要用也不是不能够,好比这里继续使用线性回归模型,可是不是很是适合,缘由以下:
一、首先线性模型的Y取值是连续,且没有限制的,而二元分类的取值为[0,1],对于线性回归模型,参考下图,能够以0.5为分界线,大于则取1,小于则取0,也能够转化为离散的结果。
二、再者,其实只有在分界线周围的样本点对分类模型会有比较大的影响,而比较远的样本点其实对模型没啥影响 
但对于线性模型而言,增长任何样本点都会对模型产生相同的影响
blog

 

因此提出logistic回归模型,这种回归模型能够比较好的解决二元分类问题。
从本质上你仍然能够把他理解为线性模型,你能够看下面给出的H函数,只是在线性回归外面加上logistic函数进行转换,能够理解成把上图的直线转化为那条sigmoid曲线,使其更加符合二元分类的需求。可是本质上能够当作仍然是用那条直线进行划分。
get

相关文章
相关标签/搜索