图片分类之KNN算法

KNN算法,又称最近邻算法,用于图片分类。通过计算测试对象与训练集中每个对象的距离,选取最近的K个邻居,根据邻居类别比例预测待分类对象的类别。算法准确度受距离计算方法(如曼哈顿距离、欧式距离)和K值选择影响。KNN简单实现包括距离计算和类别投票过程。
摘要由CSDN通过智能技术生成

理论基础

KNN算法也可以叫做最近邻算法,找到该位置最近的K个邻居,并且在K个邻居中选择最近的占比最高的类别作为预测类别,我们可以通过一个图来理解
在这里插入图片描述
待预测的绿色的圆圈属于 哪一类我们要看临近的类别,如果取 K=3(图中的实心圆),红色三角形所占的比例为 2/3,蓝色正方形所占的比例为1/3,那么我们绿色圆可以被赋予红色三角形类别,如果取K=5的话,那么红色三角形占的比例为2/5,蓝色正方形所占的比例为3/5,此时绿色圆被赋予蓝色正方形类别。

KNN算法步骤

  • (1)给定测试对象,计算它与训练中每个对象的距离
  • (2)确定K值,圈定距离最近的K的训练对象,作为测试对象的邻居
  • (3)根据K个邻居所属的类别,找到占比最高的一个类别作为预测对象的类别
注:在算法中俩个因素会影响算法准确度:一个是预测对象和各个对象的距离,另一个是k值的选择。

下面说一下常见的两个测量距离的公式:曼哈顿距离欧式距离

曼哈顿距离

  • 假设先只考虑两个点,第一个点的坐标为(X1,y1),第二个点的坐标为(X2,y2),那么,它们之间的曼哈顿距离就是
    ∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ \left|x_1-x_2\right|+\left|y_1-y_2\right| x1x2+y1y2

欧式距离

  • 以空间为基准的两点之间的最短距离。还是假设只有两个点,第一个点的坐标为(x1,y1),第二个点的坐标为(x2,y2),那么它们之间的欧式距离就是
    ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sqrt{\left (x_{1}-x_{2} \right )^{2}+\left (y_{1}-y_{2} \right )^{2} } (x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值