您当前的位置:首页 > IT编程 > 超参数
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet |

使用小数据集时可能会出现的问题,如何最有效地克服这些问题

51自学网 2020-12-08 14:32:02
  超参数

在现实生活中,通常只能使用一个小数据集。基于少量观测数据所训练出的模型往往会过度拟合,产生不准确的结果。所以即使可用的数据是极其有限的,也需要了解如何避免过度拟合,并获得准确的预测。

大数据和数据科学这两个概念常常被一并提及。人们认为,数据科学可以从大量数据的万亿字节中得出一些有价值的见解。的确,理论上可以。

然而,在实际的场景中,能用来解决问题的数据通常是有限的。因为收集一个庞大的数据集可能会非常昂贵,或者根本就不可能(例如,在进行时间序列分析时,只有来自特定时间段的记录)。因此,时常除了使用一个小数据集来尽可能获得准确的预测外,别无选择。

本文将简要介绍在使用小数据集时可能会出现的问题。随后再讨论哪些技术可以最有效地克服这些问题。

权衡偏差与方差

简而言之,权衡偏差和方差就是寻找一个完美的模型来解释数据。

偏差是模型预测值和真实值之间的差异。高偏差模型过分简化了期望预测和目标变量之间的关系,并且在训练和测试数据上都显示出高误差。

方差则反映了模型预测的偏离程度。高方差模型过于关注训练数据,却不能很好地关注到测试数据集。结果,这些模型在训练集上显示出很低的误差,而在测试集上显示出很高的误差。

过度拟合/不充分拟合/良好平衡

拥有低偏差和高方差的模型对数据拟合过度,而高偏差和低方差的模型则对数据拟合不足。

而且,在小数据集上训练的模型更可能会显示出不存在的模式,这会导致测试集的高方差及高错误。这是过度拟合的常见症状。因此,使用小数据集时,要尤为注意避免过度拟合。

那怎么才能做到这一点呢?

克服小数据集过度拟合的技术

现在就来讨论一下,在处理小数据集时,避免过度拟合的七种最有用的技术分别是什么。

选择简单的模型。

因为具有许多参数的复杂模型更容易过度拟合:

在训练分类器时,可以考虑从逻辑回归开始。

在预测某个值时,考虑训练一个简单的、权重有限的线性模型。

对于树型模型,限制其最大深度。

使用正则化技术,使模型更加准确。

由于数据有限,所以要限制模型显示出不存在的模式和关系的可能。这意味着要限制权重和参数的数量,并排除掉所有可能具有非线性或特征交互的模型。另外要注意,根据研究,某些分类器可能更擅长处理小数据集。

2.从数据中删除异常值。

使用小数据集时,异常值可能会对模型产生巨大影响。因此,在处理较少的数据时,需要识别并删除异常值。另一种方法是,使用对于异常值比较稳健的技术,如分位数回归。想要获得一个小数据集的合理模型,去除异常值的影响至关重要。

3.相关特征选择。

通常,显式特征选择不是最佳的方法,但当数据有限时,这可能就是必不可少的一步。因为当有少量观测值和大量预测值时,很难避免过度拟合。特征选择有几种方法,包括与目标变量的相关性分析、重要性分析和递归消除。另外值得注意的一点是,专业领域知识将对功能选择有很大帮助。因此,如果不熟悉该领域,有必要找一个该领域的专家来讨论其特征选择的过程。

4.组合多个模型。

当把多个模型的结果组合起来时,可能得到更准确的预测。例如,与来自每个个体模型的预测相比,来自所有个体模型的预测的加权平均值计算出的最终预测,其方差显著降低,也更加具有概括性。此外,还可以组合来自不同模型的预测,或是将来自同一模型不同的超参数值的预测组合起来。

组合来自多个模型的预测

5.依靠置信区间而不是点估计值。

除了预测本身之外,估计预测的置信区间通常也是一个好方法。特别在处理小数据集时,这一点尤其重要。因此,在回归分析中,一定要估计一个95%的置信区间。如果要解决分类问题,就要计算分类预测的概率。当更好地了解到模型对其预测有多“自信”时,就更少可能会根据模型的结果得出错误的结论。

6.扩展数据集。

当数据非常有限或数据集严重不平衡时,搜索扩展数据集的方法。可以使用这两种:

使用合成样本。这是解决数据集中某些类表示不足的常见方法。使用合成样本扩充数据集,有好几种方法,选择一个最适合的来完成特定任务。

使用其他来源的数据。例如,如果正在对某个特定区域的温度进行建模,也可以使用其他区域的天气信息,但是要为重点研究区域的数据点分配更高的权重。

7.运用迁移学习。这种方法也是数据扩展的一种。迁移学习就是在可用的大型数据集上训练通用模型,然后在小型数据集上对其进行微调。例如,在处理一个图像分类问题时,可以使用一个在ImageNet(一个巨大的图像数据集)上预先训练的模型,然后针对特定问题对其进行微调。比起从零开始使用有限数据训练的模型,使用预先训练的模型更可能产生准确的预测。并且,灵活运用深度学习技巧,迁移学习尤其有效。

不用担忧,小数据是一个你完全可以克服的挑战!

许多研究者和实践者都认为,小数据是数据科学的未来。因为,庞大的数据集并非对每一种问题都是可行的。遵循以下指导,来一起克服小数据集的挑战吧:

了解统计学基础,知晓在处理少量观察数据时可能会遇到的问题。

学习避免过度拟合的关键策略,并从小数据中获得准确结果。

有效地执行所有数据清理和数据分析步骤(例如,使用R语言中的Tidyverse或数据科学中的Python工具)。

从预测中得出结论时,注意模型的局限性。

若还缺乏一些处理小数据所需的知识,那么在网上可以找到一些很好的课程来学习。例如,在Vertabelo Academy网站,人们可以通过参与互动练习来学习基础统计学和数据分析。还有一些其他数据科学课程,例如Coursera、 edX、 Udemy 和 Udacity。然而,这些课程往往缺乏互动性,所以对于非IT人员可能具有挑战性。


Keras 最新《面向小数据集构建图像分类模型》
使用图像增强来训练小数据集
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1