深度学习笔记本
呉真的深度学习笔记本,基于吴恩达(Andrew Y. Ng)教授的深度学习入门课程,可以在Coursera或网易云课堂学习该课程。
第一课:神经网络和深度学习(Neural Networks and Deep Learning)
第一周:深度学习概论(Introduction to deep learning)
1.1 欢迎(Welcome)
1.2 什么是神经网络?(What is a neural network?)
1.3 用神经网络进行监督学习(Supervised Learning with Neural Networks)
神经网络在各领域的适用情况:
- 房价预测,广告推荐,一般用普通
神经网络
- 图像识别,更适合
卷积神经网络
(Convolutional Neural Network) - 序列数据(如音频,文本),更适合
循环神经网络
(Recurrent Neural Network) - 自动驾驶,需要更复杂的混合神经网络
一些专业术语:
- 结构化数据(Structured Data):类似关系型数据库中数据表的数据
- 非结构化数据(Unstructured Data):诸如音频、图像、文本等数据
- 人类更擅长理解非结构化数据,而由于深度学习和神经网络的出现,计算机现在也可以更好的理解非结构化数据
1.4 为什么深度学习会兴起(Why is Deep Learning taking off?)
数据集不大的时候,一些传统的机器学习方法,诸如支持向量机(Support Vector Machine)可能表现的会更好。当拥有非常庞大的数据集时,神经网络才能发挥出它应有的性能。
1.5 关于这门课(About this Course)
1.5 课程资源(Course Resources)
1.6 Geoffrey Hinton interview
第二周:神经网络基础(Neural Networks Basics)
2.1 二分分类(Binary Classification)
一些约定:
- m:表示训练集的规模(训练样本数量)
- n:表示单个训练数据的维度
- :表示整个训练集,用表示第个训练样本
- :表示整个标签(label)集,用表示第个标签
2.2 逻辑回归(Logistic Regression)
Sigmoid
函数:将实数映射到的区间,常用于输出二分类问题中的概率分布。
2.3 逻辑回归成本函数(Logistic Regression Cost Function)
- 损失函数:用来衡量预测值和实际值的差距
- 成本函数:整个训练集的平均损失
2.4 梯度下降法(Gradient Descent)
关于梯度的理解:一元函数某点的导数
在几何意义上即是该点切线的斜率
,且切线只有一条。而对于多元函数来说,某点具有无数条切线,我们可以通过偏导数
的思想,求得该点在固定x轴的情况下沿y轴的切线斜率又或是在固定y轴的情况下沿x轴的切线斜率。而方向导数
可以使我们脱离坐标轴的限制,取得任意方向下的切线斜率或变化率。梯度
则代表了函数变化率最大的方向,梯度值即为函数变化率最大值。
2.5 导数(Derivatives)
2.6 更多导数的例子(More Derivative Examples)
2.7 计算图(Computation graph)
一些约定:
- 正向传播过程从左到右使用蓝色绘图
- 反向传播过程从右到左使用红色绘图
2.8 计算图的导数(Derivatives with a Computation Graph)
2.9 逻辑回归中的梯度下降法(Logistic Regression Gradient Descent)
Gradient Descent on m Examples
Vectorization
More Vectorization Examples
Vectorizing Logistic Regression
Vectorizing Logistic Regression’s Gradient Output
Broadcasting in Python
A note on python/numpy vectors
Quick tour of Jupyter/iPython Notebooks
Explanation of logistic regression cost function (optional)
Pieter Abbeel interview