为什么采样在机器学习中有用?

数据挖掘 机器学习 数据挖掘 统计数据 采样
2021-10-07 07:12:50

我在网上遇到过这个问题,我想知道采样在哪里可以模拟复杂的过程,为什么?

为什么采样在机器学习中有用?

  1. 抽样可以提高模型的准确性
  2. 采样可以模拟复杂的过程
  3. 采样成本更低
  4. 采样可以节省大量时间

我可以选择多个。据我所知,采样成本较低,可以节省大量时间,但是,它可以模拟复杂的过程吗?

2个回答

TL:DR - 如果您知道复杂过程的后验分布(即输出分布),并且该分布是可以以合理精度建模的分布,那么从中采样应该可以合理地代表复杂系统的响应。


一个例子可能是一个复杂的决策过程,其中许多决策是连续做出的,可能在此过程中具有一些条件或时间关系(基本上任何被认为是复杂的过程)。现在想象一下,在所有这些复杂性之后,例如有两种可能的分类输出:零或一。好吧,假设我们可以估计一个合理的参数,我们也许可以用伯努利分布来建模。p (特定于伯努利分布)。

通过从分布中抽样,我们希望抽取代表复杂过程的样本。我希望这涵盖了您的主要问题。我认为第 4 点也很容易从我的小例子中理解。我不确定第 3 点中究竟指的是什么成本

至于第 1 点,有一些示例(随机)采样,例如在模型/优化参数的网格搜索中可以改进结果,因为与网格搜索等其他方法相比,它可以改进对参数空间的探索.

抽样在机器学习中很有用,因为如果设计得当,抽样可以提供某种期望的准确、低方差的近似值(例如,在强化学习的情况下特定策略的预期回报或在特定神经网络的情况下的预期损失)监督学习),样本相对较少。

在某些情况下 - 例如学习星际争霸 - 评估给定策略模型的所有可能轨迹是不可行的,因此,即使对于单个模型也无法计算预期值(这是针对参数空间中的单个点!)。在这些情况下,抽样是唯一可行的方法。