《机器学习与优化》之懒惰学习:最近邻方法02

最近邻方法的基本形式与 基于实例的学习、基于案例的学习和基于记忆的学习有关。

工作原理:我们把已标注的实例(包括输入及相应的输出的标记)存储起来,不进行任何操作。当一个新输入的模式到达时,我们在存储器中查到与这个新模式相近的那些实例,输出则由这些相近的输出所决定。

一个更具健壮性和灵活性的方法是考虑大小为k的近邻集合,KNN是一种原始的懒惰的机器学方式:把所有的训练实例存在存储器中(输入和对应的输出标记)。当有一个新输入并需要计算器对应的输出时,在存储器中查找k个最接近的实例。读取它们的输出,并根据它们的大多数或平均值推出新实例的输出。当存储了非常多的实例时,训练阶段的懒惰会让预测阶段的响应时间变得很长。

加权K近邻(WKNN)权重取决于距离,由于k个实例到新实例的距离可能有所差别,而且在某些情况下,距离最近的实例对新实例的输出影响更大是很合理的。

设给定的正整数(为已标记实例的个数);x表示新的实例,是一个属性向量。估计x对应的输出y的简单算法,分为两个步骤。

(1)在训练集中找到k个下标),使得属性向量与给定的x最相近(根据某种给定的属性空间度量)。

(2)通过下面的加权平均来计算估计的输出,权重反比于属性向量之间的距离:

其中指两个向量在属性空间中的距离(例如欧式距离),是一个小的偏移常熟,用以避免出现0作为除数的情况。越大,距离较远的点的贡献就越大。如果趋近于无穷大,那么这k个实例的权重的就几乎一样了。

WKNN算法实现简单,同时估计误差很小。主要缺点:需要大量的内存空间,以及在测试阶段巨大的计算量。因此常常将已标记的实例进行聚类,用来减少所需的内存空间。

核方法局部加权回归可看做最近邻方法的一般化,根据查询点的距离,灵活的赋予它们相应的权重。

#读书笔记##机器学习#
全部评论

相关推荐

头像 头像
03-05 22:00
C++
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务