用于回归的多输入(文本和数字)模型可提供相同的输出

时间:2019-10-01 05:06:01

标签: keras deep-learning nlp regression

我有一个问题,需要根据日期,每次点击费用(每次点击费用),市场(美国或英国)和关键字(平均长度3-4个字,最多6个)来预测点击次数。因此,我决定输入模型的功能是:

Day(1-31)  WeekDay(0-6)  Month(1-12)   US-Market(0 or 1)  UK-Market(0 or 1)   CPC(continuous numeric)

输出是连续的数字“点击数”。

对于关键字,我使用keras标记生成器将其转换为序列,并填充了这些序列。我使用了手套词嵌入方法,并创建了一个嵌入矩阵,然后将其馈入神经网络模型,如here在预先训练的手套嵌入部分中所述。

我使用的模型是:

enter image description here

最后一个密集层具有线性激活。该模型有两个输入(对于文本数据为nlp_input),对于(数字,分类数据)为meta_input。双向LSTM之后将这两个模型连接到nlp_input 损失是:

model.compile(loss="mean_absolute_percentage_error", optimizer=opt,metrics=['acc'])

其中opt = Adam(lr=1e-3, decay=1e-3 / 200)

我对模型进行了100个时期的训练,此时损失接近8000。 但是,当我将预测应用于测试时,它们对所有测试输入都得出相同的数字,并且该数字甚至为负-4.5 * e^-5。有人可以指导我如何解决这个问题以及我可以对模型进行哪些改进。

0 个答案:

没有答案