机器学习算法总结3:k近邻法

k近邻法(k-NN)是一种基本分类与回归方法算法思想:给定一个训练数据集,对新的输入实例,在训练数据集中找到与其最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为哪个类。
在这里插入图片描述
k近邻的特殊情况是k=1的情形,称为最近邻算法
k近邻算法没有显式的学习过程。
1.模型:k近邻法使用的模型对应于对特征空间的划分。
在这里插入图片描述
k近邻法中,当训练集、k值、距离度量(如欧式距离)及分类决策规则确定后,对于任何一个新的输入实例,它所属的类唯一地确定。
模型的三个基本要素:k值的选择、距离度量以及分类决策规则
(1)k值的选择
k值较小,意味着整体模型变得复杂,容易发生过拟合;k值较大,意味着整体模型变得简单,容易发生欠拟合。k值的选择反映了对近似误差和估计误差之间的权衡,通常由交叉验证选择最优的k。
(2)距离度量
特征空间中两个实例点的距离是两个实例点相似程度的反映。k近邻模型使用的距离是欧氏距离,更一般的距离是闵可夫斯基距离。
在这里插入图片描述
不同的距离度量所确定的最近邻点是不同的,如下图所示:
在这里插入图片描述
2.策略:(3)分类决策规则
k近邻法中的分类决策规则大多选择多数表决,即由输入实例的k个近邻的训练实例中的多数类决定输入实例的类,对应于经验风险最小化。
3.算法
为了提高k近邻的搜索效率,使用kd树存储训练数据,kd树是对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。kd树是二叉树,表示对k维空间的一个划分,其每个结点对应于k维空间划分中的一个超矩形区域。
kd树的每轮中本次的切分域的选择将计算待切分空间内的点此轮未被切分维度上的方差,找到方差最大的维度作为此次的切分域。方差较大,表明在该维度上的点的分散度较高,按该维度切分分辨率较高。(注:特征选择中,方差选择法也是这个原理。)
在这里插入图片描述
在这里插入图片描述
kd树的最近邻搜索算法:
在这里插入图片描述
在这里插入图片描述
kd树的平均计算复杂度是O(logN),N为训练实例数。kd树更适合于训练实例数大于空间维数时的k近邻搜索。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值