一. 图像分类概述
难点
- (1) ViewPoint Variation: 拍摄视角。
- (2) Illumination: 光照。
- (3) Deformation: 变形。
- (4) Occlusion: 遮挡。
- (5) Background Clutter: 背景干扰。
- (6) Intraclass Variation: 同类事物的差异化。
上述困难导致无法通过硬编码规则对图像达到良好的分类效果。而机器学习的方法,则是一种数据驱动的方法。其主要流程为:
- (1) 收集图像并对类别进行标记。
- (2) 使用机器学习方法训练分类器。
- (3) 在新的数据上验证分类器性能。
二. KNN分类器
所用数据为CIFAR-10,共10类,5万张训练图片,每张图片32*32,1万张测试图片。
1. 最近邻方法
从训练数据中找到离测试数据最近的数据点,以该数据点的类别作为测试数据的类别。
优势:训练过程很快,仅是存储训练数据。
劣势:预测过程很慢,若有N个数据点,就得遍历这N个数据;对噪声敏感。
2. k近邻方法
以离测试数据最近的k个数据点进行投票,得票多的作为测试数据点的类别。
3. 可以改进的地方
- (1) 距离计算方式。
- (2) k近邻投票权重。
4. 超参数
超参数即事先设定的参数,而非从数据中学习到的参数。对于k近邻方法而言,距离计算方式和k都属于超参数。
超参数的选取方法:将数据集划分为训练集、验证集、测试集。在训练集上训练模型参数,使用验证集选择超参数,在测试集上测试模型泛化能力。
对小数据集而言,可选择K折验证。
5. KNN在图像分类上的问题
- 不同类的图像可能在所选的距离衡量上相差很小。
- 维度灾难:如数据点分布范围在0~4。那么在L无穷范数下,要使得测试点距离每个样本点的距离不超过0.5,一维情形下需要样本点为4个;2维情况下需要样本点16个。这种成指数增长的样本点需求,是很可怖且很难满足的。
三. 线性分类器
1. 代数角度
2. 可视化角度
对于图像分类, x x 为图像像素展开成的维列向量,若要输出 c c 类,那么需要是 c×n c × n 大小的矩阵。每一类的得分实际上是 W W 的行向量和的内积,再加上一个偏置项。从内积的含义上,可以将这一过程看成模板匹配。即图像在某个分类上的得分是图像向量在该分类的模板上的投影。按照这一观点,可以将 W W 矩阵中的每一个行向量重新组织成图像的尺寸,这样得到每一分类的模板图像。

3. 从几何的角度
在图像像素展开成的维列向量空间里,利用超平面进行分割。

4. 线性分类器的缺点
- 每个类别只能有一个模板向量,若一个类别中有不同的变种,算法会在变种的特征做平均。
- 数据在其所在的空间中可能不是线性可分的,如异或函数。