使用 Keras 构建简单神经网络模型:XOR 问题实例

本文将使用 Keras 库构建一个简单的神经网络模型,并以 XOR 问题为例,演示如何训练和预测结果。

import numpy as np
from keras.models import Sequential
from keras.layers import Dense

# 构建数据集
data = np.array([[1, 1], [1, 0], [0, 1], [0, 0]])
labels = np.array([1, 0, 0, 0])

# 构建神经网络模型
model = Sequential()
model.add(Dense(4, input_dim=2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# 训练模型
model.fit(data, labels, epochs=1000, batch_size=4)

# 预测结果
predictions = model.predict(data)
print(predictions)

模型结构解析:

  • 第 6、7 行代码:model.add(Dense(4, input_dim=2, activation='relu')) 构建一个包含 2 个输入神经元和 4 个隐藏神经元的全连接层,并使用 ReLU 激活函数进行激活。
  • 第 8 行代码:model.add(Dense(1, activation='sigmoid')) 构建一个只包含 1 个输出神经元的全连接层,并使用 sigmoid 激活函数进行激活。
  • 模型编译部分:使用二元交叉熵损失函数 ('binary_crossentropy') 和 Adam 优化器 ('adam') 进行模型的编译,并使用准确率 ('accuracy') 作为评估指标。

代码功能解释:

  • 使用 NumPy 库创建 XOR 问题的输入数据 data 和标签数据 labels
  • 使用 Keras 的 Sequential API 构建神经网络模型。
  • 训练模型,使用 fit() 方法训练模型,指定训练数据、标签数据、训练轮数 (epochs) 和批次大小 (batch_size)。
  • 使用 predict() 方法预测输入数据的输出结果。

结论:

本文通过一个简单的 XOR 问题示例,演示了如何使用 Keras 库构建、训练和预测神经网络模型。这个例子展示了神经网络的基本结构和训练过程,为进一步学习更复杂的神经网络模型打下了基础。

使用 Keras 构建简单神经网络模型:XOR 问题实例

原文地址: https://www.cveoy.top/t/topic/jGo9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录