KNN和线性分类器

来源:互联网 发布:舆情分析算法 编辑:程序博客网 时间:2024/06/14 05:34

图像分类的困难和挑战:对于人来说,识别出一个像“猫”一样视觉概念是简单至极的,然而从计算机视觉算法的角度来看就值得深思了。我们在下面列举了计算机视觉算法在图像识别方面遇到的一些困难,要记住图像是以3维数组来表示的,数组中的元素是亮度值。

  • 视角变化(Viewpoint variation):同一个物体,摄像机可以从多个角度来展现。
  • 大小变化(Scale variation):物体可视的大小通常是会变化的(不仅是在图片中,在真实世界中大小也是变化的)。
  • 形变(Deformation):很多东西的形状并非一成不变,会有很大变化。
  • 遮挡(Occlusion):目标物体可能被挡住。有时候只有物体的一小部分(可以小到几个像素)是可见的。
  • 光照条件(Illumination conditions):在像素层面上,光照的影响非常大。
  • 背景干扰(Background clutter):物体可能混入背景之中,使之难以被辨认。
  • 类内差异(Intra-class variation):一类物体的个体之间的外形差异很大,比如椅子。这一类物体有许多不同的对象,每个都有自己的外形。

K临近算法:计算样本和训练数据的差值,但是训练数据越多,计算的时间就越长,实际上这是个线性增长的过程。

FLANN实例库

曼哈顿距离:差值的绝对值

欧氏距离\L2

KNN:寻找最近的K个图片,通过投票来选择最终的标签结果。

clipboard

从上图中可以看出,对于不同的k的设定整个分类图的边缘有明显的不同,k越大边缘越平滑。

 

两种超参数选择:

1、用什么距离(曼哈顿还是欧氏距离)

2、K选择多少

 

这和具体的问题有关,对大量的数据进行试验

将数据的1/5作为验证集,4/5作为训练集

交叉验证法:将数据分为5折,一折作为验证,四折作为训练,轮流循环,找到最优的分布。得到超参数

 

KNN分类器在图像分类中不适用。(这是应为即使对于图像很小的平移计算的距离差距都会比较大,对于大致相似的图但是细节率有不同,计算的距离 又特别小,不利于分类)

非参数优化方法:KNN

 

下面介绍参数优化方法:线性分类器

clipboard

 

构造一个函数,输入图片,输出分类,w为函数的参数。

clipboard

 

线性分类器:输入向量已知

clipboard

W权重矩阵每一行都可以看作是一个分类器(对应不同种类)

 

W具体的内容是什么呢?

clipboard

 

事实上一个线性的分类器的作用如下图:

clipboard

 

但是如果对于样本比较难分的情况呢?

clipboard

除了cat的分类正确其他的分类得分都不正确,这说明这个分类器的效果并不是很好。

 

那我们如何去衡量学习到的分类器与理想分离器的差距呢?

clipboard

在这里引入了loss函数,loss越大,分类器效果越差,loss越小分类器效果越好。

原创粉丝点击