deeplearning.ai课程学习(1)
本系列主要是我对吴恩达的deeplearning.ai课程的理解和记录,完整的课程笔记已经有很多了,因此只记录我认为重要的东西和自己的一些理解。
第一门课 神经网络和深度学习(Neural Networks and Deep Learning)
第一周:深度学习引言(Introduction to Deep Learning)
1、常用神经网络的结构与对应的数据类型
数据类型
结构化数据:表格类型的数据,有明确的行和列。
非结构化数据:音频、视频、图像、文本等类型的数据。

网络结构
标准的NN结构如下图,包含输入层、隐藏层、输出层,前一层的所有节点和下一层的所有节点全部相连。可以认为标准的NN是全连接层组成的。
是最常见的网络结构,在数据量充足或者输入层的特征合适的情况下会获得较好的性能。它的输入一般都是

对于图像应用,我们经常在神经网络上使用卷积(Convolutional Neural Network),通常缩写为CNN。
正如其名,CNN会包含输入层、卷积层、输出层(还会有池化层)。CNN的最大特点就是使用了卷积来提取特征。

对于序列数据,例如音频,有一个时间组件,随着时间的推移,音频被播放出来。作为一维时间序列(两种英文说法one-dimensional time series / temporal sequence)。
在序列数据上经常使用RNN,一种递归神经网络(Recurrent Neural Network)。英语和汉语字母表或单词都是逐个出现的,所以语言也是最自然的序列数据。

当然,现实中的实际问题会有更复杂的情况,比如自动驾驶,会使用一些更复杂的混合的神经网络结构。
2、为什么深度学习会兴起?
假设有一个任务比如说准确率体现在垃圾邮件过滤或者广告点击预测,或者是神经网络在自动驾驶汽车时判断位置的准确性。如果把一个传统机器学习算法的性能与数据量的关系画出来,可能得到一个弯曲的线,如下图。它的性能一开始在增加更多数据时会上升,但是一段变化后它的性能就会像一个高原一样。假设你的水平轴拉的很长很长,它们不知道如何处理规模巨大的数据,而过去十年的社会里,我们遇到的很多问题只有相对较少的数据量。现在,我们的任何行为都会产生数据,并且被收集,使用。

神经网络展现出的是,如果你训练一个小型的神经网络,那么这个性能可能会像下图黄色曲线表示那样;如果你训练一个稍微大一点的神经网络,比如说一个中等规模的神经网络(下图蓝色曲线),它在某些数据上面的性能也会更好一些;如果你训练一个非常大的神经网络,它就会变成下图绿色曲线那样,并且保持变得越来越好。因此可以注意到两点:如果你想要获得较高的性能体现,那么你有两个条件要完成,第一个是你需要训练一个规模足够大的神经网络,以发挥数据规模量巨大的优点,另外你需要能画到x轴的这个位置,所以你需要很多的数据。

可以发现,想要在神经网络上获得更好的性能,往往就是要么训练一个更大的神经网络,要么投入更多的数据。另外这里说的数据是有标签的数据。
此外,红框部分想要说明的是,在数据量较小的情况下,各种算法的性能没有明确的好坏区分。此时决定算法性能的效果取决于你的特征工程以及后续的一些处理(模型融合)。
3、评估与迭代
最近几年,深度学习算法的创新主要在算法计算速度的提高上,例如激活函数从Sigmoid变为了ReLU一方面为了使梯度下降算法运行更快。
在拥有数据的前提下,算法的速度提高意味着在同样的时间内我们能尝试更多的想法,从而最后在应用是能够更好。

参考文献:
[1]. 课程视频:Coursera-deeplearning.ai / 网易云课堂
[2]. 深度学习笔记
deeplearning.ai课程学习(1)的更多相关文章
- deeplearning.ai课程学习(2)
第二周:神经网络的编程基础(Basics of Neural Network programming) 1.逻辑回归的代价函数(Logistic Regression Cost Function) 逻 ...
- deeplearning.ai课程学习(3)
第三周:浅层神经网络(Shallow neural networks) 1.激活函数(Activation functions) sigmoid函数和tanh函数两者共同的缺点是,在z特别大或者特别小 ...
- deeplearning.ai课程学习(4)
第四周:深层神经网络(Deep Neural Networks) 1.深层神经网络(Deep L-layer neural network) 在打算使用深层神经网络之前,先去尝试逻辑回归,尝试一层然后 ...
- Deeplearning.ai课程笔记--汇总
从接触机器学习就了解到Andrew Ng的机器学习课程,后来发现又出来深度学习课程,就开始在网易云课堂上学习deeplearning.ai的课程,Andrew 的课真是的把深入浅出.当然学习这些课程还 ...
- Deeplearning.ai课程笔记-神经网络和深度学习
神经网络和深度学习这一块内容与机器学习课程里Week4+5内容差不多. 这篇笔记记录了Week4+5中没有的内容. 参考笔记:深度学习笔记 神经网络和深度学习 结构化数据:如数据库里的数据 非结构化数 ...
- Deeplearning.ai课程笔记-改善深层神经网络
目录 一. 改善过拟合问题 Bias/Variance 正则化Regularization 1. L2 regularization 2. Dropout正则化 其他方法 1. 数据变形 2. Ear ...
- 机器学习策略——DeepLearning.AI课程总结
一.什么是ML策略 假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统: 收集更多训练数据 训练集的多样性不够,收集更多的 ...
- Deeplearning.ai课程笔记-结构化机器学习项目
目录 一. 正交化 二. 指标 1. 单一数字评估指标 2. 优化指标.满足指标 三. 训练集.验证集.测试集 1. 数据集划分 2. 验证集.测试集分布 3. 验证集.测试集大小 四. 比较人类表现 ...
- Coursera深度学习(DeepLearning.ai)编程题&笔记
因为是Jupyter Notebook的形式,所以不方便在博客中展示,具体可在我的github上查看. 第一章 Neural Network & DeepLearning week2 Logi ...
随机推荐
- PL/SQL 条件控制语句
1.if-then 语句 语法: IF 条件 THEN 语句序列; END IF; 实例: DECLARE i ) :; BEGIN THEN dbms_output.put_line('True') ...
- react.js中实现tab吸顶效果问题
在react项目开发中有一个需求是,页面滚动到tab所在位置时,tab要固定在顶部. 实现的思路其实很简单,就是判断当滚动距离scrollTop大于tab距离页面顶部距离offsetTop时,将tab ...
- Redis4.0新特性
redis 4.0 新特性 Redis 4.0在2017年7月发布为GA.包含几个重大改进:更好的复制(PSYNC2),线程DEL / FLUSH,混合RDB + AOF格式,活动内存碎片整理,内存使 ...
- SQL:检索数据-基本检索
检索数据 1.select语句 增删改查四大操作之"查",即检索: 一般包括:what,where:查什么,从哪里选择 2.检索单个列 例:想从products表中检索名为prod ...
- ubuntu各系统双网卡绑定
Ubuntu14.04双网卡绑定 2.1 确定网卡名称 首先确定两块网卡的名称,一般为eth0.eth1,如果有自己添加的网卡名称可能不同,在安装系统的时候可以看到,通过ipmaddr命令可以查看所有 ...
- python核心编程2 第十四章 练习
14-3.执行环境.创建运行其他Python脚本的脚本. if __name__ == '__main__': with open('test.py') as f: exec(f.read()) 14 ...
- (转)Dubbo 简单Dome搭建
(转)原地址https://blog.csdn.net/noaman_wgs/article/details/70214612/ Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统 ...
- 进一步理解 frame 和 bounds
总结一下 iOS中 frame 和 bounds之间的区别 综述 frame和bounds都是描述一块矩形区域,但是他们是有区别的 frame:可视范围,可以理解为控件的大小,把控件当作边缘很薄 ...
- php柱状图多系列动态实现
<?php require_once 'data.php'; require_once 'jpgraph/src/jpgraph.php'; require_once"jpgraph/ ...
- 右键添加git-bash
主要: 右键如果没有git-bash,如何给右键手动添加 前面对右键存在git-bash但使用出现问题的解决,也想到如果右键都没有,该如何给右键添加了,于是接着记录下如何添加的过程: 情形: 手动给右 ...