具有大量输入的神经网络

数据挖掘 机器学习 神经网络
2022-03-04 18:17:33

我通过大量练习了解神经网络。我有产品并想预测收入。我有 10 个功能。但是4个特征有大量的表达。所以我的“组”功能有超过 500 个不同的组(产品)。如果我对特征进行二值化,我最终会得到超过 1000 维的向量作为输入。所有产品类别都是带有字母和数字的名称,例如“100XA9”。现在有500个。对于神经网络,我必须对这些名称进行二值化。是对的吗?那么我的输入层是1000,对吧?

我的问题是“正常”吗?这对计算有问题吗?

我的意思是这是一个典型的问题。拥有许多产品(如超过 500 种)的商店将根据价格和其他特征预测其收入。

我希望您能帮助我了解如何使用神经网络进行分类。

1个回答

One-hot 编码是正常的方法,是的,仅您的团队就可以得到 500 个特征。取决于你有多少训练数据,这不是问题。如果您有很多其他功能没有单个产品之间的直接交互,您可以在将它们添加到其余产品之前使用嵌入层,该层通过反向传播将您的稀疏分类 one-hot 编码特征映射到密集空间。这将显着减少参数的数量。

如果您没有足够的训练数据来执行此操作,您可以查看收集有关您的产品的统计信息,说明该组的其他功能或其他行的目标(确保不要使用当前行,这将引入目标泄漏),这将允许您一起删除该类别。

将它们转换为 ID,然后将其用作数字特征是一个坏主意,因为数字中没有固有结构,这意味着其中没有信号,并且需要非常高的复杂性来学习如何区分 1 和5 非常相似,但 2 和 4 非常不同。