项目描述与代码:

  1. 数据集的创建:
X = np.array([[i, i] for i in range(1, 51)]) # 输入
y = np.array([i + i for i in range(1, 51)]) # 输出

我创建了一个简单的数据集,其中包含了1到50的加法示例。这个数据集旨在让网络学会如何进行基础的加法运算。

  1. 模型构建:
model = Sequential([
    Dense(6, activation='relu', input_shape=(2,)), # 输入层
    Dense(1) # 输出层
])

我构建了一个包含两个层的顺序模型。输入层有6个神经元,并使用ReLU激活函数。输出层是一个单神经元层,它将提供加法的结果。

  1. 模型编译:
model.compile(optimizer='adam', loss='mean_squared_error')

我选择了Adam优化器,因为它是一种效率很高的优化算法,可以自动调整学习率,而均方误差损失函数非常适合处理回归问题。

  1. 模型训练:
model.fit(X, y, epochs=1000)

我让模型通过1000次训练周期来学习数据。这个过程是迭代的,模型在每次迭代中都会尝试减少预测值和实际值之间的误差。

实验结果与分析:

prediction = model.predict(np.array([[10, 10]]))
print("预测 10 + 10 的结果: ", prediction)

模型预测10加10的结果显示了神经网络如何通过训练学会了解决问题。尽管这是一个非常简单的例子,但它清晰地展示了神经网络学习和推广能力的基础。