bp神经网络多元回归预测单层隐藏层relu函数代码
时间: 2023-09-10 07:08:24 浏览: 169
以下是使用Keras实现单层隐藏层、ReLU激活函数的BP神经网络多元回归预测的代码示例:
```python
import tensorflow as tf
import numpy as np
# 定义BP神经网络模型
def create_model(input_size, hidden_size, output_size):
model = tf.keras.Sequential([
tf.keras.layers.Dense(hidden_size, activation=tf.nn.relu, input_shape=(input_size,)),
tf.keras.layers.Dense(output_size)
])
return model
# 定义输入、隐藏和输出层的维度
input_size = 10
hidden_size = 5
output_size = 1
# 构造训练数据
x_train = np.random.rand(100, input_size).astype(np.float32)
y_train = np.random.rand(100, output_size).astype(np.float32)
# 实例化BP神经网络模型
model = create_model(input_size, hidden_size, output_size)
# 定义损失函数和优化器
criterion = tf.keras.losses.MeanSquaredError()
optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
# 编译模型
model.compile(optimizer=optimizer, loss=criterion)
# 迭代训练模型
num_epochs = 1000
model.fit(x_train, y_train, epochs=num_epochs, batch_size=32)
# 利用训练好的模型进行预测
x_test = np.random.rand(10, input_size).astype(np.float32)
pred = model.predict(x_test)
print(pred)
```
其中,`create_model`函数定义了一个单层隐藏层、ReLU激活函数的BP神经网络模型,`criterion`定义了损失函数,`optimizer`定义了优化器,`num_epochs`表示训练轮数。在编译模型后,调用`fit`方法进行训练。最后,利用训练好的模型进行预测。
阅读全文