线性分类器
神经网络可以由很多小的网络组成,就像一个大积木是由很多小的基本块组成一样。
比如我们想要一个模型:输入一幅图像,然后输出描述图片的句子。那么我们可以让卷积神经网络只关注图片,循环神经网络只关注语言,然后把两个网络组合在一起,就像搭积木一样,最后得到我们想要的模型。
而线性分类器是参数模型中最简单的例子,相当于积木中最基础的块。
在CIFAR中,我们将写一个关于图像x和参数W的函数F,输出是10个数字,代表10个类别的分数。我们希望W能总结训练数据中的知识,这样最后预测时就有可能运行在较小的终端设备上了。
假设我们的输入是32*32*3的一副图像,那么我们想要得到10个分数,我们的W就需要是10*3072大小的。我们通常还会添加一个偏置项,它是10*1的向量。它是关于类偏好的。比如,你的数据不均衡,猫的数据多于狗的。那么,猫这一项的偏置项就会比其他的高。
这里有个简单的例子关于线性分类器是如何运作的。这里的W和b就是我们想要训练得到的东西。
线性分类器也称为模板匹配,因为W矩阵中的每一行对应于图像的某个模板。也就是说,只有在图像像素较大的地方,W的数值也大,图像像素较小的地方,W的值也小,才会得到较高的分数,也就是说W和图像是相似的。
如果我们将W矩阵的行向量还原回一幅图像,我们可以更直接地看到为什么叫模板匹配。比如第二张图,整体上能看出比较像一辆车,中间偏上的蓝色应该是挡风玻璃,中间偏下的应该是轮子和阴影。
但是因为每个类别只能学习一个模板,如果这个类别中有多个不同的变体(马头向左和向右)它会取那些变体的平均值。这就会显得很奇怪。比如第八个类别是马,但是这个马看起来是有两个头的。
如果我们把图像看做一个高维的点,那么线性分类器就是在这些点之间划分了不同的平面。比如平面这边是猫,那边是剩下的类。它之所以叫线性分类器,是因为它会在不同的类间画一条直线(或平面)。
如果数据集不能简单的靠线或平面来划分类别,这时候线性分类器就会出现问题。比如:异或问题、同一类别的各种变体问题。
来源:CSDN
作者:树天先森
链接:https://blog.csdn.net/qq_40923177/article/details/103862886