2.3线性分类

2.3线性分类
线性分类器和神经网络的关系就乐高积木中的积木和搭完模型的样子
2.3线性分类
上图是CIFAR10的数据集,有5000个训练图像每个图像3232有3个通道
线性分类器是参数分类器中最简单的方法,现在我们的参数模型有两个不同部分。
2.3线性分类
以下图为例,现在我们要写一些函数包含输入数据X和参数W,这是就会有10个数字来描述10个类别。如果猫输入的分数比较高那么就说名这幅图像描述的是猫。
在最近邻算法中没有设置参数,取而代之是保存所有训练集,但现在在参数化的过程中我们把训练集的内容都保存到参数W中。我们可以把训练集丢掉,只需要这些W。这使我们的训练集可以丢掉,也可以减少运算量,使我们的程序可以运行在手机等小型电子设备中。
在深度学习中主要描述的是函数f的形式,这使我们可以发挥想象来编写不同的函数。用不同复杂的方式来组合权重和数据。这些可以应对与不同的神经网络结构。
2.3线性分类
这里最简单的x和W的结合方法是F=x
W这里我们能把方程的维度解开,前提是我们的图像是32323的输入值,然后把这些值展开成一个3072的项,这时我们想得到10个类的得分,这时需要我们的W是103072的矩阵,x是30721的矩阵,因此这两个向量一乘,我们得到一个10列的列向量。代表10个类的得分。
有时我们会加偏置项,它是一个10元素的常数向量,它不与数据交互,只给我们一些数据独立的偏好值,所以可以想象,如果你的数据集是不平衡的,即猫的数量多余狗那么猫对应的偏差元素就会比狗高。
2.3线性分类
下面是第2个例子,图中图有4个像素,所以线性分类器的原理,我们吧这个图拉伸成4个元素的列向量,而在这里我们限制只有3类,分别是猫狗和船,现在权重矩阵是三行4列,我们有4个像素3个类,又有一个三元偏差向量。
线性分类器,几乎是一种模板匹配的方法,这个矩阵的每一行对应与图像的某个模板,根据输入行列之间的乘积或点积,从而得到图像像素点,计算这个点积让我们发现,这个类的模板和图像像素之间有一个相似之处,然后在一次偏差给了你数据的独立缩放比例以及每个类的偏移量。
如果我们考虑这个模板匹配的原理,实际上我们可以取那个权重矩阵的行向量,将他们还原成可视化的图像。
在这个例子中,我们已提前在图像上训练一个线性分类器。
下方就是我们数据集中训练得到的权重矩阵中,行向量对应10个类的可视化结果
2.3线性分类
举个例子我们能看到飞机类别的模板,似乎由中间蓝色,斑点状图形,蓝色背景组成。这真的不像飞机,没有单独飞机张这样,所以存在一个问题,每个类别只能学习一个模板。如果出现别的模板,那么它就会尝试取所有不同的变体不同变化的平均值。
2.3线性分类
另一个神经网络的概念,作为点和高维度空间的概念,我们可以想象成我们每一张图像,都类似高维度的一个点,线性分类类似在线性决策边界上尝试画一个线性,分类面来划分一个类别。
如果从高维度的角度来思考这个问题,可能出现新的问题,要构造一个线性分类器完全失效数据集样例并不困难,
2.3线性分类
我们数据集有两类,蓝色和红色,蓝色类别是图像中像素数量大于0并是奇数,任何像素大于0都归于红色类别。
如果真去画这个决策,出现不同决策区域,不能看到奇数像素点的蓝色类别,我们没法绘制一条单独的直线来划分蓝色和红色,这是线性分类器的困境。
另一个线性分类器无法解决的问题,多分类问题,可能我们蓝色存在三个像素区域。无法单独绘制线性边界