在机器学习中,如何减少所需训练样本的数量?

在许多应用中,创建大型训练数据集可能非常昂贵,甚至是不可能的。那么,我们可以采取哪些措施来减少达到良好准确性所需的数据集大小呢?


回答:

实际上,机器学习中有一个专门的分支致力于解决这个问题(标记数据集是昂贵的):半监督学习

坦白说,根据我的经验,计算过程相当漫长,而且结果与完全标记的数据集相比相形见绌……但在没有其他选择的情况下,在大型未标记数据集上进行训练总比什么都不做要好!


编辑:我最初理解这个问题是“标记数据集很昂贵”,而不是“无论如何数据集的规模都会很小”。

那么,除其他方法外,我会:

  • 使用留一法交叉验证来调整我的参数。这是计算成本最高的,但也是最好的方法。

  • 选择收敛速度较快的算法。(你需要一个比较表,但我现在没有)

  • 需要非常好的泛化性能。弱分类器的线性组合在这方面表现不错。kNN(k最近邻)在这方面表现极差。

  • 偏向“泛化”参数。大多数算法在泛化(规律性)和质量(训练集是否被分类器很好地分类)之间进行权衡。如果你的数据集很小,你应该将算法偏向于泛化(在使用交叉验证调整参数之后)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注