K-近邻算法讲解

概述:

给定一个训练数据集,对新的输入实例,在训练数据据集中找到与该实例最近邻的K个实例,这K个实例的多数属于某个类,就把该实例分为这个类

K近邻算法的三要素:

1、K值的选择
2、距离的度量
3、分类决策规则

注:K近邻算法中,当训练集、距离度量、K值、及分类决策规则确定后,对于一个新的输入实例,其输出的所属类别也就确定了

K值的选择:

K值的选择对K近邻算法有重大的影响,如果K值较小,就会使“学习”的近似误差减小,“学习”的估计误差增大;即只有与输入实例较近的训练实例才会对预测结果有影响,只用一小部分与之相近的数据参与新数据的分类;如果这些数据恰巧是噪声数据,预测就会出错;也就是说,K值选得较小,就会使模型的复杂度增大,发生过拟合(极端K=1)

同时,如果K值较大,就会使“学习”的近似误差增大,“学习”的估计误差减小;这时与训练数据较远(不相似)的训练数据也会对预测产生影响,可能时预测产生错误;K值较大,则更能学习到训练数据集内部的规律;也就是说,K值较大,会使模型的复杂度降低(极端的K = N)

一般的,K值取一个较小的值,通常采用交叉验证法来求取最优的K值

距离的度量:

包括欧式距离、曼哈顿距离等(见统计学习)

分类决策规则:

分类决策规则即是当已知K个训练实例的类别时,我们怎样通过这些实例的类别来确定新输入实例(未知实例)的类别;其中用得最多的往往是多数表决法,即选定K个实例中最多的类别为未知实例的类(见统计学习)

然而,实现K近邻算法时,主要考虑的是如何对训练数据快速地K近邻搜索,这在特征空间的维数比较大及训练数据较多时尤为重要

最简单的方法就是线性扫描,即将输入实例与训练数据逐一计算距离,这样的计算是非常耗时的;为了提高K近邻搜索的效率,我们考虑使用特殊的结构存储训练数据,下面就介绍其中的一种KD树(kd tree)方法

简介:KD树是对K维空间的实例点进行存储以便对其进行快速搜索的树形数据结构,Kd树是二叉树,表示对K维空间的一个划分

构造Kd树(以构造平衡Kd树为例)见统计学习

搜索Kd树(见统计学习)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聆一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值