吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)

本文详细介绍了多隐含层神经网络的工作原理,包括正向传播和反向传播的计算过程,以及深度神经网络如何通过多层结构实现从简单特征到复杂特征的逐步抽象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        多隐含层神经网络的推导步骤非常类似于单隐含层神经网络的步骤,只不过是多重复几遍

        关于单隐含层神经网络公式的推导可以参考: http://blog.youkuaiyun.com/fengbingchun/article/details/79370310 

        逻辑回归是一个浅层模型(shadow model),或称单层神经网络;单隐含层神经网络是一个双层神经网络。当我们数神经网络有几层的时候,我们不能把输入层数进去,只算上隐含层和输出层的数量

       符号约定:L:表示神经网络的层数;n[l]:第l层上节点(单元)的数量,如n[1]表示第一个隐含层单元数量;输入层作为第0层,即n[0]表示输入层单元数量;a[l]:表示第l层中的激活函数;a[l]=g[l](z[l]);w[l]:表示第l层中的权值,即在a[l]中计算z[l]值的权重;b[l]:表示第l层中的偏置,即计算z[l]值的偏置项;x:输入特征,x也是第0层的激活函数,即a[0]=x;最后一层的激活函数a[L]=y’(或称y hat),即a[L]等于预测输出;

        正向传播(单个样本):第1层到第L层(也就是从输入层到输出层的整个神经网络)

                z[1]=w[1]*x+b[1];// x=a[0](输入特征向量x也是第0层的激活函数)

                a[1]=g[1](z[1]);

                z[2]=w[2]*a[1]+b[2];

                a[2]=g[2](z[2]);

                … …

                z[L]=w[L]*a[L-1]+b[L];

                a[L]=g[L](z[L]);

        正向传播基本规律公式

                z[l]=w[l]*a[l-1]+b[l];

                a[l]=g[l](z[l]);

        反向传播基本规律公式

                dz[l]=da[l]*g[l]’(z[l]);

                dw[l]=dz[l]*a[l-1];

                db[l]=dz[l];

                da[l-1]=w[l]T*dz[l];


        各层矩阵w、b维数的确定

                     w[l]的维度必须是:(n[l],n[l-1]);其中n[0]=nx,即输入特征x的长度,x的维度是(n[0],1);

                     b[l]的维度一般是:(n[l],1);

        z[l]和a[l]矩阵的维度应该是相等的(a[L]=g[L](z[L]));dz[l]和z[l]的维度是相等的;da[l]和a[l]的维度是相等的。

        在反向传播中,dw[l]的维度应该和w[l]的维度相同,即为(n[l],n[l-1]);db[l]的维度应该和b[l]的维度相同,即(n[l],1)。

        深度神经网络(deep neural network)很好用的原因

        假如你在建一个人脸识别或人脸检测系统,深度神经网络所做的事就是:当你输入一张脸部的照片,然后你可以把深度神经网络的第1层当成一个特征检测器或边缘检测器,例如在第1层创建一个大概有20个隐层单元的深度神经网络,隐层单元就是下图的这些小方块,一个小方块就是一个隐层单元,它会去找这张照片里的垂直或水平边缘的方向等,即第1层去找这张照片的各个边缘;然后它可以把检测到的边缘组合成面部的不同部分,比如说,可能有一个神经元会去找眼睛的部分,另外还有别的在找鼻子的部分,然后把这些许多的边缘结合在一起,就可以开始检测人脸的不同部分;最后再把这些部分放在一起,比如鼻子、眼睛、下巴,就是识别或检测不同的人脸。你可以直觉上把这种神经网络的前几层当做检测简单的函数,比如边缘,之后把它们跟后几层结合在一起,那么总体上就能学习更多复杂的函数。边缘(edge)检测器其实相对来说都是针对照片中非常小块的面积;面部检测器就会针对于大一些的区域。一般的概念是,一般会从比较小的细节入手,比如边缘,然后在一步步到更大更复杂的区域,比如一只眼睛或是一个鼻子;再把眼睛鼻子装一块组成更复杂的部分。这种从简单到复杂的金字塔状表示方法或者组成方法,也可以应用在图像或者人脸识别以外的其它数据上。


        参数和超参数(hyper parameters):参数包括各层的w和b。学习率α、梯度下降法中的迭代次数、隐含层数、各隐含层的单元数、激活函数的选择,这些都需要自己来设置,这些数字实际上控制了最终参数w和b的值。所以它们被称为超参数。因为这些超参数在某种程度上决定了最终得到的w和b。

        今天的深度学习应用领域,还是很经验性的过程:


        机器学习里的复杂性是来源于数据本身而不是一行行的代码

        GitHub: https://github.com/fengbingchun/NN_Test 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值