Keras中二元分类的LSTM?

Keras中二元分类的LSTM?,keras,recurrent-neural-network,Keras,Recurrent Neural Network,假设我有以下数据集X,其中包含2个要素和Y标签 X=[[0.3,0.1]、[0.2,0.9]、[0.4,0.0]] Y=[0,1,0] # split into input (X) and output (Y) variables X = dataset[:, 0:2] #X features are from the first column and the 50th column Y = dataset[:, 2] model = Sequential() model.add

假设我有以下数据集X,其中包含2个要素和Y标签

X=[[0.3,0.1]、[0.2,0.9]、[0.4,0.0]]

Y=[0,1,0]

    # split into input (X) and output (Y) variables
X = dataset[:, 0:2] #X features are from the first column and the 50th column
Y = dataset[:, 2] 



model = Sequential()
model.add(Embedding(2, embedding_vecor_length, input_length=max_review_length))
model.add(LSTM(2))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y)
这是可行的,但我想知道更多关于参数1,参数2,参数3的信息

嵌入参数_1,参数_2,输入长度=参数_2

顺便说一句,我只是随便放了些东西,不知道自己在做什么


考虑到我上面描述的数据集,在嵌入中应该填写什么样的参数?

好的,下面是评论中更精确的问题,下面是解释

嵌入层通常用于嵌入单词,因此我将使用红线示例来处理单词,但您可以将它们视为分类特征。 嵌入层确实可以将单词的分类特征表示为连续向量空间中的向量

当您有一个文本时,您将标记您的单词并给它们分配一个数字。然后它们就变成了带有索引的分类特征。例如,您将有一个句子I embed stuff成为分类对象的列表[2,1,3],其中一个词汇表将索引映射到每个单词:{1:embed,2:I,3:stuff,4:some_other_words,0:}

当你使用一个神经网络或一个连续的数学框架时,那些离散的对象=类别是无序的,当你谈论你的词时,2>1是没有意义的,那些不是数值,它们是类别。所以你想把它们变成数字,嵌入到向量空间中

这正是嵌入层所做的,它将每个索引映射到一个单词。为此,需要定义三个主要参数:

总共要使用多少个索引。这是您的词汇表中的单词数,或者是您想要编码的分类功能所具有的类别数。这是输入调光功能。在我们的小示例中,词汇索引中有5个单词,从0到4,因此我们将输入_dim=5。之所以称之为维度,是因为在引擎盖下,keras将索引编号转换为维度的一个热向量=不同元素的数量。例如,索引为3的单词stuff将在嵌入之前转换为5维向量:[0 1 0]。这就是为什么输入应该是整数,它们是表示1在一个热向量中的位置的索引。 您希望输出向量有多大。这是特征所在的向量空间的大小。该参数为输出尺寸。如果您的词汇表中没有太多的单词,那么您的功能的不同类别,这个数字应该很低,在我们的例子中,我们将它设置为output_dim=2。我们的5个单词将生活在二维空间中。 由于嵌入层通常是神经网络中的第一层,因此需要指定样本中的字数。这将是输入长度。我们的样本是一个3个单词的短语,因此输入长度=3。 通常将嵌入层作为第一层的原因是,它接受整数输入,神经网络中的层返回实际值,因此它不起作用

总之,在这个层中出现的是一系列索引:[2,1,3],在我们的示例中。得到的是对应于每个索引的嵌入向量。这可能类似于[[0.2,0.4],-1.2,0.3],-0.5,-0.8]]

回到你的例子,输入应该是一个样本列表,样本是索引列表。嵌入已经是真实值的特征是没有用的,这些值已经有了数学意义,模型可以理解它们,而不是分类值


现在清楚了吗

先读这篇文章。如果您还有问题,我可以更精确地详细说明您需要的部件。您将看到输入是索引。。。所以应该是整数,你的案子不适合这个谢谢。所以我上面描述的数据集实际上是。二维张量?输入长度是否与序列长度相同?输入长度是功能的数量,还是功能+标签的数量?我在写一个答案:5分钟