【发布时间】:2020-09-29 05:57:29
【问题描述】:
我正在尝试学习 RNN 模型。这是我建立的模型:
N = 3 # number of samples
T = 10 # length of a single sample
D = 3 # number of features
K = 2 # number of output units
X = np.random.randn(N, T, D)
# Make an RNN
M = 5 # number of hidden units
i = tf.keras.layers.Input(shape=(T, D))
x = tf.keras.layers.SimpleRNN(M)(i)
x = tf.keras.layers.Dense(K)(x)
model = tf.keras.Model(i, x)
Yhat = model.predict(X[0].reshape(1, -1, D)) # output: array([[-0.67114466, -0.65754676]], dtype=float32)
我不明白Yhat 的含义。这里我将 X 视为顺序数据:
[data_point0...data_pointT], [data_point0...data_pointT], [data_point0...data_pointT]
每个数据点都有D=3features。
这里Yhat.shape==(1, 2)。
2 不等于D,这是许多功能。我猜,model.predict() 不会对下一个数据点做出预测。如果model.predict()对下一个数据点进行预测,结果的形状应该是(1, D)。
那么Yhat的实际意义是什么?
【问题讨论】:
标签: tensorflow machine-learning keras recurrent-neural-network