机器学习之KNN

前言

参考了一些大佬的文章,这篇是个学习笔记。若有问题,请多指教!

KNN算法介绍

KNN分类算法(K-Nearest-Neighbors Classification)即K近邻算法:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例, 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

核心思想:要确定测试样本属于哪一类,就寻找所有训练样本中与该测试样本“距离”最近的前K个样本,然后看这K个样本大部分属于哪一类,那么就认为这个测试样本也属于哪一类。

计算

具体步骤
1、计算测试对象与训练集中所有对象的距离,可以是欧式距离、余弦距离等,比较常用的是较为简单的欧式距离。
2、找出上步计算的距离中最近的K个对象。
3、找出K个对象中出现频率最高的对象,其所属的类别就是该测试对象所属的类别。

数学表达式
在这里插入图片描述
输入训练集

X:样本的特征向量。
Y:样本的类别。
T:一个特征空间,包含输入的样本。

输出x所属类别y

过程:
(1)根据给定的距离度量,在训练集T中找出与x最邻近的k个点,包含这k个点的x的邻域记作N(k)。
(2)在N(k)中根据分类决策规则(如多数表决)决定x的类别y,其公式如下:

在这里插入图片描述
( 说明:当括号等式成立时I为1,否则为0。)

在输出过程中需要注意的三个重要点:K值选择,距离度量,分类决策规则。
下面来解释。

K值选择

K一般低于训练样本数的平方根,它的设定使用交叉检验的方法.
(以K=1为基准)
K值设置过小会降低分类精度;若设置过大,且测试样本属于训练集中包含数据较少的类,则会增加噪声,降低分类效果。

距离度量

常见距离:曼哈顿距离,欧式距离和闵可夫斯基距离。

通式:

在这里插入图片描述
p=1时是 曼哈顿距离(Manhattan distance):

在这里插入图片描述

p=2时是 欧式距离(Euclidean distance) :

在这里插入图片描述
p=∞时:
在这里插入图片描述

分类决策规则

KNN分类预测多使用多数表决法。
多数表决法:即训练集里和预测的样本特征最近的K个样本,预测为里面有最多类别数的类别。

KNN回归多使用选择平均法。
选择平均法:即最近的K个样本的样本输出的平均值作为回归预测值。

结束

感谢阅读!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值