KNN之KD树实现

KNN之KD树

 KNN是K-Nearest-Neighbors 的简称,由Cover和Hart于1968年提出,是一种基本分类回归方法。这里主要讨论分类问题中的k近邻法。

一般分类方法:

•积极学习法 (决策树归纳):先根据训练集构造出分类模型,根据分类模型对测试集分类。

•消极学习法 (基于实例的学习法):推迟建模,当给定训练元组时,简单地存储训练数据(或稍加处理),一直等到给定一个测试元。

模型建立步骤:

KNN就是一种简单的消极学习分类方法,它开始并不建立模型,没有显式的学习过程。


K近邻模型由三个基本要素组成:

•距离度量(邻居判定标准)

•K值的选择(邻居数量)

•分类决策规则(确定所属类别)


1、距离度量



闵氏距离不是一种距离,而是一组距离的定义(p是一个变参数)。

当p=1时,就是曼哈顿距离


当p=2时,就是欧氏距离


当p→∞时,就是切比雪夫距离 



K值的选择

K值的选择影响:

1. 如果选择较小的K值,就相当于用较小的邻域中的训练实例进行预测。(极限情况K=1)

优点是“学习”的近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用。

缺点是“学习”的估计误差会增大,对近邻点的实例点非常敏感。

2. 如果选择较大的K值,就相当于用较大邻域中的训练实例进行预测。(极限情况K=N)

优点是可以减少学习的估计误差,对噪声不敏感。

缺点是学习的近似误差会增大,与输入实例较远(不相似的)训练实例也会对预测器起作用,使预测发生错误。

K值的选择策略:

  Step1:在实际应用中,K先取一个比较小的数值。

  Step2:采用交叉验证法来逐步调整K值,最终选择适合该样本的最优的K值。

一般采用k为奇数,跟投票表决一样,避免因两种票数相等而难以决策。

分类决策规则(确定所属类别)

常见的分类决策规则:

多数表决:少数服从多数。

由输入实例的k个邻近的训练实例中的多数类决定该实例的类。

加权表决:类似大众评审和专家评审。

根据各个邻居与测试对象距离的远近来分配相应的投票权重。

最简单的就是取两者距离之间的倒数,距离越小,越相似,权重越大,将权重累加,最后选择累加值最高类别属性作为该待测样本点的类别。

例:


1:  0.25+0.5=0.75

21

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值