0%

18. Eyeball和Blackbox开发集应该多大?

你的 Eyeball 开发集应该足够大,大到可以让你了解到算法的主要错误类别。如果你正在从事一项人类可以表现很好的任务(如识别图像中的猫咪),下面是一些指导方针:

• 一个使你分类器犯错10次的Eyeball开发集将会被认为是非常小的。只有10个错误,很难准确估计不同错误类别的影响。但是如果你的数据非常少,而且不能分出更多的Eyeball开发集,有总比没有好,这将有助于项目的优先顺序。

• 如果分类器在Eyeball开发集上犯错约20个样本,你将会大致了解主要的错误来源。

• 如果有约50个错误,你将会比较好的了解错误的来源。

• 如果有约100个错误,你将会很清楚错误的来源。我见过有人手动分析更多的错误——有时候多达500个。只要你有足够的数据。

假设你的分类器有5%的错误率,为了确保Eyeball开发集中有100个错误标记的样本,Eyeball开发集大概有2000个样本(因为0.05*2000 = 100).分类器的错误率越低,为了获取足够多的错误来分析,Eyeball开发集需要足够大。

如果你正在做一个连人类都不能做好的任务,那么检查Eyeball开发集的联系将没有什么必要。因为很难找出算法不能正确分类一个样本的原因。这种情况下,你可能会忽略Eyeball开发集。我们将在后面的章节继续讨论这些指导方针。

Balckbox开发集该多大呢?我们之前说过,开发集约有1000-10000个样本是正常的。一个有1000-10000样本的Blackbox开发集通常会为你提供更多足够的数据去调整参数和选择模型。一个含有100个样本的Blackbox开发集虽然小,但也还是管用的。

如果你有一个小开发集,那么你可能没有足够的数据将它分为足够大的Eyeball和Blackbox开发集。你的整个数据集都不得不用于Eyeball开发集,即你需要对数据一一进行检查。

在Eyeball和Blackbox开发集之间,我认为Eyeball开发集更重要(假设你正在研究一个人类可以很好解决的问题,检查这些样本可以提高你的洞察力)。如果你只有一个Eyeball开发集,你可以在这个开发集上进行错误分析,模型选择和参数调整。只有一个Eyeball开发集的缺点是过拟合开发集的风险更大。

如果你有足够的数据,那么Eyeball开发集的大小将主要取决于你有时间去手动分析样本的数据量。我很少看到有人分析超过1000个错误数据的。