以下文章摘录自:
《机器学习观止——核心原理与实践》
京东: https://item.jd.com/13166960.html
当当:http://product.dangdang.com/29218274.html
(由于博客系统问题,部分公式、图片和格式有可能存在显示问题,请参阅原书了解详情)
————————————————
版权声明:本文为CSDN博主「林学森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xuesen_lin/
1.1 数据集建设的核心目标
因为业界还没有严格的数据集建设标准,所以我们主要是根据机器学习项目的经验来总结出它的核心目标,简单来讲在于:
提升训练数据集的质量和数量
其中有如下几个关注点:
l 数据量(Scale)
l 数据分布多样性(Diversity)
l 数据准确性(Accuracy)
做一个可能不太恰当的比喻,上述3个关注点或许和当今时代的主流择偶标准有类似之处——即高(数据量大)、富(数据分布广)、帅(数据准确,质量高)。
(1) 数据量
用于机器学习项目的数据量究竟应该是多大?很遗憾到目前为止还没有人可以给出准确的理论依据和解答。不过从实践角度来看,在保证数据质量的情况下,数据量大往往可以取得更好的业务效果。
下面我们通过几个例子来让大家对此有一个感性的认识。
l 深度学习理论其实在很多年前就已经出现了,但在当时却没有掀起太大的波澜。而在沉寂了若干年后,它突然于2012年左右火爆起来,其中的原因是什么呢?不难发现,除了计算能力的大幅提升外,另一个重要原因就在于数据集的建设达到了“质变”。特别是ImageNet提供的千万级别的高质量数据集,让学术界的算法模型(特别是以卷积神经网络为代表的深度学习模型)“打通了任督二脉”,从而爆发出了无穷无尽的力量
图 ‑ 算法与数据量的关系
l 2018年上半年的时候,Facebook利用Instagram上的几亿级别的用户标注图片,帮助其图像识别等算法精度达到了历史新高度。这就足以说明即便是达到亿+级别的超海量数据集,训练数据量的增加对于算法精度的提升仍然有帮助
另外,不同类型的算法对于数据量的需求显然也有差异。为此业界著名的scikit-learn还特意给开发人员提供了一份“小抄”(cheat sheet),参考下图:
图 ‑ 数据量和算法类型的匹配关系
(2) 数据分布(多样性)
我们针对训练数据集的采样,理论上要能代表现实中所有数据的分布,这样可以尽可能保证训练出来的模型的泛化能力。举个简单的例子,我们需要训练一个识别人类的模型。那么以下两个数据集哪个更符合要求呢?<