从庞大的数据集学习时的方法?

机器算法验证 机器学习 大数据 模型评估 火车
2022-03-17 09:02:00

基本上,有两种常见的方法可以针对大型数据集进行学习(当您遇到时间/空间限制时):

  1. 作弊:) - 仅使用“可管理”子集进行训练。由于收益递减规律,准确度的损失可能可以忽略不计——模型的预测性能通常在所有训练数据纳入其中之前很久就趋于平缓。
  2. 并行计算 - 将问题分成更小的部分,并在单独的机器/处理器上解决每个部分。虽然您需要算法的并行版本,但好消息是许多常见算法自然是并行的:最近邻算法、决策树等。

还有其他方法吗?是否有任何经验法则何时使用每个?每种方法的缺点是什么?

3个回答

流挖掘是一个答案。它也被称为:

您可以像在小批量学习中那样使用多个子集(例如随机梯度下降),而不是只使用一个子集。这样,您仍然可以使用所有数据。

像 bagging 或 blending 这样的集合——没有数据被浪费,问题自动变得微不足道,并且可能有显着的准确性/鲁棒性增益。