CS231n学习笔记——线性分类器

CS231n学习笔记——线性分类器

CS231n课程使用的是CIFAR-10数据集,其中有60000张32x32的彩色图像,平均分为10个类,其中50000张为训练集,10000张为测试集。

线性分类器(linear classifier)将处理输入的每一张图片(32x32x3=3072个值),把它展开成一个3072x1项的行向量x,所训练的线性分类器的作用就是训练出一个10x3072的矩阵W,使其与输入的图像相乘,得到的是一个10x1的列向量([10x3072] dot [3072x1] = [10x1])
其中每个数值就是分类器对输入图像可能属于这10个类的打分,打分的高低表示该图片属于该类别的概率。有时会在分类器最后加上一个偏置项b,以应对数据集中样本不平衡的问题(数量相差大)。
CS231n学习笔记——线性分类器_第1张图片​​
课中提到了一个很有趣的实验,将一个已经训练好的线性分类器(实际上是一个10x3072的矩阵)中每一行的3072个数值逆向生成一个32x32x3的图片,会得到这样一个结果。可以看出每个类别学习到的是一个模板,有这一类图片的大致特征,所以准确率并不会很高。

CS231n学习笔记——线性分类器_第2张图片

如果把图像作为高维空间中的一个点,例如本数据集中的32x32x3的图像可以看成3072维空间中的一个点,线性分类器就是在这个空间中画一个线性决策边界,来区分一个类和其他类。当样本本身不是线性可分的时候,线性分类器就出现了弊端。CS231n学习笔记——线性分类器_第3张图片

你可能感兴趣的:(深度学习,CS231n)