用卷积神经网络做回归预测的代码
时间: 2023-08-13 22:04:28 浏览: 98
卷积神经网络(Convolutional Neural Network,CNN)可以用于回归预测。下面是一个简单的示例代码:
```python
import numpy as np
import tensorflow as tf
from tensorflow.keras import layers
# 构造样本数据
x_train = np.random.random(size=(1000, 32, 32, 3))
y_train = np.random.random(size=(1000, 1))
# 构建模型
model = tf.keras.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(1, activation='linear'))
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 训练模型
model.fit(x_train, y_train, epochs=10, batch_size=32)
# 使用模型进行预测
x_test = np.random.random(size=(10, 32, 32, 3))
y_pred = model.predict(x_test)
```
上面的代码中,我们使用 `tf.keras` 构建了一个简单的卷积神经网络模型,它包括了三个卷积层和两个全连接层。模型的输出是一个实数,因为我们要做的是回归预测。我们使用均方误差(MSE)作为损失函数,使用随机梯度下降算法(SGD)进行优化。在训练过程中,我们使用随机生成的样本数据进行训练,然后使用模型进行预测。
阅读全文