基于Keras的深度学习防止过拟合的策略:学习率、正则化、dropout、权重初始化、Early Stopping等

本文介绍了如何使用Keras防止深度学习模型过拟合,包括数据清洗、增加数据量、正则化(L1/L2)、dropout、Early Stopping以及学习率调整等策略。通过这些方法,可以提升模型的泛化能力。
摘要由CSDN通过智能技术生成
					**本博客致力于记录心得体会,用简单通俗的语言分享经验和代码!
								记录我们学习的点滴,记录我们成长的过程。**

Keras包

Keras是深度学习中非常好用的一个工具包,我在刚开始接触深度学习的时候,尝试过用pytorch、TensorFlow,但最后我还是选择了Keras,最大的原因就是两个字:简单!真的是太好理解、太过于友好了,对于初学者,又想在短时间内利用深度学习去解决问题,搞搞研究的同学,我推荐Keras
废话就不说了,直接说本文重点吧!

过拟合

在深度学习的过程中,我们经常会遇到一个问题,就是过拟合和欠拟合!欠拟合的方法有增大数据集,优化模型等等。而过拟合是最容易出现,也是困扰大多数人的。什么是过拟合呢?通俗一点地来说过拟合就是模型把数据学习的太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛化能力太差。
既然遇到了问题,那么聪明的科研人员们开始想各种方法去解决这个问题,到底有哪些方法呢?解决过拟合问题有两个方向:降低参数空间的维度或者降低每个维度上的有效规模(effective size)。降低参数数量的方法包括剪枝和权重共享等。降低每个参数维度的有效规模的方法主要是正则化,如权重衰变(weight decay)和早停法(early stopping)等。
简单说主要有以下几种:重新进行数据的清洗、增加数据量、采用正则化技术、采用dropout方法、Early Stopping等。下面我们详细看下防止过拟合的每种方式吧!

防止过拟合的策略

1 重新进行数据的清洗
这个就不多说了吧。数据在训练之前一般要随机打乱,防止某一类的过度聚集,让数据的类别在训练集和验证集中基本平均分布等等。
2 增加数据量
这个也好理解。既然过拟合了,就说明模型已经把这些训练集中的数据规律完完全全给拟合到了,那么增加数据量,丰富数据的类型等是一个直接的解决方案。
3 正则化技术
正则化是一个比较有效的方式。正则项在优化过程中层的参数或层的激活值添加惩罚项,这些惩罚项将与损失函数一起作为网络的最终优化目标。
正则化有L1和L2正则化。一般来说,L2更常使用,L2正则化比L1更适合解决过拟合问题(L2正则化最后可以得到一个参数都比较小的模型,抗扰动能力强),L1正则化则有利于产生稀疏矩阵、特征选择。
首先要导入regularizer

from keras import regularizers

Dense层添加正则化

Dense(256, kernel_regularizer=keras.regularizers
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值