Lecture 4 最优化

课程内容记录:

(上)https://zhuanlan.zhihu.com/p/21360434?refer=intelligentunit

(下)https://zhuanlan.zhihu.com/p/21387326?refer=intelligentunit

1.代码注释:

numpy.random.randn()

numpy.random.randn(d0,d1,…,dn):rand函数返回一个或一组样本,具有标准正态分布。。dn对应每个维度,函数返回值为指定维度的array。

具体用法参见:https://blog.csdn.net/u012149181/article/details/78913167

float("inf") 正无穷。

2.关于梯度:

数值梯度是利用有限差分法代入一个具体的较小值,利用公式求得对应的梯度,这个梯度值是近似的,近似程度取决于你的较小值的大小。它的优点是代码容易实现。解析梯度是利用微分直接求解梯度,优点是精确求解,解析速度快,但是有时候会出错。在debug的时候,为了检验公式的正确性,数值梯度往往是一个很好的工具,由于计算速度很慢,你可能需要适当减少参数的数量,这是一个非常好的调试策略。

注:学习率是一个很重要的超参数,在训练网络时往往是第一个需要检查的超参数,关于模型大小和正则化强度的检查往往在其之后进行。

注:交互网页项目网址(很好用,就不加以说明了):

http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/

3.深度神经网络之前:

将像素直接输入线性分类器不是一个明智的选择,因为这样的模型无法分辨多模态等图片的特征,且总由背景等像素占比多的区域决定分类结果。在深度神经网络大规模运用之前,常用的方式是计算图片各种特征代表(feature representation),例如一些与图片形象特征有关的数值构成特征向量,然后将不同的特征向量合在一起,得到图像的特征表述,再将这些特征表述传入线性分类器。这种模型可以得到图片的转换特征(比如得到颜色频数直方图,或者边缘方向直方图),将某些原本线性不可分的图片特征变为线性可分的,从而可以有线性分类器进行分类。如今的深度学习网络主要的区别就是网络可以利用卷积层等结构自行学习特征,不再需要人工提取输入特征。

Cs231n课堂内容记录-Lecture 3 最优化的更多相关文章

  1. Cs231n课堂内容记录-Lecture 4-Part2 神经网络

    Lecture 7 神经网络二 课程内容记录:https://zhuanlan.zhihu.com/p/21560667?refer=intelligentunit 1.协方差矩阵: 协方差(Cova ...

  2. Cs231n课堂内容记录-Lecture 4-Part1 反向传播及神经网络

     反向传播 课程内容记录:https://zhuanlan.zhihu.com/p/21407711?refer=intelligentunit 雅克比矩阵(Jacobian matrix) 参见ht ...

  3. Cs231n课堂内容记录-Lecture 6 神经网络训练

    Lecture 6  Training Neural Networks 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentun ...

  4. Cs231n课堂内容记录-Lecture 8 深度学习框架

    Lecture 8  Deep Learning Software 课堂笔记参见:https://blog.csdn.net/u012554092/article/details/78159316 今 ...

  5. Cs231n课堂内容记录-Lecture 7 神经网络训练2

    Lecture 7  Training Neural Networks 2 课堂笔记参见:https://zhuanlan.zhihu.com/p/21560667?refer=intelligent ...

  6. Cs231n课堂内容记录-Lecture 5 卷积神经网络介绍

    Lecture 5 CNN 课堂笔记参见:https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit 不错的总结笔记:https://blo ...

  7. Cs231n课堂内容记录-Lecture 9 深度学习模型

    Lecture 9 CNN Architectures 参见:https://blog.csdn.net/qq_29176963/article/details/82882080#GoogleNet_ ...

  8. Cs231n课堂内容记录-Lecture2-Part2 线性分类

    Lecture 3 课程内容记录:(上)https://zhuanlan.zhihu.com/p/20918580?refer=intelligentunit (中)https://zhuanlan. ...

  9. Cs231n课堂内容记录-Lecture2-Part1 图像分类

    Lecture 2 课程内容记录:(上)https://zhuanlan.zhihu.com/p/20894041?refer=intelligentunit (下)https://zhuanlan. ...

随机推荐

  1. python字符串类型

    python中的字符串 python中的字符串类型为str,也是平时操作的类型.但除了str类型,还有一个专门的名为"string"的模块(导入即可知),是很早以前没有str类型的 ...

  2. 南大算法设计与分析课程OJ答案代码(3)

    问题 A: 动态中位数问题 时间限制: 1 Sec  内存限制: 8 MB提交: 866  解决: 102提交 状态 算法问答 题目描述 输入一组整数a1, a2, …, an ,每输入一个整数,输出 ...

  3. Python进阶笔记

    列表生成式 函数的参数类型 lambda函数 map, reduce, filter, sorted函数 eval, exec, join, zip函数 itertools中的函数 copy与deep ...

  4. Go vs .NET Core 2.1

    .NET Core 2.1 正式发布之际,微软团队在博客的中提到了 .NET Core 2.1 中的性能提升.这让我想起了去年 Go 语言 Iris MVC 框架作者做的 Go 与 .NET Core ...

  5. T-SQL:qualify和window 使用(十七)

    1.qualify 是一个潜在的额外筛选器 主要用于对开窗函数的数据筛选 SELECT orderid, orderdate, val, RANK() OVER(ORDER BY val DESC) ...

  6. 推送GitHub报错 fatal: Out of memory, malloc failed 解决办法

    现象: 推送GitHub时,出现如下报错 fatal: Out of memory, malloc failed (tried to allocate XXXXXX bytes)error: fail ...

  7. [android] android下junit测试框架配置

    我们的业务代码一般是放在一个新的包下面,这个业务类不能够通过右键run as java application,因为android项目只能运行在手机上的dalvak虚拟机里面 新建一个包,里面写测试类 ...

  8. JVM运行时数据区内容简述

    JVM运行时数据区分为五个部分:程序计数器.虚拟机栈.本地方法栈.堆.方法区.如下图所示,五部分其中又分为线程共享区域和线程私有区域,下面将分别介绍每一部分. 1. PC程序计数器 程序计数器是一块较 ...

  9. 【Java】Properties文件的解析

    public abstract class ReadProperties { public ReadProperties() {} /** * 回调函数,由调用者处理 * @param key * @ ...

  10. 关于java中反射的小结

    一.Class 1. Class是一个类,封装了当前对象所对应的类的信息 2.小写class表示是一个类类型,大写Class表示这个类的名称 3.对于每个类而言,JRE 都为其保留一个不变的 Clas ...