我正在使用 Keras(张量流后端),并且想知道如何将多个嵌入层添加到 Keras 顺序模型中。
更具体地说,我的数据集中有几列具有分类值,我考虑过使用 one-hot 编码,但确定分类项的数量有数百个,导致一组大且过于稀疏的列。在寻找解决方案时,我发现 Keras 的嵌入层似乎非常优雅地解决了问题。然而,大多数示例(和 Keras 文档)都说明了一种非常简单的情况,只有一个嵌入层。
不幸的是,我不知道如何将多个嵌入层作为输入集成到单个模型中。
我的代码看起来像这样,但它不起作用,我猜测多个嵌入层按顺序起作用(第一个嵌入层输入第二个,依此类推),而不是模型的多个输入源:
model = Sequential()
model.add(Embedding(500, 64, input_length=10)) # categorical col 1
model.add(Embedding(100, 64, input_length=10)) # categorical col 2
model.add(Embedding(500, 64, input_length=10)) # categorical col 3
model.add(Flatten...
model.add(Dense...
我的问题是如何建立 Keras 顺序模型,以便能够使用上面显示的三个嵌入层。第一层和最后一层之间的具体内容:
model = Sequential()
#
# What goes here?
#
model.add(Dense...
我是否走在正确的轨道上,或者我的方法不正确,我需要以不同的方式建立模型?任何建议/示例表示赞赏!