NN:输出概率密度函数而不是单个值

时间:2017-08-07 16:03:12

标签: python tensorflow neural-network keras

这可能听起来很傻但我只是想知道在你试图预测标量时修改神经网络以获得概率密度函数而不是单个值的可能性。我知道当你试图对图像或单词进行分类时,你可以得到每个类的概率,所以我认为可能有办法用连续的值做一些类似的事情并绘制它。 (类似于贝叶斯优化的后验图)

在部署预测模型时,这些细节可能很有趣,并且可以提供比单个值更多的灵活性。

有谁知道获得这样的输出的方法?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的所以我找到了解决这个问题的方法,但它增加了很多开销。

最初我认为keras回调可能有用,但尽管事实上它提供了我想要的灵活性,即:只训练测试数据或仅训练一个子集而不是每次测试。似乎回调仅从日志中获得摘要数据。

因此,创建自定义指标的第一步是与具有2个数组(真实值和预测值)的任何指标进行相同的计算,并在完成这些计算后,将它们输出到文件中供以后使用

然后,一旦我们找到了收集每个样本的所有数据的方法,下一步就是实现一种可以很好地衡量错误的方法。我目前正在实现一些方法,但最合适的方法似乎是贝叶斯引导(用户lmc2179有一个很棒的python实现)。我还实现了集合方法和高斯过程作为替代方法,或者用作其他指标和其他一些贝叶斯方法。

我将尝试查找是否在训练和测试阶段设置了keras内部,以查看是否可以为我的指标设置触发器。使用所有数据的主要问题是,由于网络未经优化,您在开始时会获得大量不可靠的数据点。某些数据过滤可能有助于删除大量的这些点以改善错误预测器的结果。

如果我发现任何有趣的内容,我会更新。