Tensorflow 混合单_热输入和浮动输入
我试图训练LSTM层的模型——分类(一个热)动作(调用/折叠/提升)和时间的时间序列数据。 因此,示例时间序列为3轮,玩家2x呼叫,然后折叠Tensorflow 混合单_热输入和浮动输入,tensorflow,artificial-intelligence,keras,one-hot-encoding,Tensorflow,Artificial Intelligence,Keras,One Hot Encoding,我试图训练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)处理,我不能使用简单的嵌入层,因为非分类时间 第一层- add(LSTM(500,返回序列=Tr
#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)处理,我不能使用简单的嵌入层,因为非分类时间
第一层-
add(LSTM(500,返回序列=True,输入形状=(3,2)))
我试图更改输入的形状,但没有任何效果。
你知道如何表示一次输入中的一个hot和float吗?你可以简单地连接,不需要嵌入,因为你的一个hot编码没有太高的维度,而一个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)))
应该有效。假设我有两个分类变量(
cat1
和cat2
)和一个连续变量(cont
)。一个热cat1
为4-d,一个热cat2
为3-dcont
显然只是一个标量值。如果我连接:x=[cat1;cat2;cont]
,网络会知道前4个值代表cat1
,后3个值代表cat2
,最后一个值代表cont
?e、 g.cat1\u 1=[1,0,0,0],cat2\u 1=[0,1,0],cont\u 1=[0.3]
cat1\u 2=[0,0,0,1],cat2\u 2=[1,0,0,0],cont\u 2=[0.8]
x\u 1=[1,0,0,0,0,0,0.3],x\u 2=[0,0,0,0,0,0,0,0.8],x\u 2=[0,0,0,0,0,0]网络究竟意味着什么?
。。。它们只是数字,它将了解分配给每个输入的权重:-)