线性分类网络
numpy矢量化
初始对猫的某一部分进行识别,但是较为脆弱,
最简单的分类
邻居算法
曼哈顿距离:

将每个像素进行与测试图片进行相减求和,从而得到相差的大小

主要特点是较短的训练时间,较长的测试时间

由于邻居算法的k较小,会导致部分点的分类错误较多

相较于初始的分类器增加分类的k点明显能够更好的进行分类
其中白色区域是没有最近邻居的点
通过增大k值能更好的分类
欧几里得距离

曼哈顿距离是绝对距离,欧几里得相同的距离有多个点
相较于曼哈顿距离,欧几里得距离产生的边界将会更加圆滑倾向于自然下降方向
而曼哈顿距离则会显得更加的接近坐标轴
l1更加取决于坐标轴的值,
实践
当k=1时对于训练集的分类效果往往最好
不要直接调整超参数
交叉验证
不是单独区分出训练集和测试集,而是将两者交叉进行

这里的主要问题是测试时间长,矢量值关联较小
维度诅咒
几乎永远无法获得足够的图像覆盖所有需要的像素点

随着维度的增加,需要的点数将会几何式的增长
线性分类
测试其可能性

将原本的32*32*3拉成一条直线的3072,我们需要的矩阵大小为10*30,此时相乘后得到的是一条直线

做出多个模版

然后寻找和模版相近的照片,比如在马的分类器上就会出现如同草地等东西

线性处理器运行的形式
但是有可能会出现完全失效的情况

如图二所示我们无法通过单纯的线条将其进行区分