k近邻学习笔记一

k近邻(k-Nearest Neighbor,简称KNN)学习是一种常用的监督学习方法。

对象通过其邻居的多个投票进行分类,其中对象被分配给其k个最近邻居中最常见的类(k是正整数,通常是小整数)。如果k = 1,则简单地将对象分配给该单个最近邻居的类。 ---------《维基百科》

维基百科中,是引用下图做的介绍:
维基百科
当k值为3的时候,就是我们在图中看到的黑色实线圆圈,在圆圈以内,有两个
红色的三角形和一个蓝色的正方形,此时,我们会将标有问号的绿色圆圈(预测数据)推测是红色三角形;
同理,当k=5的时候,便是黑色虚线圆圈中,我们可以看到,里面有三个蓝色正方形以及两个红色三角形,此时将预测数据推断为蓝色正方形。

k指的是预测数据周围的“邻居”数量,当k等于1时,预测该类是最接近的训练样本的类的特殊情况被称为最近邻居算法。

工作机制:
给定测试样本,基于某种距离度量找出训练集中与其最接近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。

分类依据:

通常,在分类中一般选择“投票法”,就是我们通常说的“少数服从多数”,即选择在这k个样本出现最多的类别标记作为预测结果。
而在回归任务中,可选用以下方法进行分类:
一、“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果;
二、基于距离远近进行加权平均或加权投票,距离越近的样本权重越重;
三、自定义权重算法。

特征:
是“懒惰学习”(lazy learning)的代表,在训练集仅仅将样本保存起来,训练时间开销为零,等收到样本之后在进行处理。

影响knn精度的因素:

1. k值的选取
k的最佳选择取决于数据; 通常,较大的k值会降低噪声对分类的影响,但会使类之间的界限不那么明显。可以通过各种启发式技术选择好的k;
2. 距离算法

连续变量的常用距离度量是欧几里德距离。对于离散变量,例如用于文本分类,可以使用另一个度量,例如重叠度量(或汉明距离)。在基因表达微阵列数据的背景下,例如,k- NN也已经与相关系数一起使用,例如Pearson和Spearman。[3]通常,如果通过专门算法(如大边距最近邻邻域分量分析)学习距离度量,则可以显着提高k -NN 的分类准确度。

3. 决策的规则(uniform,distance,自定义)

  • ‘uniform’ 均匀的权重。每个社区的所有积分均等
  • ‘distance’ 重量点距离的倒数。在这种情况下,查询点的较近邻居将比远离的邻居具有更大的影响力。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值