为何深度学习发展了
数据
- 对于小量数据来讲,神经网络表现比线性回归、SVM
- 对于大量数据来讲神经网络比SVM好
- 对于大量数据来讲,大的网络比小的网络好
- 因为电脑的大量使用数据愈来愈多
计算
- GPUs.
- Powerful CPUS.
- Distributed computing.
- ASICs
算法发展
Relu等新的技巧提出html
Logistics Regression
git
Numpy
reshape的计算代价很小,因此你不肯定数据维度的时候均可以放上
一些解决潜在bug的trick
- 若是不设置向量的维度,那么默认值会是(m,),而且转置操做不会使用,你必须将其reshape成(m,1)。尽可能不要使用rank=1的矩阵
- 计算前尝试检验维度,如
assert(a.shape == (5,1))
- 若是发现了rank=1的矩阵,作reshape
作了归一化以后梯度降低更易收敛
激活函数
- tanh在隐层使用会比较好(mean=0)
- sigmoid和tanh会存在问题,由于当值极小或极大会形成梯度接近零
- relu更加经常使用
- 选择激活函数的准则:若是你的分类结果是0和1,用sigmoid,不然用relu
对于权值要作随机初始化
为何要深层网络
Reference
https://github.com/mbadry1/DeepLearning.ai-Summarygithub