机器学习值KNN:K近邻算法(一:算法原理)

目录

一、KNN概述

二、KNN三要素 

2.1、距离度量 

2.2 、K值的选择

2.3、分类决策规则

三、KNN的优缺点 

四、KNN的实现:kd树

4.1、kd树的构造

4.2、kd树的搜索 


一、KNN概述

KNN是一种常见的有监督学习算法,可以用于分类,也可以用于回归,比较常用于分类。 

K近邻算法的直观解释就是给定一个已知样本分类的训练数据集,当有新样本输入时,在训练集中找到K个和新样本距离最近的的训练样本,这K个训练样本多数属于哪个类别,就把这个新样本判定为哪个类别。 

二、KNN三要素 

2.1、距离度量 

多维特征空间中,两个样本的距离,代表这两个样本的相似程度,距离越近,相似程度就越高,属于同一类别的概率就越大,KNN通常使用的距离度量方法是欧几里得距离,简称欧氏距离。在n维特征空间中,欧氏距离的测量公式为:

                                                                                     \large d=\sqrt{\sum_{i=1}^{n}(x_{1}^{i}-x^{i}_{2})^{2}}

也有其他的距离度量方式,如更一般化的Lp距离或Minkowski距离。其中Lp距离的度量公式为:

                                                                             \large Lp(x_{1},x_{2}) = (\sum_{i=1}^{n}\left | x_{1}^{i}-x_{2}^{i} \right |^{p})^{\frac{1}{p}} 

 对于上式,当P=1时,Lp距离称为曼哈顿距离,当P=2时,Lp距离称为欧氏距离。对于两者的区别,如下图,图中绿线代表x1与x2的欧氏距离,而红色线代表两点的曼哈顿距离。

2.2 、K值的选择

对于KNN算法而言,K值的选择至关重要。

当K的值选择较小时, 就是用较小邻域中的训练集来近似预测。此时,近似误差会很小,也就是在训练集上的误差会很小。但估计误差会比较大,模型失去泛化能力,在测试集上的误差较大,测试结果对近邻的样本点异常敏感。当K

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值