吴恩达的机器学习-神经网络的学习

神经网络的讲解:输入层的是用X来表示的,但是在神经网络中的X表示的输入层用a[0]来表示的

 

其中的a【0】用来表示三行1列的矩阵,若表示其中的莫个可以用a1[0]用来表示第一个元素,

中间用来表示隐藏层,之所以表示隐藏层是因为其内部的参数是看不到的,所以这样称呼它,用a[1]来表示的,其中的元素也是这样表示的,当然a[1]里面的每个元素都是W和b来表示的,而W和b也是用矩阵来表示,分别是4行三列和4行一列,当然输出层a[2]也有w[2]和b[2]。w[2]是一个1行4列的矩阵,b[2]是1行1列的矩阵,为什么呢因为隐藏层的节点个数是4个而输出层的个数是一个所以是1X4,观察方向中间层的w也是这规律,w可以认为是权重,表示在线上的比例关系,而线上的关系是输入三个到隐藏层的4个的关系,所以w时候4层3的矩阵即输入3,输出4个,而b则表示偏置的意思,这样的理解会好点理解。

神经网络的一个圈其实是计算两个步骤的,其中是用来计算Z的还有一个是a,如图所示

神经网络里的圈圈表示节点的,其参数z和a,其上标用来表示层数的,下标表示第几个参数的,而a[1]2=sigmoid(z[1]2)的。

a表示激活值,以下的图片表示总的矩阵表示的关系,很重要的关系

最后的总的表示都是用层的表示方法来进行的,这样的表示就是总体的表示方法了,最后计算的时候,需要计算隐藏层的两个式子和输出层的两个式子,最后只需4行代码即可

 

 

如果梯度下减法,初始寻找的参数初始化都为0的话,其梯度下降法将会失效。因为根据初始化的参数权重是一样的,则使用梯度下减法的更新权重时其实都是一样的,这样的话重复多次的梯度下降法的结果。

 

因为 如果你用的是 tanh 或者 sigmoid 激活函数,或者你在输出层有一个 sigmoid 函数,那如果权重太大 当你计算激活函数值时,要记住 z[1]=W[1]x+b[1]z[1]=W[1]x+b[1],然后a[1]a[1]是应用于z[1]z[1] 的激活函数,所以如果 W 很大 z 就会很大,或者这些 z 值会很大或者很小,所以在这种情况下 你最后可能落在,这些 tanh 函数或者 sigmoid 函数的平缓部分,梯度的斜率非常小,意味着梯度下降法会非常慢,所以学习会很慢。

 

 

深度学习模型:

算几层的神经网络时,得把隐藏层和输出层算上,输入层排除。

现在规定下一些符号,便于以后使用的,

L:表示层数

n[l] :表示第l层有几个单元,我们把输入层当做第0层

最后一层表示a[L]=y 等于预测输出,实现向量化的过程时用for来扫过每层的计算,每层的计算用的公式就是两个

检测自己的神经网络的各参数的维数,对于参数w的维数,其实就是输入参数的维数和输出参数的维数,因为w是权重,所以对于单样本情况下就会有如下规律:

对于多样本的情况下其各矩阵的维度如下:

深度的神经网络为什么越深能解决更复杂的问题呢?

用类似的电路模型来解释多层带来的简便性。来说明建立模型的简便性

 

 

这里就是编程的具体细节了,在计算正向传播时,最好缓存下zwb的值,在反向传播计算的时候,是需要用到这些中间变量的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值