深度神经网络
将所需的神经网络以类似乐高搭积木的方式进行组合,共同训练。
参数模型——线性分类器
线性分类器是参数模型中最简单的例子。
- 输入
32x32x3:32x32指高度和宽度都是32,3指三种颜色通道(RGB)- 模型
x:输入数据(拉伸成列向量)
W:参数设置/权重- 输出
f(x,W):10个类别的分数
与上一节的KNN相比较,KNN没有设置参数,通常会保留所有种类的训练数据(数据集)并在测试时使用。而在参数化方法中,将会把对训练模型认识的总结用到这些参数W中,测试时只需这些参数W而不再需要实际的训练数据,提升效率,因此可运行在手机这种小设备中。
有时会有偏置项b,为10元素的常数向量,用来解决数据集不平衡的问题。
某一种类(如A)的得分越高,图片就更可能是A类。
某一种类(如B)的得分越低,表示图片是B类的可能性就越小。
此处需要说明的是这个W矩阵效果并不好,从图中可以看出分析结果更倾向于认为这是只狗而不是猫。
线性分类器的模版匹配观点
对图里的每个像素以及10个分类里的每一项,矩阵W里都有一些对应的项,告诉我们那个像素对那个分类有多少影响。W的每一行对应于一个分类模版,通过内积(而不是L1/L2)来比较图像和模板,找到图像和哪个模板最相似,得到一张图像对应不同分类的得分。
如果解开权重矩阵W的行向量成图片的大小,每一行又分别对应每个图像像素值和对应那个类别的一些权重,将这行分解回图像的大小就可以可视化学习到每个类的模版。
每个类别只能学习一个模版,如果这个类别出现了某种类型的变体,那么它将尝试求取所有不同变体的平均值,并且只使用一个单独的模版来识别其中的每一个种类。(这就是horse马的模版会有两个不同方向的头的原因,这是线性分类器局限性的体现,会很大程度上影响识别的准确性)
线性分类器的回归图像观点
若用点和高维图像的概念思考,高维空间对应图片能取到的像素密度值,将每一张图像看作高维空间的一个点,线性分类器在这些线性决策边界上尝试画一个线性分类面来划分一个类别和剩余其他类别。(这边可以看出偏差值b的重要性,不然这些面将全部必须经过原点)
使用该方法时可能出现的两种情况:
- 类别分布在两个对立的象限(奇偶划分)
- 多分类问题(多模态数据)——一个类别出现在不同的领域空间中
以上两种情况中很难用一个单独的线性分类器来进行划分。
结果分析
如何正确选择权重这个问题将在下一节中进一步探讨。