深度学习——神经网络理论

本文介绍了神经网络的前向传播和后向传播原理,以及神经网络优化方法。前向传播涉及样本数据的预测,而后向传播通过成本函数调整参数。优化策略包括L2正则化、随机失活、提前结束训练和权重初始化,如Xavier初始化。同时,文章提到了梯度检验确保计算正确性。
摘要由CSDN通过智能技术生成

神经网络-前向传播

前向传播指神经网络由样本数据进行预测的过程,从样本值x不断生成各层输出a[l]的过程。

Z[l] = np.dot(w[l],x)+b[l]#(1)
a[l] = g[l](z[l])#(2)
#在1式中,b[l]为m维向量,对应l层m个神经元,会触发广播机制,自动复制为(m,n)矩阵,n为样本数量
#g[l]表示l层的激活函数,主要为实现l层输出的标准化,一般有Relu、tanh和西格玛三种函数,在深度神经网络中,隐藏层主要使用tanh函数,输出层使用西格玛函数。

神经网络-后向传播

后向传播指神经网络根据训练样本得出预测值后,依据成本函数(损失函数)倒推各层参数的修正梯度方向的过程。

da[l] = J(y_hat,y)(成本函数)
dz[l] = np.dot(da[l], dg[l](z[l])
dw[l] = np.dot(dz[l], a[l-1])
db[l] = dz[l]
da[l-1] = np.dot(w[l],dz[l])

流程示意图
在这里插入图片描述

神经网络优化

偏差(bias):模型的泛化能力,过高则未拟合
方差(variance):模型对数据集的拟合程度,过高则过拟合
两方面的评估标准与基础误差有关,可通过增加训练数据、实行模型正则化来改善。
L2正则(权重衰减):J(w,b) = 1/msum(J(y_hat, y))+lambd/2m*w**2,准确度更高,但需要尝试多次lambd的取值
随机失活(Dropout):随机抛出,对于每一个隐藏层神经元设置以一定概率抛出,仅应用于过拟合问题。
提前结束:绘制训练集和测试集模型得分随时间变化的曲线,提前结束训练过程。
权重初始化:权重的初始取值不当会导致梯度的消失或爆炸
w[l] = np.random.randn(shape)*np.sqrt(2/n[l-1])n[l-1]表示l-1层的神经元数量。
Xavier初始化是上方法的变体:以tanh(sqrt(1/n[l-1]))替代np.sqrt(2/n[l-1]),适用于tanh为激活函数的神经元
梯度检验:主要用于检验导数代码是否错误
Grand(ai) = J(a1,a2,……,ai+b) - J(a1,a2,……ai+b)/2
检查||Grand(ai)-realGrand(ai)||2/||Grand(ai)||2+||realGrand(ai)||2的值,应取值于10^-8 到10^-5之间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值