吴恩达神经网络 ——神经网络的权重初始化,Mini-batch 梯度下降,指数加权平均数,动量梯度下降法

本文介绍了神经网络的权重初始化方法,包括Xavier初始化和ReLU激活函数对应的初始化策略。接着讨论了Mini-batch梯度下降法,解释了其优势和在处理大规模数据集时的效率提升。此外,还探讨了指数加权平均数的概念及其在优化过程中的应用,并解释了动量梯度下降法如何结合历史梯度信息来加速收敛。
摘要由CSDN通过智能技术生成

神经网络的权重初始化

在这里插入图片描述
四个神经元可能有4个输入特征,从x_1到x_4,经过a=g(z)处理,最终得到y我们用x表示。
z=w_1 x_1+w_2 x_2+⋯+w_n x_n,b=0,暂时忽略b,

目的:为了预防z值过大或过小,你可以看到n越大,你希望w_i越小,因为z是w_i x_i的和,如果你把很多此类项相加,希望每项值更小
方法:设置w_i=1/n,n表示神经元的输入特征数量,实际上,你要做的就是设置某层权重矩阵
在这里插入图片描述

【我用的是n([l-1]),因为本例中,逻辑回归的特征是不变的。但一般情况下l层上的每个神经元都有n([l-1])个输入。】

对于其他激活函数:
tanh:1:是√(1/n^([l-1]) ),被称为Xavier初始化。
2:Yoshua Bengio和他的同事还提出另一种方法,你可能在一些论文中看到过,它们使用的是公式√(2/(n([l-1])+n[l] ))。
Relu激活函数,也就是最常用的激活函数,这个公式np.sqrt(2/n^([l-1]) ),
在这里插入图片描述

Mini-batch 梯度下降

当训练巨量数据集时,我们要把训练样本放大巨大的矩阵X当中去,X=[x^((1) ) x^((2) ) x^((3) )……x^((m) ) ]。
Y也是如此,Y=[y^((1) ) y^((2) ) y^((3) )……y^((m) ) ]。
在这里插入图片描述
所以X的维数是(n_x,m),Y的维数是(1,m),向量化能够让你相对较快地处理所有m个样本。
如果m很大的话,处理速度仍然缓慢。比如说,如果m是500万或5000万或者更大的一个数,在对整个训练集执行梯度下降法时,你要做的是,你必须处理整个训练集,然后才能进行一步梯度下降法,然后你需要再重新处理500万个训练样本,才能进行下一步梯度下降法。

改进:你可以把训练集分割为小一点的子集训练,这些子集被取名为mini-batch,假设每一个子集中只有1000个样本,那么把其中的x((1))到x((1000))取出来,将其称为第一个子训练集,也叫做mini-batch,然后你再取出接下来的1000个样本,从x((1001))到x((2000)),然后再取1000个样本,以此类推。
在这里插入图片描述
在这里插入图片描述
实现过程:
1:x((1))到x((1000))称为X({1}),x((1001))到x((2000))称为X({2}),如果你的训练样本一共有500万个,每个mini-batch都有1000个样本ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值