Python Keras使用真实值作为训练目标的LSTM分类器的官方示例?

Python Keras使用真实值作为训练目标的LSTM分类器的官方示例?,python,neural-network,keras,lstm,loss-function,Python,Neural Network,Keras,Lstm,Loss Function,根据Keras文档中的官方示例,堆叠LSTM分类器使用分类交叉熵作为损失函数进行训练,如预期的那样 但是y\u序列值是使用输出实数的numpy.random.random()进行种子设定的,而0,1二进制分类(这是典型的) 发动机罩下的y\u列值是否提升为0,1值 您甚至可以针对0,1之间的实际值训练此损失函数吗 那么如何计算准确度 令人困惑的。。没有 from keras.models import Sequential from keras.layers import LSTM, Dense

根据Keras文档中的官方示例,堆叠LSTM分类器使用
分类交叉熵
作为损失函数进行训练,如预期的那样

但是
y\u序列
值是使用输出实数的
numpy.random.random()
进行种子设定的,而
0,1
二进制分类(这是典型的)

发动机罩下的
y\u列
值是否提升为
0,1

您甚至可以针对
0,1
之间的实际值训练此损失函数吗

那么如何计算
准确度

令人困惑的。。没有

from keras.models import Sequential
from keras.layers import LSTM, Dense
import numpy as np

data_dim = 16
timesteps = 8
num_classes = 10

# expected input data shape: (batch_size, timesteps, data_dim)
model = Sequential()
model.add(LSTM(32, return_sequences=True,
               input_shape=(timesteps, data_dim)))  # returns a sequence of vectors of dimension 32
model.add(LSTM(32, return_sequences=True))  # returns a sequence of vectors of dimension 32
model.add(LSTM(32))  # return a single vector of dimension 32
model.add(Dense(10, activation='softmax'))

model.compile(loss='categorical_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])

# Generate dummy training data
x_train = np.random.random((1000, timesteps, data_dim))
y_train = np.random.random((1000, num_classes))

# Generate dummy validation data
x_val = np.random.random((100, timesteps, data_dim))
y_val = np.random.random((100, num_classes))

model.fit(x_train, y_train,
          batch_size=64, epochs=5,
          validation_data=(x_val, y_val))

对于这个例子,y_序列和y_测试不再是一个热门编码,而是每个类的概率。所以它仍然适用于交叉熵。我们可以把一个热编码作为概率向量的特例

y_train[0]
array([0.30172708, 0.69581121, 0.23264601, 0.87881279, 0.46294832,
       0.5876406 , 0.16881395, 0.38856604, 0.00193709, 0.80681196])

这里有一个简短的介绍