image classfication 就是进行分类,注意在处理图片时,每个图像都是宽*高*3通道的向量。 data-driven approach 数据驱动,给计算机数据,实现学习 pipeline 输入training set ->learning:training a classifier(learning a model)->evaluation
基本思想:直接从每个像素来看两张图片的相似程度,可以用L1 distance 或者L2 distance。
L1关键语句 distances = np.sum(np.abs(self.Xtr - X[i,:]), axis = 1) L2关键语句 distances = np.sqrt(np.sum(np.square(self.Xtr - X[i,:]), axis = 1))直观上采用一张最接近的不好,所以采用K张最接近的图进行投票。
k值怎么确定,第一种方法是将training set 分割,小的一部分成为validation set,作为一个假的test set 去找合适的k值。 还有一种是在training set 比较小的时候,可以用的cross-validation,将training set分割成几份,每小份依次成为validation set,最后将结果平均,取最合适的k值。
优点是没有什么训练的算法,缺点是对test set处理的很慢。同时,L2 distance的值的大小与直观感受相差很大,有些时候背景起主导作用,引起错误判断。