构建并拟合一个简单的神经网络
接下来要学习的模型是神经网络。神经网络可以捕捉变量之间的复杂交互,但搭建与理解相对困难。近年来,它们在许多领域击败了人类专家,包括图像识别和游戏(可参考 AlphaGo),因此具备出色的表现潜力。
我们将使用 keras 库来构建网络。它是一个高级 API,既能让我们快速搭建神经网络,又能对设计保持较强的控制力。首先,我们将创建一个几乎最简单的网络——一个 3 层网络,接收输入并预测单个值。与 sklearn 模型类似,keras 模型也有 .fit() 方法,参数为 (features, targets)。
本练习是课程的一部分
Python 金融机器学习
练习说明
- 在神经网络中创建第 2 层 Dense 层,包含 20 个节点,并使用 ReLU(
"relu")激活函数。 - 创建最后一层 Dense 层,包含 1 个节点,并使用线性激活(
activation='linear')。 - 将模型拟合到
scaled_train_features和train_targets。
交互式实操练习
通过完成这段示例代码来试试这个练习。
from keras.models import Sequential
from keras.layers import Dense
# Create the model
model_1 = Sequential()
model_1.add(Dense(100, input_dim=scaled_train_features.shape[1], activation='relu'))
model_1.add(Dense(____, activation=____))
model_1.add(Dense(____, activation=____))
# Fit the model
model_1.compile(optimizer='adam', loss='mse')
history = model_1.fit(____, ____, epochs=25)