2
  • 我试图采用多层NN以实现部分可观测马尔可夫过程的概率函数..
  • 我想投入到NN是:目前的状态,选择的动作,导致状态; 输出是[0,1]中的概率(在当前状态下执行所选动作将导致结果状态的概率)
  • 在训练中,我将前面提到的输入馈送到NN中,并且我教它对于已经发生的每种情况,输出= 1.0。

问题:
对于几乎所有的测试情况下,输出概率接近0.95 ..没有产量为0.9下!即使对于几乎不可能的结果,它也给出了很高的概率。增强学习POMDP

PS:我认为这是因为我教过它只发生过病例,但并不是没有发生的。 但是我不能在每集中教导它输出= 0.0对于每一个未发生的行动!

如何解决这个问题?或者可能是另一种使用NN或实现概率函数的方式?

感谢

回答

2

问题是,所有可能的以下状态的总和必须等于1.如果你这样构建你的网络,那是不能保证的。我脑海中出现了两种可能的替代方案,我假设了离散状态。

  1. 进行预测时,请针对每个可能的以下状态运行网络。之后,通过除以所有概率的总和来归一化。
  2. 每个可能的下列状态使用一个输出。然后,您可以使用softmax图层(如分类中所示),然后解释范围从0到1的值,并将其总计为1作为概率。

从数学的角度来看,这两个实际上大致相当。在连续变量的情况下,你将不得不假设分布(例如多变量高斯)并且使用该分布的参数(例如均值和协方差stdev)作为输出。

0

当安装了NN你可能想以适应更广泛的数据,在训练中有没有你想安装到接近0的概率任何数据?如果我不怀疑你可能会得到糟糕的结果。作为第一步,我会尝试在训练数据集中选择一些不同的东西。

另外你如何训练神经网络?你有没有尝试过使用其他方法?如何激活功能,也许尝试使用一些不同的。

有了神经网络,我认为在选择模型时会有一些试验和错误来帮助你。 (对不起,如果这一切都不够具体。)