作者:手机用户2602919547 | 来源:互联网 | 2023-06-01 20:21
深度学习网络如何提高泛化性的自我理解:
1. 采用dropout;
2. 使用L1和L2正则化;
在深度学习中,L1是权重和的绝对值作为惩罚项,目的是提高减小权重,提高网络稀疏性;L2是权重平方和然后平方根为惩罚项,目的是减小权重,抑制个别权重的影响;要优化的变成了一个个矩阵,要惩罚的是神经网络中每个神经元的权重大小,从而避免网络中的神经元走极端抄近路。
都是针对模型中参数过大的问题引入惩罚项,依据是奥克姆剃刀原理。在深度学习中,L1会趋向于产生少量的特征,而其他的特征都是0增加网络稀疏性;而L2会选择更多的特征,这些特征都会接近于0,防止过拟合。神经网络需要每一层的神经元尽可能的提取出有意义的特征,而这些特征不能是无源之水,因此L2正则用的多一些。L2正则化项有让w“变小”的效果,为什么w“变小”可以防止overfitting?人们普遍认为:更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀)。而在实际应用中,也验证了这一点,L2正则化的效果往往好于未经正则化的效果。
监督机器学习的核心原理莫过于如下公式:
所有的有监督机器学习,无非就是正则化参数的同时最小化经验误差函数。最小化经验误差是为了极大程度的拟合训练数据,正则化参数是为了防止过分的拟合训练数据。你看,多么简约数学哲学。正如之前所说,监督机器学习是为了让我们建立的模型能够发现数据中普遍的一般的规律,这个普遍的一般的规律无论对于训练集还是未知的测试集,都具有较好的拟合性能。
3. BN;
BN主要是控制输入的分布,对其进行归一化然后拉伸和平移还原输入特征,这样可以让每一层的训练都从相似的起点出发,而对权重进行拉伸,等价于对特征进行拉伸,在输入层等价于数据增强。
4. 数据拓展
参考:https://www.sohu.com/a/231450369_314987
在推荐一个很nb的链接:https://www.jianshu.com/p/4bad38fe07e6
https://blog.csdn.net/weixin_43384257/article/details/96719641?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task