使用keras的model.get_weight()函数计算预测

时间:2019-10-10 04:48:10

标签: keras neural-network prediction

我正在尝试制作一个监督学习的神经网络。 我使用了我国家的GDP数据(已记录),并使用4种不同的ARMAX方法进行了估算。 因此,我的输入节点将是我从每个模型获得的预测值。

model = Sequential()
model.add(Dense(units = 2, input_dim = 5, activation = 'relu'))
model.add(Dense(units = 1))
model.compile(loss = 'mse', optimizer = 'sgd')
result = model.fit(x_train, y_train, epochs = 100, batch_size = 6, validation_data = (x_val, y_val), verbose = 1)

yhat = model.predict(x, verbose = 1) * 11
print(yhat)

然后我像上面那样建立我的神经网络,并得到

array([[10.346265],
       [10.361134],
       [10.401741],
       [10.438497],
       [10.476765],
       [10.529798],
       [10.57453 ]], dtype=float32)

也使用

model.get_weight()

[array([[ 0.7262494 ,  0.20728986],
        [ 0.8580236 ,  0.09909786],
        [-0.85029256,  0.7897095 ],
        [ 0.18258041,  0.6937324 ],
        [ 0.6681617 , -0.2299874 ]], dtype=float32),
 array([0.03405639, 0.02014379], dtype=float32),
 array([[0.33395663],
        [0.2603701 ]], dtype=float32),
 array([0.1317909], dtype=float32)]

但是当我使用第一组数据[10.334708、10.374603、10.373235、10.378512、4.374813]并使用简单的代数进行计算

se = [10.334708, 10.374603, 10.373235, 10.378512, 4.374813]
w0 = [0.7262494, 0.8580236, -0.85029256, 0.18258041, 0.6681617]
w1 = [0.20728986, 0.09909786, 0.7897095, 0.6937324, -0.2299874]
b = np.dot([np.dot(se,w0)+0.03405639, np.dot(se,w1)+0.02014379], w2)+0.1317909
# Real Data - estimate
10.346265 - a
1.4840910709114112

这个数字似乎减少了1.480914。 您如何使用我从get_weight()函数获得的权重来计算(手动)?

0 个答案:

没有答案