机器学习具有可能具有两个或更多输出的“功能”

时间:2017-04-14 03:30:54

标签: machine-learning statistics neural-network distribution conceptual

假设我想用神经网络对sqrt函数进行建模。但是对于每个输入x,有两个答案sqrt(x) = ysqrt(x) = -y。 (但实际上,我不知道我有sqrt函数 - 我只有很多数据 - 所以我不知道先验是否有0,1,2或更多答案{每个输入y {1}}。)如何才能正确分发x

1 个答案:

答案 0 :(得分:0)

你应该问自己的问题是,你将如何训练这样一个神经网络:

如果你想给x - > {sqrt(x), - sqrt(x)}作为训练示例i,那么这意味着您通过查看单个示例来了解输出的数量,因此您应该编码有2个输出的事实。

我想要给出的例子有时是x - > sqrt(x)和其他时间x - > -sqrt(x),那么你的神经网络将很难训练,因为每个梯度都可以以完全不同的方式改变权重。它可能会在许多训练样例之后收敛,并且只会输出它看到的最多的y。

更好的方法是在强化学习中使用类似奖励功能的东西。在这种情况下的函数将是f(x)= x ^ 2,并且只是说输出是否正确。这样可以让您的网络对正负输出进行训练。因此,请尝试为您的问题找到奖励功能!