斯坦福CS231n课程确实很好,学了有两三遍,每次都有不一样的收获,理解的也更深刻。这里把自己觉得重要的东西记录下来,以加深印象,同时便于查阅。CS211n简书笔记链接:https://www.jianshu.com/p/182baeb82c71

线性分类笔记(上)

      更好的方法解决图像分类问题:

      (1)评分函数(score function):原始图像数据到类别分值的映射,评分函数是基于参数的;

      (2)损失函数(loss function):预测分类标签得分与真实标签之间一致性,转化为最优化问题,通过更新评分函数的参数来最小化损失函数。

      线性分类器:线性分类笔记,其中W为权重,维度为:[KxD];xi为输入数据,维度为:[Dx1];b为偏差,维度为:[Kx1]。Wxi并行评估10个不同的分类器,每个分类器就是W的一个行向量。

      将图像看做高维度的点。

      将线性分类器看做模板匹配:W每一行对应着一个分类模板(也叫原型),类似KNN,没有使用所有训练集图像比较,每个类别只用了一张图片(这张图片是我们学习到的),且使用内积计算向量间的距离,而不是L1或L2距离。

      图像数据预处理:在图像分类中,每个像素可看做一个特征,对每个特征减去平均值来中心化数据很重要。

线性分类笔记(中)

      输入数据(xi,yi)给定,xi:图像像素,yi:正确类别标签。通过f(xi,W)计算评分值,sj为第j个元素评分值。

      多类支持向量机(SVM)损失函数(第i个数据):

线性分类笔记

      其中max(0,-)为折叶损失,max(0,0)2为评分折叶损失,2为平方。

      SVM损失函数想要正确分类类别yi的分数比不正确分类至少要高△。

      若评分函数f(xi,W)=Wxi,则损失函数:

线性分类笔记

      正则化(regularization):对上述损失函数,λ>1时,λw都可使Li=0。常使用L2范式对所有参数逐元素平方惩罚来抑制大数值权重,将W中所有元素平方后求和:

线性分类笔记

      注意正则化不是数据的函数,仅基于权重。完整多类SVM损失函数公式为:

线性分类笔记

      引入L2,SVM就有了最大边界(max margin),这里不是很理解。

      对大数据权重进行惩罚,提升泛化能力,避免过拟合。鼓励分类器将所有维度上的特征都用起来,而不是强烈依赖少数几个。实际操作一般只对权重W正则化,不正则化偏差。

      △设置:权重W对分类分值有直接影响,△从某些角度来看没有意义,通过正则化强度λ权衡运行权重变大到何种程度。

线性分类笔记(下)

      softmax分类器:函数映射f(xi;W)=Wxi不变,与SVM不同的是,输出归一化分类概率,折叶损失,又称最大边界损失(hinge)替换为交叉熵损失(cross-entropy loss):

线性分类笔记

      fi表示分类评分向量f中的第j个元素,线性分类笔记被称作softmax函数。

      交叉熵损失函数想要预测分布的所有概率密度都在正确分类上,同样要加上正则化损失。

      对训练数据做出良好预测与得到一个足够低的损失值这两件事是等价的。

      SVM和softmax的比较,下图有助于区分这两种分类器:

线性分类笔记

相关文章: