零基础入门语音识别-食物声音识别
食物声音识别之模型改进与优化
Task5 自主尝试模型的改进与优化
本次新人赛是Datawhale与天池联合发起的零基础入门系列赛事第八场 —— 零零基础入门语音识别-食物声音识别挑战赛。
baseline由开源学习组织Datawhale提供
https://github.com/datawhalechina/team-learning
进入到Task5的学习中,我们开始讨论baseline中模型的改进,并尝试着着手优化。本次打卡,是对这两天总结如何对模型的优劣进行评估和调优。
模型的过拟合和欠拟合
在模型评估与调整的过程中,往往会遇到“过拟合”或“欠拟合”的情况。如何有效地识别“过拟合”和“欠拟合”现象,并有针对性地进行模型调整,是不断改进算法模型的关键。采用多种方法、从多个角度降低“过拟合”和“欠拟合”的风险是模型优化需要考虑的。
通过上图我们可以看出,过拟合是指模型对于训练数据拟合呈过当的情况,反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差。欠拟合指的是模型在训练和预测时表现都不好的情况。因此,在建立模型时,我们要通过一定的方法来降低过拟合和欠拟合的风险。
过拟合
(1)从数据入手,获得更多的训练数据。使用更多的训练数据是解决过拟合问题最有效的手段,因为更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响。当然,直接增加实验数据一般是很困难的,但是可以通过一定的规则来扩充训练数据。比如,在图像分类的问题上,可以通过图像的平移、旋转、缩放等方式扩充数据;更进一步地,可以使用生成式对抗网络来合成大量的新训练数据。我认为在音频图像处理中,可以通过对音频的声谱图进行相应的操作,从音频源头采集更多数据,进行降噪等。
(2)降低模型复杂度。在数据较少时,模型过于复杂是产生过拟合的主要因素,适当降低模型复杂度可以避免模型拟合过多的采样噪声。例如,在神经网络模型中减少网络层数、神经元个数等;在决策树模型中降低树的深度、进行剪枝等。
(3)正则化方法。给模型的参数加上一定的正则约束,比如将权值的大小加入到损失函数中。以L2正则化为例:在优化原来的目标函数C0的同时,也能避免权值过大带来的过拟合风险。
(4)集成学习方法。集成学习是把多个模型集成在一起,来降低单一模型的过拟合风险,如Bagging方法。
欠拟合
(1)添加新特征。当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合。通过挖掘“上下文特征”“ID类特征”“组合特征”等新的特征,往往能够取得更好的效果。在深度学习潮流中,有很多模型可以帮助完成特征工程,如因子分解机、梯度提升决策树、Deep-crossing等都可以成为丰富特征的方法。
(2)增加模型复杂度。简单模型的学习能力较差,通过增加模型的复杂度可以使模型拥有更强的拟合能力。例如,在线性模型中添加高次项,在神经网络模型中增加网络层数或神经元个数等。
(3)减小正则化系数。正则化是用来防止过拟合的,但当模型出现欠拟合现象时,则需要有针对性地减小正则化系数。
这就是对数据的拟合情况来分析模型的训练情况,作为入门的初学者,对数据的拟合在模型是否足够准确十分重要,并且在后面的学习里,我会努力理解如何进一步实现对模型的优化。