课时7 线性分类器损失函数与最优化(下)

我们为什么要最大化对数概率而非直接最大化概率?

你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的。因为log函数是单调函数,最大化概率和最大化对数概率是等价的。

Softmax vs. SVM

我们调整其中的评分,使值上下浮动,对于SVM而言,分类正确率可能不会改变。因为测试样例中的边界是由一个大数决定的,SVM对于那种误分类评分低的样例不是很在意。但是对Softmax而言,任何一个测试样例都能提升分类器的性能。SVM具有附加的稳定性,一旦样例满足边界条件,这个样例点就不会影响损失函数,而Softmax则要将所有样例点都纳入考量。SVM分类器对一小搓接近于分类边界的样例较为敏感,对于离边界很远的样例点不敏感;而softmax是一个基于所有数据的函数。

正则化损失只作用于权重并不作用于数据

实际操作过程中,当你想要给神经网咯建立一个新模型时,你需要求解损失值,然后求解梯度值,然后你还要进行梯度值的检查,确保你的微积分求解是正确的。

因为要找出损失值的最小值,而梯度值为负值时才会不断向下找最小值。

步长也叫作学习速率,是最需要关注的重要参数

我们拥有完整的数据集,但是在实际操作的时候我们只是从训练集取样出一批用来估算损失函数的梯度。从而我就有了初始的更新方向,然后我们再把这个过程一次又一次的重复,来确定找到损失函数最低的W。因为只是用来训练集的一个很小的子集,所以得出的梯度很有可能就是一个噪声。这是取样算梯度的缺点,但是使用一个小子集来计算可以提高运算速度,也就是让我们可以计算更多的次数来估算梯度从而得出最低的损失函数。

一般来说,当我们在讨论神经网络的优化时,会在损失函数中看到很多的波动,大家可以把损失函数想象成一个大盆地,盆地的最低点就是我们要找的最小值。在这个盆型图像中,会有很多小坑。当你的函数优化到这个坑里面时,你有可能把这个小坑的最小值当做损失函数的最小值。但是其实在这个坑外面还有更小的函数值。所以这就是一个合适的学习速率的重要性。

如果把线性分类器一开始放在没有经过训练的图片上时,我们的分类器没办法解决像素的问题。人们习惯于做的是计算图片不同的特征,然后计算不同特征的描述,最终人通过统计总结来理解这张图片是什么东西。

HOG/SIFT特征

他会使用图片中,不同物体之间边缘的方向来做分类,在图片中这些边缘有不同的方向,我们把不同方向上的边缘用直方图做一个总结统计一下这张图片上不同方向的边缘都有多少,然后通过这个边缘数量的统计来得出图片中有什么东西。

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时7的更多相关文章

  1. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时3

    课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体 ...

  2. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时1

    课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分 ...

  3. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时26&&27

    课时26 图像分割与注意力模型(上) 语义分割:我们有输入图像和固定的几个图像分类,任务是我们想要输入一个图像,然后我们要标记每个像素所属的标签为固定数据类中的一个 使用卷积神经,网络为每个小区块进行 ...

  4. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时24&&25

    课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以 ...

  5. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9

    课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...

  6. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时12&&13

    课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样.然后我们 ...

  7. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11

    课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号 ...

  8. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时10

    课时10 神经网络训练细节part1(上) 没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整 从数据集中抽样一小批数据, 将数据运入卷积神经网络中来计算损失值 通过反向 ...

  9. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时14&&15

    课时14 卷积神经网络详解(上) CNN处理的是一些数据块,在这之间有很多层,一系列的层将输入数据变换为输出数据,所以完成操作的中间量不仅是NN时候讲的那些向量,而是立体结构,有宽,高和深度,在整个计 ...

随机推荐

  1. sqlalchemy的merge使用

    1.先看下文档 merge(instance, load=True) Copy the state of a given instance into a corresponding instance ...

  2. 学习日记之抽象工厂模式和Effective C++

    抽象工厂模式(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口.而无需制定他们详细的类. (1),工厂方法模式是定义一个用于创建对象的接口.让子类决定实例化哪一个类. ...

  3. 反混淆:恢复被OLLVM保护的程序

    译者序: OLLVM作为代码混淆的优秀开源项目,在国内主流app加固应用中也经常能看到它的身影,但是公开的分析研究资料寥寥.本文是Quarkslab团队技术博客中一篇关于反混淆的文章,对OLLVM项目 ...

  4. 小老虎CSDN博客流量分析

    小老虎CSDN博客流量分析 一.分析的博客对象 http://blog.csdn.net/littletigerat 二.分析的时间节点 2014年7月10日星期四 三.PV.UV以及IP值   wa ...

  5. react 中的无状态函数式组件

    无状态函数式组件,顾名思义,无状态,也就是你无法使用State,也无法使用组件的生命周期方法,这就决定了函数组件都是展示性组件,接收Props,渲染DOM,而不关注其他逻辑. 其实无状态函数式组件也是 ...

  6. vmware下安装mac os虚拟机问题,最后还是最终攻克了被一个小失误给陷害了

    今天决定来体验一下苹果系统.虚拟机文件大概用了一天半时间才下载完毕,解压后是39G大小,赶紧安装VMWARE.然后载入虚拟机文件体验.開始当我苹果标志出来的时候,我以为成功了.但是那个小齿轮一直在转, ...

  7. PAT 1094. The Largest Generation(BFS)

    CODE: #include<cstdio> #include<cstring> #include<queue> using namespace std; bool ...

  8. C#模拟登录Twitter 发送私信、艾特用户、回复评论

    这次做成了MVC程序的接口 private static string UserName = "用户名"; private static string PassWord = &qu ...

  9. 李洪强iOS开发之 - 指定刷新tableview的某一组

    李洪强iOS开发之 - 指定刷新tableview的某一组

  10. Linux下VLAN功能的实现 (转)

    1.Linux网络栈下两层实现 1.1简介     VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去.下两层涉及到具体的硬件 ...