最邻近算法与图像分类

什么是图像分类

图像分类是计算机视觉中真正核心的一类任务,分类系统接收一些输入图像,并且系统已经确定了分类或者标签的集合,计算机的任务就是看这些图片,并且给它分配其中一些固定的分类标签。计算机实际看到的图片是这样的(巨大的数字矩阵):
在这里插入图片描述
角度问题,照明问题,姿态问题,都会使数字矩阵不同,进而影响计算机的识别

数据驱动方法解决图像分类任务

我们在解决图像识别问题时,并没有什么直接了当的算法(比如我们上算法课时的排序),所以图像识别问题比较难。如果应要写的话,我们可以提取图像的边缘,通过图像的边缘特征对图像进行识别,但效果并不是很好。如果我们换一种识别的对象,算法就要推倒重来。我们想要开发一些通用的识别方法。
采用算法加数据的方法是一种很好的办法,我们称之为数据驱动。
在这里插入图片描述

采用K最邻近算法解决图像分类问题

K最邻近算法(KNN,k-NearestNeighbor)

  • KNN算法的决策过程(摘自百度百科)
    下图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
    在这里插入图片描述

图像之间的距离

  • L1距离,曼哈顿距离
    在这里插入图片描述
  • L2距离,欧几里得距离
  • 在下图中正方形边上的点到原点的L1距离全部相等,圆形边上的点到原点的L2距离全部相等
    在这里插入图片描述

讨论KNN的效果

k=1容易受到噪声点的影响,一般实际使用时K的值被调的比较大,白色区域代表没有被邻近投票的区域。我们可以通过调整k和距离方式来调整KNN的效果,也就是调整超参数,超参数是不同通过训练数据来学习的。
在这里插入图片描述交叉验证:
数据集随机分为训练集,验证集和测试集,训练集和验证集交叉轮流验证
在这里插入图片描述

KNN算法在图像分类中并不常用的原因

  • 训练时间段,验证时间长,和实际需求不符
  • 像欧几里得距离或者L1距离这样的衡量标准用在比较图像上实在不太合适,这种向量化的距离函数不爱适合表示图像之间视觉的相似度,如下几张图分别做了遮挡处理、像素位移处理,和变色处理,然而和原图的欧几里得距离是一样的,这并不是我们想要的
    在这里插入图片描述
  • K-邻近算法还有一个问题就是:维度灾难(curse of dimensionality)
    我们需要密集的训练数据分布在空间中,否则做邻近点可能距离很远,也就是说和待测样本的相似度没有那么高。我们根本拿不到那么多图片去密布。
    在这里插入图片描述

总结

KNN在许多机器学习算法中有着比较好的性质,但在实际应用中并不是那么好使,在图像中也不怎么应用。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值