cs231n spring 2017 lecture3 听课笔记

Posted ZonghaoChen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cs231n spring 2017 lecture3 听课笔记相关的知识,希望对你有一定的参考价值。

1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好。

    几种典型的loss function:

    1)Multiclass SVM loss:一般的SVM是针对0、1两类标签,现在是把它拓展到n类标签。它的物理意义是:现在要预测一个样本的标签,根据之前训练出的权重求出这个样本在所有标签的得分,正确的标签的得分如果大于其他标签的得分(往往还会加一个safety margin,就是要求要足够大),则loss function不增加;否则loss function就会增加其他标签的得分超过正确标签的得分的差值。这种loss function的取值从0到无穷大。在初始化训练的时候,权重W往往被设计成很小的随机数,所以计算出的每个标签的得分都接近0,在这种情况下,如果标签数为n,正确的标签和其他标签比较了n-1次,每次比较的得分差值都小于safety margin(假设safety margin是1),则loss function的值为n-1,

    2) Softmax (cross-entropy) loss :在深度学习里很常用。把计算出的分数带入到softmax函数里,这个描述了概率,最终的loss function就是对softmax函数取负log。

    这两种loss function的差别,对于SVM loss来说,标签贴对就可以了,继续增加得分并不会减小loss,因为反正都已经取0了;但对于Softmax loss来说,正确标签的得分越高越好,错误标签的得分越低越好。

 

2. 正则化(Regularization)。一般的loss function可以在训练集上过拟合,为了解决这个问题,会在loss function里增加正则化项。遵循奥卡姆剃刀原则。这时候Loss function = Data loss + Regularzation。可以这么理解正则化:比如用多项式拟合数据,有两种方式抑制过拟合,一种是直接限定多项式的次数,另一种是不限定次数,但是在loss function里增加跟次数相关的一项,它会使算法更倾向于找低次数的多项式。正则化就是后一种方式。

 

3. 优化的关键是求导,用解析的方式求导,用数值的方式验证求导是否正确。每一步的迭代距离(learning rate)是hyperparameter,需要提前设定,Justin Johson说他调参的时候永远是最先检查learning rate是否大体正确。

 

4. Stochastic Gradient Descent (SGD):loss function是所有特征相加,当特征非常多的时候,计算就会很慢(比如图像,每个像素都是一个特征),这时候可以用一个子集(一般32/64/128个特征)来计算。

 

5. 图像特征:

    1)Color Histogram,评估各种颜色在图像中的比重。

     2)Histogram of Oriented Gradients (HoG),把图像分成一个个小方格,在每个小方格内提取边,设定边有9种朝向,评估图像局部的边界特征。物体识别中很有用。

     3)Bags of Words,把图像分成一个个小方格(或者提取特征点后在特征点附近取小方格),每个方格可以用一个编码来描述,编码需要自己设计,所有的编码组成一个词典。这是从自然语言处理中衍生过来的。

以上是关于cs231n spring 2017 lecture3 听课笔记的主要内容,如果未能解决你的问题,请参考以下文章

cs231n spring 2017 lecture9 听课笔记

cs231n spring 2017 lecture3 听课笔记

cs231n spring 2017 lecture7 听课笔记

cs231n spring 2017 lecture4 听课笔记

cs231n spring 2017 lecture8 听课笔记

cs231n spring 2017 lecture12 听课笔记