Nearest Neighbor分类器(笔记)

Nearest Neighbor分类器

在分类问题中,将每张测试图片上的每一个像素点与训练集中的图片对应的像素点进行比较,得到差异最小的图片,从而认为他们的类别相同。
判断差异的方法有两种

方法一
在这里插入图片描述
Nearest Neighbor分类器(笔记)_第1张图片
方法二
在这里插入图片描述
具体情况自己跑一下,在像素点差距较大时用方法一。

目的是表达出两张图片的差异性,所以其他的方法可以自己定义。

k-Nearest Neighbor分类器

升级版的,测试图片的类别选取与其差异值最小的训练集的类别,只选取差异最小的一张图片来判断测试图片的类别无法避免偶然性,选取多张差异最小的图片来共同确定测试图片的类别会更准确一些。(多张图片来确定增加网络的健壮性)K值就是选取几张图片来共同确定。

那么K值是如何确定的呢?判断图片的差异的方法又该如何确定呢?

取数据集一部分用于训练,一部分用于测试,在训练集中,一部分用于训练,一部分用于验证,当确定一个K值后,在训练集中得出效果,再更换K值进行比对得出最优K值。最后进行测试得出最终结果。具体怎么去分,可以跑几次,怎么效果好就怎么分。
Nearest Neighbor分类器(笔记)_第2张图片

Nearest Neighbor分类器的优劣

这种方法很容易理解,问题是如何用函数表示两图片间的差异性,在低维度张量中,每一维度的数值差可以近似为二者的差异,但是高维度呢?显然不行。也就是说(1+100=50+51),它无法反应出图片的局部特征。举个例子:
Nearest Neighbor分类器(笔记)_第3张图片
如何找出能表示图片间差异性的函数是制约这个算法的关键,我想以某种方法降低图片维度,划分图片区域,根据区域权衡差异性,将一些先进的网络中部分的应用这个算法会不会使得效果更好呢?

你可能感兴趣的:(Nearest Neighbor分类器(笔记))