神经网络如何模拟交互项?

机器算法验证 神经网络 相互作用
2022-03-05 23:16:07

如果我有从像这样的底层过程生成的数据:y=a+bx1+cx2+dx1x2+noise

神经网络如何表示之间的交互项?是否有一种特殊类型的单元可以输出其输入之间的相互作用(线性组合)?或者网络是否必须学习近似乘法才能表达交互项?x1x2x1x2

我知道我们可以简单地将作为附加输入(即基础扩展)包含在内,但我试图了解是否有任何方法可以避免输入维度的指数爆炸,而是自动化学习的互动。x1x2x

2个回答

这个想法是神经网络不需要提供手工制作的功能。如果您将生成的数据提供给其他人,而不告诉他们底层过程,他们将只能直接访问 x1、x2 和 y。将 x1 和 x2 输入网络并指示它预测 y 应该使网络模型成为底层过程。但是,它可能需要大量示例才能准确地做到这一点。

要进行交互,模型必须具有 x1* X2,(交互项),nn 没有完全相同的特征(除非您创建并将其传递给训练),因此它不会显式处理交互。虽然它会尝试使用激活函数的非线性来拟合关系......这是 nn 过拟合的原因之一。