cousera“Neural NetWorks and Deep learning"读书笔记
因为之前上过学校deep learning
准备用这门课温习复习一下deep learning
预言
squence model : for nlp, like LSTM
cnn ususally used on image /CV
what is neural network
通过一个房地产模型讲述神经网络
你获得x输入和y输出,那些中间的神经元就是你要设计的地方
Relu() 函数 Rectified linear unit
神经网络的神奇之处就是你只要给了足够的x, y就能获得一个良好自动的映射。
supervied learning
in sequence data, we always use rnn
分结构化数据和非结构化数据
结构化数据就是数据库,房价信息表
非结构化数据就是图像,音频这种,感谢神经网络给我们带来了这类的进步
为啥深度学习一下子就火了一下子就
因为数据量上去了,感谢信息化
对于小数据 , svm等常规算法比较好
对于大数据,神经网络越大越好
data
computation
Algorithms
Binary classification
logistic regression is a algorithm for binary classification.
解答了怎么把图像变成向量64643 = 12288 这是输入的维度
logistic regression
用猫猫例子讲了线性回归,一张猫猫图x对应一个y,
y =wx+b,为了让概率变成大于0小于1
需要加上sigmoid, y = sigmoid(wx+b)
cost function
L(y,y) = 1/2(y-y)^2 都是向量相互减
Gradient Desent
梯度下降
一个cost function 是一个convex function
找到最低点
Derivatives with a Computation Graph
反向传播 chain rule
就是求导
dj/da = (dj/dv) * (dv/da)
Logistic regression gradient decent
通过反向传到,链式法则,求出w1和w2的下降梯度, dw1, dw2,最后加上学习率, w = w - a w.就是神经网络基本原理。
Gradient decent on m example
在m个样本上其实就是把累加梯度除以m
这样做有两个循环很麻烦,以后用vectorization来优化算法。
vectorization
为什么要用numpy因为它向量化特别好
用法: c = np.dot(a,b)
正向传播 : z = np.dot( w.T * x + b);
boardcasting
b实现归一化 cal = A.sum(axis = 0) 然后再去除以本来的值
不要写秩为1的矩阵,用reshape可以变换大小
python numpy 小作业
logistics regression 就是 logistic function造成的,就是sigmoid function
boardcasting 就是numpy的广播机制
在python中使用numpy进行按位运算的时候,有一个小技巧可以帮助减少代码量——那就是broadcasting,广播机制。
简单来说,broadcasting可以这样理解:如果你有一个mn的矩阵,让它加减乘除一个1n的矩阵,它会被复制m次,成为一个mn的矩阵,然后再逐元素地进行加减乘除操作。同样地对m1的矩阵成立