Keras 如何解决这些问题相对任务



有2个相对问题。

所有 2 个问题都有多个答案。

question1: please mark the brands you know below
a)bland1 b)bland2 c)bland3 d)bland4

如果用户标记为 a) 和 c),则结果数组为 [1,0,1,0]

question2: please mark the brands you have bought below
a)bland1  c)bland3

如果用户标记为 a),则结果数组[1,Nan,0,Nan](b 和 d 不会显示,因为在 qestion 1 中未选择 bland2 和 bland 4)。所以最终的数组是

[[1,0,1,0],
[1,Nan,0,Nan]]

我想使用预测生成 1000 条记录,我需要生成的数据遵守规则,但是结果不好,acc 只有 0.25

_m = Sequential()
_m.add(Dense(5000,activation='relu',input_shape=(4,)),)
_m.add(Dense(500,activation='relu'))
_m.add(Dense(len(outs),activation='sigmoid'))
_m.compile(loss='binary_crossentropy',optimizer='adam',metrics=
['accuracy'])
_m.fit(x_train,y_train, batch_size=100,epochs=1000,verbose=0)
score = _m.evaluate(x_test,y_test,100)

请帮助改进它,我应该使用lstm吗?

Nan放是没有意义的。应将其替换为 0。您可能会错误地使用 outs 。 我建议将两个问题的组合设计出来,如下所示:即知道

  • Q1 的 Ans 是 [a1, b1, c1, d1]
  • Q2 的 Ans 是 [a2, b2, c2, d2]
那么 outs 应该是 [2^a1+a2, 2^b1+b2, 2^c1+

c2, 2^d1+d2]。

换句话说,您的模型将生成三元分类而不是二元分类。

是否使用 LSTM 取决于您的输入:是时间序列数据,还是可以作为时间序列查看。

最新更新