神经网络:预测 y 的可能值的概率,而不是仅仅预测 y

数据挖掘 机器学习 神经网络 深度学习 喀拉斯
2022-03-13 17:32:31

我有一个真值 y ,我想用回归来预测它,但我对 y 将是不同值的概率感兴趣。Y 理论上是连续的,但在数据集中它被四舍五入为整数。假设 y 可以是 0-9。我想要 10 个概率,每个可能值一个。我尝试使用具有 10 个输出节点的神经网络进行分类,这会损害预测,因为我们失去了类别之间的关系,1 更接近 2 而不是 10。

示例玩具问题:

y 是物体的重量,以磅为单位。数据集的 Y 值四舍五入 st y 可以从 0 到 9 磅。根据特征 X 预测 y 为 0-9 磅的概率。

示例输出:([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,]十 # 和为 1)

我希望能够使用 Keras 来实现这一点。

1个回答

这里有两种方法,它们使用将您的预测作为连续变量而不是单个值的分布的想法。

“简单”但计算成本高

独立训练K回归者。你现在有K一个分布的样本,你可以

很大的缺点——你必须训练大量的网络,并在推理时运行大量的网络。

有关一些详细信息,“神经网络集成的置信度和预测区间”

更难

让一个网络明确预测参数化(例如高斯/高斯混合)分布。详情参见“混合密度网络”,例如

因此,在单个高斯的情况下,网络将输出平均值和标准差,因此您可以估计不确定性。

这里可能的危险是您可能需要聪明地了解如何训练方差参数。你可以想象这样一种情况,一个网络在手段上做得很好,但对其预测要么过度自信,要么自信不足。