关于NN(神经网络)的学习笔记

一、关于使用梯度下降求解损失函数极小值的原理:
简单来说首先我们的损失函数一定是基于参数单调递减的或者是可以收敛的。
第一步,先初始化参数取值,
第二步,把参数代入到损失函数,损失函数值没有小于给定的极小值,则迭代继续,否则该参数就是得到的最优解
第三步,此时的参数值再减去损失函数对参数的偏导的数值(损失函数对参数求偏导,把此时的参数值代入公式),就是迭代得到的参数值
第四步,回到第二步继续迭代
https://www.cnblogs.com/pinard/p/5970503.html

二、关于深度神经网络(DNN)的理解:
1、假设我们的神经网络有4层,那么参数矩阵就有3个
2、第一个参数矩阵把第一层的神经元映射到第二层,依次类推
3、假设我们的输入样本X1是101000的矩阵(其中1000是我们的样本数,10是特征数,也是第一层的神经元的个数),假设W1是一个2010的系数矩阵,b1是201的偏倚,则W1X1+b1得到第二层X2(201000)的神经元有20个,
假设W2是820的系数矩阵,则W2X2+b2得到第三层X3(81000)的神经元有8个,
最后一层隐藏层的神经元有8个,假设W3是一个1*8的系数矩阵,则W3X3+b3得到最后一层只有1个神经元
4、最后在最后一个神经元的基础上加一个激活函数,即得到最终的预测概率值
https://www.cnblogs.com/pinard/p/6418668.html

三、关于深度神经网络(DNN)的损失函数与激活函数:
1)如果使用sigmoid激活函数,则交叉熵损失函数一般肯定比均方差损失函数好。
2)如果是DNN用于分类,则一般在输出层使用softmax激活函数和对数似然损失函数。
3)ReLU激活函数对梯度消失问题有一定程度的解决,尤其是在CNN模型中。
https://www.cnblogs.com/pinard/p/6437495.html

四、关于深度神经网络(DNN)的正则化dropout原理:
在使用梯度下降对参数W和b进行拟合时,假设首先先把数据集分为3份,每份数据集用户每一轮的W拟合时,会随机把上一层的神经元减掉,进行拟合,最后拟合得到的参数为最终的参数
从上面的描述可以看出dropout和Bagging的正则化思路还是很不相同的。dropout模型中的W,b是一套,共享的。所有的残缺DNN迭代时,更新的是同一组W,b;而Bagging正则化时每个DNN模型有自己独有的一套W,b参数,相互之间是独立的。
当然他们每次使用基于原始数据集得到的分批的数据集来训练模型,这点是类似的。

使用dropout的前提是我们的训练样本要够大,否则会欠拟合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值