Python实现BP神经网络
时间: 2024-04-17 12:21:35 浏览: 100
python实现bp神经网络
4星 · 用户满意度95%
Python可以使用第三方库来实现BP神经网络,例如TensorFlow、Keras和PyTorch等。下面是使用Keras库实现BP神经网络的示例代码:
```python
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
# 创建一个序列模型
model = Sequential()
# 添加输入层和隐藏层
model.add(Dense(units=10, input_dim=8, activation='relu'))
# 添加输出层
model.add(Dense(units=1, activation='sigmoid'))
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 准备训练数据
X_train = np.array([[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1, 1],
[0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 1],
[0, 0, 0, 0, 0, 1, 1, 0],
[0, 0, 0, 0, 0, 1, 1, 1]])
y_train = np.array([0, 1, 1, 0, 1, 0, 0, 1])
# 训练模型
model.fit(X_train, y_train, epochs=100, batch_size=2)
# 准备测试数据
X_test = np.array([[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 1],
[0, 0, 0, 0, 1, 0, 1, 0],
[0, 0, 0, 0, 1, 0, 1, 1]])
# 预测结果
predictions = model.predict(X_test)
print(predictions)
```
这段代码使用Keras库创建了一个包含一个输入层、一个隐藏层和一个输出层的BP神经网络模型。模型使用二进制交叉熵作为损失函数,Adam优化器进行优化,并使用准确率作为评估指标。训练数据包括8个特征和对应的二进制标签,通过调用fit()方法进行训练。然后使用测试数据进行预测,预测结果保存在predictions变量中。
阅读全文