全连接神经网络拟合正弦曲线
时间: 2024-02-02 22:09:37 浏览: 68
以下是一个使用全连接神经网络拟合正弦曲线的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成训练数据
X = np.linspace(0, 2*np.pi, 100)
y = np.sin(X)
# 构建神经网络模型
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(10, input_dim=1, activation='relu'))
model.add(Dense(1, activation='linear'))
# 编译模型
model.compile(loss='mean_squared_error', optimizer='adam')
# 训练模型
model.fit(X, y, epochs=1000, verbose=0)
# 预测并绘制拟合曲线
X_test = np.linspace(0, 2*np.pi, 100)
y_pred = model.predict(X_test)
plt.plot(X, y, label='Actual')
plt.plot(X_test, y_pred, label='Predicted')
plt.legend()
plt.show()
```
这个示例使用Keras库构建了一个具有一个隐层的全连接神经网络模型。模型的输入是一个维度为1的特征,即正弦曲线的自变量X,输出是一个维度为1的预测值,即正弦曲线的因变量y。模型使用ReLU作为隐层的激活函数,使用线性激活函数作为输出层的激活函数。模型使用均方误差作为损失函数,使用Adam优化器进行模型训练。
训练完成后,使用训练好的模型对新的输入数据进行预测,并将预测结果与实际值进行比较,绘制出拟合曲线。
阅读全文