最近有很多关于数据能否是新模型驱动 [1] [2] 的讨论,无论结论如何,都无法改动我们在实践工作中获取数据成本很高这一事实(人工费用、答应证费用、设备运转时间等方面)。 因而,在机器学习项目中,一个关键的问题是,为了抵达好比分类器精确度等特定性能指标,我们需求多少锻炼数据才够。锻炼数据多少的问题在相关文献中也称为样本复杂度。 在这篇文章中,我们将从回归剖析开端到深度学习等范畴,快速而普遍地回想目前关于锻炼数据多少的阅历和相关的研讨结果。细致来说,我们将:
01 锻炼数据量的阅历范围 首先让我们看一些普遍运用的,用来肯定锻炼数据量的阅历措施,依据我们运用的模型类型: 回归剖析:依据 1/10 的阅历规则,每个预测因子 [3] 需求 10 个样例。在 [4] 中讨论了这种措施的其他版本,好比用 1/20 来处置回归系数减小的问题,在 [5] 中提出了一个令人兴奋的二元逻辑回归变量。 细致地说,作者经过思索预测变量的数量、总体样本量以及正样本量/总体样本量的比例来估量锻炼数据的多少。 计算机视觉:关于运用深度学习的图像分类,阅历规律是每一个分类需求 1000 幅图像,假如运用预锻炼的模型 [6],这个需求能够显著降落。 02 假定检验中样本大小的确定 假定检验是数据科学家用来检验群体差别、肯定新药物疗效等的工具之一。思索到中止测试的才干,这里通常需求肯定样本大小。 让我们来看看这个例子:一家科技巨头搬到了 A 市,那里的房价大幅上涨。一位记者想知道,往常公寓的平均价钱是多少。 假如给定公寓价钱规范差为 60K,可接受的误差范围为 10K,他应该统计多少套公寓的价钱然后中止平均,才干使结果有 95% 的置信度? 计算的公式如下:N 是他需求的样本量,1.96 是 95% 置信度所对应的规范正态散布的个数:
样本容量估量 依据上面的等式,记者需求思索约 138 套公寓的价钱即可。 上面的公式会依据细致的测试任务而变更,但它总是包含置信区间、可接受的误差范围和规范差度量。在[7]中能够找到关于这个主题的更好的讨论。 03 锻炼数据范围的统计学习理论 让我们首先引见一下著名的 Vapnik-Chevronenkis 维度 ( VC 维) [8]。VC 维是模型复杂度的度量,模型越复杂,VC 维越大。在下一段中,我们将引见一个用 VC 表示锻炼数据大小的公式。 首先,让我们看一个经常用于展示 VC 维如何计算的例子:假定我们的分类器是二维平面上的一条直线,有 3 个点需求分类。 无论这 3 个点的正/负组合是什么(都是正的、2个正的、1个正的,等等),一条直线都能够正确地分类/分辨这些正样本和负样本。 我们说线性分类器能够分辨一切的点,因而,它的 VC 维至少是 3,又由于我们能够找到4个不能被直线精确分辨的点的例子,所以我们说线性分类器的 VC 维正好是3。结果表明,锻炼数据大小 N 是 VC 的函数 [8]:
从 VC 维估量锻炼数据的大小 其中 d 为失效概率,epsilon 为学习误差。因而,正如 [9] 所指出的,学习所需的数据量取决于模型的复杂度。一个明显的例子是众所周知的神经网络对锻炼数据的贪婪,由于它们十分复杂。 04 随着锻炼数据的增加,模型性能会继续进步吗?在深度学习的状况下又会怎样?
学习曲线 上图展示了在传统机器学习 [10] 算法(回归等)和深度学习 [11] 的状况下,机器学习算法的性能随着数据量的增加而如何变更。 细致来说,关于传统的机器学习算法,性能是依照幂律增长的,一段时间后趋于平稳。 文献 [12]-[16],[18] 的研讨展示了关于深度学习,随着数据量的增加性能如何变更。 图1显现了当前大多数研讨的共识:关于深度学习,依据幂次定律,性能会随着数据量的增加而增加。 例如,在文献 [13] 中,作者运用深度学习技术对3亿幅图像中止分类,他们发现随着锻炼数据的增加模型性能呈对数增长。 让我们看看另一些在深度学习范畴值得留意的,与上述矛盾的结果。细致来说,在文献 [15] 中,作者运用卷积网络来处置 1 亿张 Flickr 图片和题目的数据集。 关于锻炼集的数据量,他们讲演说,模型性能会随着数据量的增加而增加,但是,在 5000 万张图片之后,它就停滞不前了。 在文献[16]中,作者发现图像分类精确度随着锻炼集的增大而增加,但是,模型的鲁棒性在超越与模型特定相关的某一点后便开端降落。 05 在分类任务中肯定锻炼数据量的措施 众所周知的学习曲线,通常是误差与锻炼数据量的关系图。[17] 和 [18] 是了解机器学习中学习曲线以及它们如何随着倾向或方差的增加而变更的参考资料。Python 在 scikit-learn [17] 也中提供了一个学习曲线的函数。 在分类任务中,我们通常运用一个稍微变更的学习曲线方式:分类精确度与锻炼数据量的关系图。 肯定锻炼数据量的措施很简单:首先依据任务肯定一个学习曲线方式,然后简单地在图上找到所需分类精确度对应的点。例如,在文献 [19]、[20] 中,作者在医学范畴中运用了学习曲线法,并用幂律函数表示:
学习曲线方程 上式中 y 为分类精确度,x 为锻炼数据,b1、b2 分别对应学习率和衰减率。参数的设置随问题的不同而变更,能够用非线性回归或加权非线性回归对它们中止估量。 06 增加锻炼数据是处置数据不均衡的最好措施吗? 这个问题在文献 [9] 中得到理处置。作者提出了一个有趣的观念:在数据不均衡的状况下,精确性并不是权衡分类器性能的最佳指标。 缘由很直观:让我们假定负样本是占绝大多数,然后假如我们在大部分时间里都预测为负样本,就能够抵达很高的精确度。 相反,他们倡议精确度和召回率(也称为灵活度)是权衡数据不均衡性能的最适合指标。除了上述明显的精确度问题外,作者还以为,丈量精度对不均衡区域的内在影响更大。 例如,在医院的警报系统 [9] 中,高精确度意味着当警报响起时,病人很可能的确有问题。 选择恰当的性能丈量措施,作者比较了在 imbalanced-learn [21] (Python scikit-learn 库)中的不均衡校正措施和简单的运用一个更大的锻炼数据集。 细致地说,他们在一个 50,000 个样本的药物相关的数据集上,运用 imbalance-correction 中的K近邻措施中止数据不均衡校正,这些不均衡校正技术包含欠采样、过采样和集成学习等,然后在与原数据集相近的 100 万数据集上锻炼了一个神经网络。 作者重复实验了 200 次,最终的结论简单而深化:在丈量精确度和召回率方面,没有任何一种不均衡校正技术能够与增加更多的锻炼数据相媲美。 至此,我们曾经抵达了本次旅游的终点。下面的参考资料能够辅佐你对这个主题有更多的了解。感激您的阅读! 参考文献 [1] The World’s Most Valuable Resource Is No Longer Oil, But Data,https://www.economist.com/leaders/2017/05/06/the-worlds-most-valuable-resource-is-no-longer-oil-but-data May 2017. [2] Martinez, A. G., No, Data Is Not the New Oil,https://www.wired.com/story/no-data-is-not-the-new-oil/ February 2019. [3] Haldan, M., How Much Training Data Do You Need?, https://medium.com/@malay.haldar/how-much-training-data-do-you-need-da8ec091e956 [4] Wikipedia, One in Ten Rule, https://en.wikipedia.org/wiki/One_in_ten_rule [5] Van Smeden, M. et al., Sample Size For Binary Logistic Prediction Models: Beyond Events Per Variable Criteria, Statistical Methods in Medical Research, 2018. [6] Pete Warden’s Blog, How Many Images Do You Need to Train A Neural Network?, https://petewarden.com/2017/12/14/how-many-images-do-you-need-to-train-a-neural-network/ [7] Sullivan, L., Power and Sample Size Distribution,http://sphweb.bumc.bu.edu/otlt/MPH-Modules/BS/BS704_Power/BS704_Power_print.html [8] Wikipedia, Vapnik-Chevronenkis Dimension, https://en.wikipedia.org/wiki/Vapnik%E2%80%93Chervonenkis_dimension [9] Juba, B. and H. S. Le, Precision-Recall Versus Accuracy and the Role of Large Data Sets, Association for the Advancement of Artificial Intelligence, 2018. [10] Zhu, X. et al., Do we Need More Training Data?https://arxiv.org/abs/1503.01508, March 2015. [11] Shchutskaya, V., Latest Trends on Computer Vision Market,https://indatalabs.com/blog/data-science/trends-computer-vision-software-market?cli_action=1555888112.716 [12] De Berker, A., Predicting the Performance of Deep Learning Models,https://medium.com/@archydeberker/predicting-the-performance-of-deep-learning-models-9cb50cf0b62a [13] Sun, C. et al., Revisiting Unreasonable Effectiveness of Data in Deep Learning Era, https://arxiv.org/abs/1707.02968, Aug. 2017. [14] Hestness, J., Deep Learning Scaling is Predictable, Empirically,https://arxiv.org/pdf/1712.00409.pdf [15] Joulin, A., Learning Visual Features from Large Weakly Supervised Data, https://arxiv.org/abs/1511.02251, November 2015. [16] Lei, S. et al., How Training Data Affect the Accuracy and Robustness of Neural Networks for Image Classification, ICLR Conference, 2019. [17] Tutorial: Learning Curves for Machine Learning in Python, https://www.dataquest.io/blog/learning-curves-machine-learning/ [18] Ng, R., Learning Curve, https://www.ritchieng.com/machinelearning-learning-curve/ [19] Figueroa, R. L., et al., Predicting Sample Size Required for Classification Performance, BMC medical informatics and decision making, 12(1):8, 2012. [20] Cho, J. et al., How Much Data Is Needed to Train A Medical Image Deep Learning System to Achieve Necessary High Accuracy?, https://arxiv.org/abs/1511.06348, January 2016. [21] Lemaitre, G., F. Nogueira, and C. K. Aridas, Imbalanced-learn: A Python Toolbox to Tackle the Curse of Imbalanced Datasets in Machine Learning, https://arxiv.org/abs/1609.06570 原文链接: https://towardsdatascience.com/how-do-you-know-you-have-enough-training-data-ad9b1fd679ee 译者简介 敬爱的勇哥,职场老兵,技术新人,TFBoys,多年的一线调参阅历,关注语音辨认,计算机视觉及深度学习等范畴。 |