我有一个问题,需要根据日期,每次点击费用(每次点击费用),市场(美国或英国)和关键字(平均长度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在预先训练的手套嵌入部分中所述。
我使用的模型是:
最后一个密集层具有线性激活。该模型有两个输入(对于文本数据为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
。有人可以指导我如何解决这个问题以及我可以对模型进行哪些改进。