【问题标题】:how to train neural network with probabilistic input如何用概率输入训练神经网络
【发布时间】:2016-06-24 01:43:33
【问题描述】:

您好,感谢您的帮助,

我的问题是我试图解决的一个长期问题:

  • 如果输入是概率而不是值,我们如何训练神经网络?

为了更直观:

  • 假设我们有 6 个特征,每个特征可能取的值是 1 或 -1。

  • 它们的值是由概率确定的,比如特征1可以是60%概率为1,也可以是30%概率为-1。

如果在每次试验中,我们可以根据每个特征的概率分布得到一个 INPUT 值,我们如何训练网络?

【问题讨论】:

    标签: machine-learning neural-network probability-density


    【解决方案1】:

    实际上,答案比您想象的要更加紧张,因为许多现有的神经网络实际上就是以这种方式训练的。你必须做......什么都不做。只需根据您的分布在每次迭代中对您的批次进行采样,仅此而已。神经网络不需要有限的训练集,因此您可以在“潜在无限”(样本生成器)上有效地训练它。这正是使用图像增强的图像处理中所做的 - 每批都包含图像(补丁)的随机子样本,这些子样本是从非常基本的概率分布中采样的。

    @Nagabuhushan 建议解决不同的问题 - 你知道每个样本的先验概率,根据问题,情况并非如此:

    我们可以根据每个特征的概率分布得到一个INPUT值

    另外,即使是这种情况,神经网络也不擅长乘法,因此可能需要对架构进行额外调整(对数转换)。

    【讨论】:

      【解决方案2】:

      对于您输入网络的值,您应该使用每个特征取值 1 的概率。您可以使用它们取值 -1 的概率,但要保持一致。此外,确定一些特征的顺序并分别对它们的概率进行一致的排序。

      编辑:我想我可能误解了这个问题。您的输入是由概率组成,还是由 1 和 -1 组成?如果是后者,那么架构良好的网络应该自己学习分布。请务必根据您将要评估的相同输入空间对其进行训练。

      【讨论】:

      • 谢谢迪伦。很好的答案。根据你的回答,我有最后一个问题。那么,假设在试验 100 中,输入生成为 -1,概率为 30%,那么我应该输入 0.6(概率为 1)?但是,在这种情况下,训练输出也应该是概率性的,例如输出为 1 和 -1 的概率分布。 (60% 的机会获得 1 作为输入,假设 50% 的机会获得 1 作为训练输出)我说的对吗?
      • 您对网络的目标是什么?我想我不明白你想做什么。此外,如果得到 -1 的概率是 30%,那么得到 1 的概率是 100% - 30% = 70%,即 0.7(但这是技术性问题)。
      • 您是否将特征视为 1 和 -1 的序列,并试图预测下一个数字是 1 还是 -1?
      • 输入由 1 或 -1 组成,但它是概率生成的。因此,在每次试验中,我们不知道确切的输入,而是知道它的概率。它可能是 1,假设有 60% 的概率。但是,它也可能为 -1,概率为 30%。我们至少需要 100 次试验,才能揭示输入的概率分布。
      • 输入序列将由概率生成的 1 或 -1 组成。这个问题是对决策制定的神经基础进行建模。
      猜你喜欢
      • 2017-09-08
      • 2011-04-07
      • 1970-01-01
      • 2012-04-02
      • 2018-08-19
      • 2010-11-20
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多