Machine learning 机器学习;功能“;可能有两个或多个输出

Machine learning 机器学习;功能“;可能有两个或多个输出,machine-learning,statistics,neural-network,distribution,conceptual,Machine Learning,Statistics,Neural Network,Distribution,Conceptual,假设我想用神经网络对sqrt函数建模。但是对于每个输入x,有两个答案sqrt(x)=y和sqrt(x)=-y。(但事实上,我不知道我有sqrt功能-我只是有很多数据-所以我不知道每个输入x是否有0、1、2或更多答案y)如何获得y的正确分布 你应该问自己的问题是,你将如何训练这样一个神经网络: 如果您考虑将x->{sqrt(x),-sqrt(x)}作为培训示例i,那么这意味着您可以通过查看单个示例来了解输出的数量,因此您应该对有两个输出的事实进行编码 如果你想举一些例子,有时是x->sqrt(x)

假设我想用神经网络对
sqrt
函数建模。但是对于每个输入
x
,有两个答案
sqrt(x)=y
sqrt(x)=-y
。(但事实上,我不知道我有
sqrt
功能-我只是有很多数据-所以我不知道每个输入
x
是否有0、1、2或更多答案
y
)如何获得
y
的正确分布

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

如果您考虑将x->{sqrt(x),-sqrt(x)}作为培训示例i,那么这意味着您可以通过查看单个示例来了解输出的数量,因此您应该对有两个输出的事实进行编码

如果你想举一些例子,有时是x->sqrt(x),有时是x->sqrt(x),那么你的神经网络将很难训练,因为每个梯度都可能以完全不同的方式改变权重。经过多次训练后,它可能会收敛,只输出它看到最多的y

更好的方法可能是在强化学习中使用奖励函数。在这种情况下,函数将是f(x)=x^2,并且将简单地说明输出是否正确。这将使你的人际网络同时获得积极和消极的输出。所以,试着为你的问题找到一个奖励函数