图像分类:
作业:(python代码)
1、knn
2、svm softmax
3、2层神经网络
图片分类
从以往经验来看目标需要在整个图像的中间,尽量占据较大的空间。
图像分类面对的挑战:
1、光照
2、物体形变
3、遮挡
4、目标和背景混淆
5、多个种类(外观有些许不同)
对于现在的机器学习的方法:
1、收集数据集
2、使用机器学习的方法训练分类器
3、通过测试集测试分类器的效果
k临近算法:
简而言之就是比较两个图像的相似度
从上图可以看出使用L1距离来表示两个图像的相似度。对于每一个测试图片通过与"训练集"相比较,找到L1最小的K个训练数据,投票选取测试数据的label。
当然距离也可以选择L2欧氏距离。
下图是选择不同的k值的分类效果。
可以看出当k增加时(k = 5)分类的边缘区域变得光滑。
在这里距离的选择(L1 或者L2)、K值的选择都可以看作是超参数。而超参数对于结果的影响与数据有关。所以可以通过交叉验证来选择超参数。
而对于训练数据和测试数据的选择,可以将原始的数据分为多份,使用多次交叉验证,结果取平均。
K临近算法局限:
1、计算量大,尤其是"训练集"比较大时,因为需要一个一个计算距离。
2、如果原始图像平移,调整亮度,那效果就会比较差。如下图:四张图片都具有相同的L2距离。
线性分类器(参数优化方法):
在该方法中,通过一个函数去完成分类。训练的过程是通过调整参数,使得分类预测接近真实标签。
那权重w究竟是什么:
通过可视化可以看出权重文件的值和图片的内容类似(相当于将源文件图抽象)。
以上已经通过线性拟合的方式确定了输出值,但是如何评价输出的结果如何?-----loss
将输出的值和label值相比较再通过loss归一化为一个明显的数值,这样我们就知道结果究竟好不好了。