4

我正在尝试训练分类(one_hot)动作(呼叫/折叠/提升)和时间的时间序列的 LSTM 层数据模型。例如 3 轮的时间序列,其中玩家 2x 跟注然后弃牌。

  #Call  #0.5s    # Call    #0.3s   #Fold, 1.5s

[[[1,0,0], 0.5], [[1,0,0], 0.3], [[0,1,0], 1.5]]

call/fold/raise 的分类数组无法由第一层(LSTM)处理,并且由于非分类时间,我不能使用简单的嵌入层。

第一层 - model.add(LSTM(500, return_sequences=True, input_shape=(3, 2)))

我试图改变 input_shape,但对我没有任何作用。任何想法如何表示 one_hot 并在一次输入中浮动?

4

1 回答 1

1

您可以简单地连接,不需要嵌入,因为您的 one-hot 编码的维度不是太高,而 one-hot 本身就是嵌入。

所以我会尝试向量序列:

[[1,0,0,0.5], [1,0,0,0.3], [0,1,0,1.5]]

并且 LSTM 或您将使用的任何层都会发现前 3 个值表示动作,最后一个值是其他值(时间),不用担心。

model.add(LSTM(500, return_sequences=True, input_shape=(3, 2)))

应该管用。

于 2017-03-17T20:45:38.497 回答