开始使用免费开始使用

单层神经网络

为了熟悉神经网络的用法,先从对函数的简单近似开始。

您将训练一个神经网络来近似输入 x 与输出 y 之间的映射关系。两者满足平方根函数关系,即 $y = \sqrt{x}$。

输入向量 x 已提供。您将先使用 Numpy 的 sqrt() 函数计算 x 的平方根,得到输出序列 y。然后创建一个简单的神经网络,并在 x 序列上训练该网络。

训练完成后,您将同时绘制 y 序列与神经网络的输出,观察网络对平方根函数的逼近程度。

Keras 库中的 SequentialDense 对象也已在您的工作区可用。

本练习是课程的一部分

Python 中的定量风险管理

查看课程

练习说明

  • 使用 Numpy 的 sqrt() 函数创建输出训练值。
  • 构建一个包含 1 个隐藏层(16 个神经元)、1 个输入值和 1 个输出值的神经网络。
  • 对神经网络进行编译并在训练值上进行拟合,训练 100 个 epoch。
  • 绘制训练值(蓝色)与神经网络预测值的对比图。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Create the training values from the square root function
y = np.____(x)

# Create the neural network
model = Sequential()
model.____(Dense(16, input_dim=1, activation='relu'))
model.____(____(1))

# Train the network
model.____(loss='mean_squared_error', optimizer='rmsprop')
model.____(x, y, epochs=100)

## Plot the resulting approximation and the training values
plt.plot(x, y, x, model.____(x))
plt.show()
编辑并运行代码