一般情况下k-Nearest Neighbor (KNN)都是用来解决分类的问题,其实KNN是一种可以应用于数据分类和预测的简单算法,本文中我们将它与简单的线性回归进行比较。

KNN模型是一个简单的模型,可以用于回归和分类任务。大部分的机器学习算法都是用它的名字来描述的KNN也是一样,使用一个空间来表示邻居的度量,度量空间根据集合成员的特征定义它们之间的距离。对于每个测试实例,使用邻域来估计响应变量的值。估计可以使用最多k个邻域来进行,超参数控制算法的学习方式;它们不是根据训练数据估计出来的,而是基于一些距离函数选择的最近的k个邻居。

在本文中,我们将重点介绍二元分类,为了防止平局k通常设置为奇数。与分类任务不同,在回归任务中,特征向量与实值标量而不是标签相关联,KNN是通过对响应变量均值或加权均值来进行预测。

惰性学习和非参数模型

惰性学习是 KNN 的标志。惰性学习器,也称为基于实例的学习器,这种学习器很少或根本不处理训练数据。与线性回归等积极学习的算法不同,KNN 不会估计在训练阶段概括训练数据的模型的参数。惰性学习有利有弊,训练一个积极学习的成本可能很高,但使用生成的模型进行预测的成本少。通过将系数乘以特征并添加偏置参数就可以预测简单的结果,计算成本低,预测速度快。但是一个惰性的学习者做出预测的成本是很高的,因为KNN 预测需要在计算测试实例和训练实例之间的距离,也就是要访问所有的训练数据。

参数模型使用固定数量的参数或系数来汇总数据。无论使用多少个训练实例,参数的数量都保持不变。非参数可能看起来用词不当,因为它并不意味着模型没有参数;相反,它意味着参数的数量随着训练数据的数量而变化。

当不熟悉响应变量和解释变量之间的关系时,非参数模型可能会很有用。KNN 就是这种非参数模型,如果实例彼此接近,则响应变量可能具有相似的值。当训练数据稀缺或已经知道这种关系时,带有假设的模型可能会比非参数模型有用。

完整文章:

https://avoid.overfit.cn/post/25204154c52341f0bf93622a797597e1

原文地址:http://www.cnblogs.com/deephub/p/16818223.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性