机器学习中的“泛化”:模型过拟合与欠拟合,到底怎么回事?

2年前 (2022) 程序员胖胖胖虎阿
202 0 0

“现实世界永远不会组成一个类分布均衡、没有噪声和异常值、数据分布均匀的完美数据集。”这是任何数据科学家都不想听到的话,但事实确是如此。

人们训练机器时,最常出现的错误即是模型过拟合与欠拟合,这是机器学习难以逃脱的陷阱。

而想知晓拟合不佳的缘由,就不得不提及一个新词汇“泛化”。

什么是泛化?

举个例子,小A与小B一同要参加高考,A在做题过程中积极总结思路,活学活用,而B则大量刷题,没有总结思考的过程,高考分数下来,A超出B一百多分,同样的学习时间,为什么差距这么大?

原来高考是全新的题目,A总结了大量题型规律,利用举一反三的技能,出色完成了考试。这种摸清本质规律的过程便是泛化,总结得越好,泛化也就越高。

机器学习中的泛化用于衡量模型对未见过数据样本的分类能力。如果一个模型可以从不同的集合中预测数据样本,便是具备良好的泛化性。

所以,上述例子中,A的泛化能力好,而B的泛化力差。机器学习的目的是得到良好的泛化,但泛化难以自身操控,只能基于训练数据调节模型。

于是,困扰模型的过拟合与欠拟合便出现了。

过拟合

过拟合指模型在训练时表现较好,但在已知数据以外的数据集上表现较差,泛化力较弱。

这正如高考时的小B,只记住自己做过的所有题型,只会做重复的事情,当遇到稍有变化或者全新题目时,就无从下手了。

因此,模型只有进入测试阶段才能检测出过拟合。造成过拟合的原因也是显而易见:

【1】样本错误,常见为选取样本数量少、选样方法不当、样本范围过窄、样本标签错误等。

【2】参数太多,模型复杂度过高。

【3】样本噪音干扰过大,使得机器将部分噪音认为是特征从而扰乱了预设的分类规则从性能角度讲,过度拟合会导致协方差过大(variance is large),在测试集上的损失函数(cost function)也会加大。(损失函数越小,模型的鲁棒性越好。)

机器学习中的“泛化”:模型过拟合与欠拟合,到底怎么回事?

过度拟合的迹象检测过拟合最“原始”的方法便是划分数据集,以便单独检查模型在每组数据上的性能。

但随着技术进步,人们找到了更系统的方法——K折交叉验证是检测过拟合最常用的技术之一。在这里,我们在 K-folds 交叉验证中将数据拆分成 k 个大小相等的子集,并将一个拆分子集用作测试集,其余用于训练模型。具体做法如下:

机器学习中的“泛化”:模型过拟合与欠拟合,到底怎么回事?

K折交叉验证此过程将重复K次,每一轮测试,选取一个数据集作为该模型的测试集,剩下K-1个数据作为训练集,并对这K次训练误差和验证误差分别求取平均数,以评估整个模型的性能。

因此,如果发现机器过度记住之前的训练数据特征,而没有掌握正确的识别经验,此模型即是失败品。

欠拟合

欠拟合与过拟合相反,欠拟合的成因是训练数据不足,即在训练集上的性能表现很差,测试集的表现同样很差。欠拟合往往伴随着高偏差。

偏差反映的是预测值的期望与真实值之差,偏差越高,模型在训练集上的错误率越高,误差也就越大。

机器学习中的“泛化”:模型过拟合与欠拟合,到底怎么回事?

因此,当模型出现高偏差时,以下方法可利于降低误差,达到拟合状态:

【1】提高模型复杂度:丰富算法模型,如可巧用神经网路、随机深林,添加更多高次项;

【2】参数适调:调整参数与超参数至合适位置,如学习率、学习衰减率、隐藏层数、隐藏层的单元数等;

【3】赋予更多特征:深入挖掘数据,为其赋予更多细化特征,对数据本身及具体应用场景理解越深刻,越易找到强代表性的数据特征。

注:需要注意,盲目添加数据集是无用的,欠拟合指模型的学习能力弱,大量的数据集无法改变拟合状态,只有提升学习能力,模型才会更加稳定。

数据标注细心的伙伴会发现,上文中反复提及了两个词汇即“训练数据与测试数据”。

在传统机器学习中,训练数据与测试数据贯穿了模型的始终,直接决定模型拟合状态的优良。而用于训练与测试模型的数据集从何而来?

准确来说,此类数据集是人类利用专业技术将采集数据转义为机器可理解的语言,该数据处理技术被称为数据标注

人们利用标注好的数据喂养机器。在训练集方面,数据标注不仅决定了训练数据质量,也是模型构建的重要桥梁。而在测试集方面,数据标注扮演着检验机器学习优良的角色。标注完成的测试数据最终会与机器完成的测试集进行对比,以判定模型成功与否。

因此,数据标注是除算法外对模型起决定作用的另一重要因素。标注质量越高,机器学习力越强。

而随着数据标注地位的提升,大量标注公司涌入行业市场,曼孚科技也是其中之一。作为行业头部企业,曼孚科技选择自研平台的创新技术型道路,截至目前已推出第三代智能数据服务平台——MindFlow SEED平台。

机器学习中的“泛化”:模型过拟合与欠拟合,到底怎么回事?

MindFlow SEED平台提供计算机视觉(2D标注、语义分割、3D点云标注、融合标注、关键点标注、线标注)、语音交互(语音切割、语音情绪判定、ASR语音转写)、自然语言处理(OCR转写、文本信息抽取)等多类型数据标注。

在具体标注模式上,MindFlow SEED平台通过AI人机协同标注模式,结合18种不同类型AI预标注辅助工具,全面覆盖各类垂直标注场景,将部分AI标注工具准确率升至99%、数据标注效率10倍以上,以涵盖智能驾驶、智慧城市、智能安防等具体领域,满足人工智能多样性、丰富性的数据标注需求,推动人工智能在更多场景下落地应用。

机器学习中的“泛化”:模型过拟合与欠拟合,到底怎么回事?

而除专业的标注工具外,MindFlow SEED平台也包含项目、供应链、数据安全等管理类目。

通过整合不同工作环节,该平台旨在打破数据孤岛模式,实现对数据全生命周期的统一管理,提升执行效率,满足人工智能多样性、丰富性的数据标注需求,推动人工智能在更多场景下落地应用。

相关文章

暂无评论

暂无评论...