CS231n笔记 Lecture 3 Loss Functions and Optimization
这一讲总体上就是引入Loss Function的概念,以及让大家对优化有一个初步的认识,和其他课程里面说的内容大同小异。
Loss function
Multiclass svm loss
multiclass svm的分类依据是,比较每个类别计算得到分数,取最大的那个作为当前的类标。该Loss鼓励的是正确的类标对应的分数应该比所有其他类标对应的分数都大至少1,否则就引入cost。具体定义如下:

这个和svm的思想是一样的,就是说不光要分对,而且要求判断对与错的分割线之间要有一定的距离,即svm中所说的margin。
Regularization loss
一般能量项除了衡量模型在训练数据上的精确度外,还有另一个正则项用于控制模型的复杂度,防止过拟合。常见的几个正则项包括:

\(L_1\) 和 \(L_2\)
\(L_1\)鼓励稀疏,\(L_2\)试图将对结果的影响散步到W的每一项中- spread out the effects, 所以会鼓励更平均的结果。

不过在这个例子上,\(L_2\)会选择\(w_2\),\(L_1\)在\(w_1\)和\(w_2\)上是一样的,但是我们可以构造出来一些其他的\(w_2\),使得\(w_1\)的\(L_1\)比\(w_2\)的小。
Softmax classifier
这个是在deep learning里面非常常见的一个分类器,总体思想就是把每个类别的分数做一个指数映射,然后再做一个归一化,得到一个在各个类别上的概率分布。

Loss定义为目标类别所计算得到的概率的负对数,又称为交叉熵loss (cross-entropy loss):

如果目标类别计算得到的概率接近1,那么Loss就接近0;否则Loss就会是一个正数。
一些验证
在训练模型之前,可以根据Loss function的特点对方法进行一些验证,提早发现bug。
- multiclass svm loss
初始每个类别的分数都差不多,然后加上一个margin 1, 那么对于某一个样本来说,它的loss大概为 (C - 1), 即除了正确类别外的所有其他类别。 - Softmax classifier loss
初始的loss应该接近\(log(C)\),其中C为类别个数,因为初始时,每个类别的概率应该接近1/C。
Loss function的对比与定义
整个模型的loss是将每个训练样本的loss加起来取平均,并加上正则项。

Optimization
梯度的计算
- Numerical gradient

直接从数学性质出发计算梯度,这样需要对W的每一维都进行计算,耗时。 - Analytic gradient
可以直接通过偏微分得到梯度的解析解,从而可以一次性求出W的梯度。 - 可以用Numerical gradient来验证程序实现的Analytic gradient是否正确
Gradient descent 梯度下降
每次将W按照负梯度方向前进一点点,那么Loss值就会下降一点点,直到收敛为止。
stochastic gradient descent
如果用普通的gradient descent,需要遍历整个训练集去计算Loss,很费时。所以使用一种叫minibatch的策略,每次只计算部分样本的loss, 用来估算W的真实梯度。
传统方法vs卷积神经网络
图像特征
- 颜色直方图, 比如把hue值进行离散化放到bin里。
- HOG, histogram of oriented gradients, 关注的是边朝向。
- Bag of Words 随机从图像中采样得到patch,聚类,得到codebook of "visual" words, 然后对于某一张图像,可以计算每个visual word的数量,对应文本里面的bag of words。
ConvNets
直接把原始像素喂给网络。
两者的区别在于,前一种是使用固定的方法提取图像特征,然后喂给比如线性分类器,在训练的时候只去更新线性分类器的参数,而图像特征已经是固定了的;后者则是通过更新整个网络的参数,图像的特征以及分类器的参数是一起变化的。
CS231n笔记 Lecture 3 Loss Functions and Optimization的更多相关文章
- cs231n spring 2017 lecture3 Loss Functions and Optimization 听课笔记
1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...
- cs231n spring 2017 lecture3 Loss Functions and Optimization
1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...
- CS231n笔记 Lecture 5 Convolutional Neural Networks
一些ConvNets的应用 Face recognition 输入人脸,推测是谁 Video classfication Recognition 识别身体的部位, 医学图像, 星空, 标志牌, 鲸.. ...
- CS231n笔记 Lecture 4 Introduction to Neural Networks
这一讲主要介绍了神经网络,基本内容之前如果学习过Andrew的Machine learning应该也都有所了解了.不过这次听完这一讲后还是有了新的一些认识. 计算图 Computational gra ...
- CS231n笔记 Lecture 2 Image Classification pipeline
距离度量\(L_1\) 和\(L_2\)的区别 一些感性的认识,\(L_1\)可能更适合一些结构化数据,即每个维度是有特别含义的,如雇员的年龄.工资水平等等:如果只是一个一般化的向量,\(L_2\)可 ...
- CS231n笔记 Lecture 1 Introduction
主题有关 这一讲主要是介绍性质的,虽然大多数概念以前听说过,但还是在他们的介绍中让我有如下一些认识,所谓温故而知新,不无道理: IMAGENET Feifei Li的团队首先爬取.标注了IMAGENE ...
- Are Loss Functions All the Same?
目录 概 主要内容 一些假设 损失函数 损失函数的统计性质 收敛速度 分类的界 Rosasco L, De Vito E, Caponnetto A, et al. Are loss function ...
- 目标检测复习之Loss Functions 总结
Loss Functions 总结 损失函数分类: 回归损失函数(Regression loss), 分类损失函数(Classification loss) Regression loss funct ...
- [CS61A] Lecture 4. Higher-Order Functions & Project 1: The Game of Hog
[CS61A] Lecture 4. Higher-Order Functions & Project 1: The Game of Hog Lecture Lecture 4. Higher ...
随机推荐
- UWP开发:应用设置存储
应用设置储存指的是保存在应用程序储存区中的键/值对的字典集合,它自动负责序列化对象,并将其保存在应用程序里.以键/值对方式提供一种快速数据访问的方式,主要用于储存一些应用信息. 1,简介 应用设置是W ...
- Page_Load与sender -- PostBack是由哪个 ASP.NET控件引起 ?
Page_Load与sender -- PostBack是由哪个 ASP.NET控件引起 ? 之前有讨论过ASP.NET Web Form "事件"里面的 "sender ...
- xcode技巧
1.统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -name ...
- 【转】HTTP Live Streaming直播(iOS直播)技术分析与实现
HTTP Live Streaming直播(iOS直播)技术分析与实现 不经意间发现,大半年没写博客了,自觉汗颜.实则2012后半年,家中的事一样接着一样发生,实在是没有时间.快过年了,总算忙里偷闲, ...
- CMDB数据库设计
title: CMDB 数据库设计 tags: Django --- CMDB数据库设计 具体的资产 服务器表和网卡.内存.硬盘是一对多的关系,一个服务器可以有多个网卡.多个内存.多个硬盘 hostn ...
- 用户输入和while循环
函数input()的工作原理 message=input('Tell me something,and I will repeat it back to you:') print(message) 编 ...
- 《队长说得队》【Alpha】Scrum meeting 2
项目 内容 这个作业属于哪个课程 >>2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 >>实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 ...
- eubacteria|endosymbiosis|基因转移
5.11线粒体和叶绿体是通过内共生进化而来的 初始细胞俘获有功能的真细菌(eubacteria)进入细胞内,该细菌逐渐演化为细胞器,这种现象称为内共生(endosymbiosis),所以该细胞器携带细 ...
- 接口的定义——默认加public abstract默认全局常量;与继承不同,子类可以同时实现多个接口;抽象类实现接口;接口继承接口
一. 接口的定义 接口中定义的方法,全部都为抽象方法,默认加public abstract 接口中定义的变量,全部为全局常量,默认加public static final 二.与继承不同,子类可以同时 ...
- Element表单验证(2)
Element表单验证(2) 上篇讲的是async-validator的基本要素,那么,如何使用到Element中以及怎样优雅地使用,就在本篇. 上篇讲到async-validator由3大部分组成 ...