CS231n 2017
2 图像分类的方法
Semantic Gap 语义鸿沟
一个物体的语义概念,比如说这个是一只猫和计算机看到的是一个矩阵之间的差别
所以有光照以及一些遮挡会造成影响
KNN:
由数据驱动的方法。
原理:在所有图像中找到与测试数据最相近的图片。
距离的度量:
分类标准:
最近邻分类有决策边界
- 当k值越大的时候,边界越平滑。
- 白色区域代表这个地方的点没有办法被分类到任意的一个点。(比如说最近的三个点是一个是红色,一个是蓝色,一个是黄色,就没有办法分类了)
不同的距离度量,可以适应不同的数据类型。找文本也行。
k是超参数,需要提前指定。
什么时候L1更好?不确定,根据数据情况,l1会更加依赖于数据的坐标轴。
应该尽量避免的情况:
- 全部用训练集进行拟合,过拟合现象
- 用测试集的表现进行超参数的选择,不行,不具有泛化性。
所以需要用训练集,验证集,测试集。
交叉验证:
训练耗时,所以不常用。
knn很少用到的原因:
- 测试时间长,每次测试的时候都是O(N)的复杂度,在测试用机上面没法实现。
- 利用像素的距离进行判定不能很好的反映图像的变化,比如图像的遮挡,移动,滤镜,可能用L2范数算出来的距离都是一样的
- 维数灾难,维数越高,需要的训练数据集就越多。
线性分类
流程:
将3维图像(32323)转化为一维,3072维图像,构造线性分类
当猫b的数据集会偏大,是为什么?
线性分类问题没法解决,异或的分类问题。