1. 最邻近分类算法(nearest neighbor classification)
原理很简单,就是把标记好的图像都储存下来,预测的时候计算新图像和库中的每幅图像的L1距离,找到距离最近的图像即为最邻近。
code解析:时间复杂度train: O(1), predict: O(n),train的耗时少,predict耗时长,而我们理想的或者需要的是predict耗时少,train可以耗时长一些。
其效果如下,对于整幅图像的每个像素来说,找到训练数据中与其最近的样本,并标记为此样本的类,这种分类方法比较粗糙,存在很多问题,比如下图中绿色区域中间有一个黄色斑块,这个黄色斑块很可能是被错分的,也许其类别也应该是绿色的,还有绿色和蓝色的边界可以看到有一块像手指一样的绿色伸到了蓝色区域,这很可能是由于噪声或失真信号造成的。
由此产生了k-近邻算法
2. k-近邻算法(k-nearest neighbor KNN)
具体做法是:对分类图像,找到其k个最邻近的实例&