表示第i个样本
表示样本的第i个特征


所以这里的x都是列向量

L(y,y)是单个损失函数
J 是所有训练样本的
逻辑回归可以被看成一个非常小的神经网络。
3.1 神经网络概览

3.2 神经网络的表示
一般输入层是第0层,所以一个看起来是三层的神经网络,一般是被称作一个两层的神经网络。
w[1]是(4*3)的矩阵,4代表该层有四个节点,3代表,该层有三个输入项。
b[1]是一个(4*1)的矩阵

3.3 神经网络的输出

列向量用黑体字母表示,转置用T表示,代表行向量

3.4 多个例子中的向量化
如何将不同训练样本堆叠起来放入矩阵的各列呢?只需要修改上面的方程,就可以实现,那么我们来看下具体实现

下节课中将会讲解为什么这样向量化,
3.5 向量化实现的解释


这里使用的是sigmoid函数,还有其他的函数可以使用
3.6 激活函数Activation functions
tanh 函数双曲正切函数
sigmoid 函数一般用于输出层,因为范围是0-1 ,或者二分类问题,隐藏层一般使用的是tanh函数。所以不同的层可以用不同的激活函数,有时候为了表示不同层的激活函数,我们有时候会用g[1]或者g[2]来表示。由于z的有可能很大或者很小,导致函数的斜率为0,这样会拖慢梯度下降的算法,为了解决这个问题,最少欢迎的一个玩具是,所谓的修正性单元。
rectified liner unit, ReLU,所谓的修正性单元,
在选择激活函数时有一些经验法则,如果你的输出是0或1,如果你再做二元分类,那么很适合座位输出层的激活函数,其他所有层都可以使用ReLU,也就是所谓的修正性单元,现在已经是默认的激活函数了。所以如果你不确定隐层应该用哪个函数,就可以先用ReLU函数。大部分人都再用这个函数,当然也有人tanh函数。ReLu函数的一个缺点是:当z为负时,导数等于0,在实际问题中没有问题。但ReLU还有另一个版本,叫做带泄漏的ReLU leaky ReLU.下一节将会给出,当z为负时,函数不再是0.而是有一个喊缓的斜率。会比一般的更快。


3.7 为什么需要非线性激活函数
事实证明,要让你的神经网络能够计算出有趣的函数,你必须使用非线性激活函数,除非你想。。。
可以改成线性激活函数,或者恒等函数,多个线性函数的组合仍然是线性函数所以没必要使用隐层,除非你要做的是一个回归的问题不是一个0-1的问题,那么是可以用的
3.8激活函数的导数
当需要计算神经网络的反向传播时,需要计算激活函数的导数或者斜率
sigmoid 导数

tanh导数

ReLU导数

3.9神经网络的梯度下降法
你将看到神经网络的梯度下降,以及如何处理单隐层神经网络。这个视频会给你提供所需的方程。
网友评论