欢迎访问宙启技术站
智能推送

PythonKeras教程:利用tanh()激活函数构建深度神经网络

发布时间:2023-12-24 06:17:10

Keras 是一个基于 Python 的深度学习库,它提供了一种方便易用的方式来构建和训练深度神经网络。本教程将介绍如何使用 Keras 来构建一个带有 tanh() 激活函数的深度神经网络,并通过一个示例来演示它的用法。

首先,我们需要安装 Keras。可以使用以下命令来在 Python 环境中安装 Keras:

pip install keras

接下来,我们将导入所需的库并配置 Keras 使用 TensorFlow 作为后端。可以使用以下代码来完成导入和配置:

import numpy as np
import keras

from keras.models import Sequential
from keras.layers import Dense

# 配置 Keras 使用 TensorFlow 作为后端
keras.backend.backend()

在构建网络之前,我们需要准备训练数据和标签。我们将使用一个简单的示例,其中输入是一个带有两个特征的数据点,输出是一个二进制分类标签。以下是示例数据的准备过程:

# 生成示例数据
data = np.random.random((1000, 2))
labels = np.random.randint(2, size=(1000, 1))

这样,我们就准备好了训练数据和标签。接下来,我们可以开始构建网络了。下面的代码展示了如何使用 Keras 构建一个带有 tanh() 激活函数的深度神经网络:

# 构建网络
model = Sequential()
model.add(Dense(32, activation='tanh', input_dim=2))
model.add(Dense(1, activation='sigmoid'))

# 编译模型
model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy'])

在上面的代码中,我们首先创建了一个 Sequential 模型。Sequential 模型是一个线性堆叠的神经网络模型,可以通过 add() 函数来添加层。

然后,我们通过 add() 函数添加了一个全连接层(Dense)。该层包含32个神经元,并使用 tanh() 作为激活函数。我们还通过输入维度参数(input_dim)指定了输入层的特征数。

接下来,我们再次使用 add() 函数添加了一个全连接层(Dense)。该层只有一个神经元,并使用 sigmoid() 作为激活函数。这是一个二元分类问题,所以我们使用 sigmoid() 作为输出层的激活函数。

最后,我们使用 compile() 函数编译了模型。我们指定了 rmsprop 作为优化器,binary_crossentropy 作为损失函数,并评估模型的准确率。

现在,我们已经完成了模型的构建和编译。接下来,我们可以使用准备好的训练数据来训练模型了。我们可以使用以下代码开始训练模型:

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

在训练模型时,我们使用了 fit() 函数。我们指定了训练数据(data)和标签(labels),并设置了训练的迭代次数(epochs)和每次迭代的批量大小(batch_size)。

最后,我们可以使用训练好的模型进行预测。以下是一个使用训练好的模型进行预测的示例代码:

# 预测数据
predictions = model.predict(data)

在上面的代码中,我们使用 predict() 函数对数据进行预测。预测的结果将存储在 predictions 变量中。

以上就是使用 Keras 构建一个带有 tanh() 激活函数的深度神经网络的完整过程。通过这个例子,你可以了解到如何使用 Keras 来构建和训练深度神经网络,并使用 tanh() 激活函数来激活网络的隐藏层。希望这个教程能够帮助你入门 Keras 和深度学习的世界!