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

PythonKeras教程:了解tanh()激活函数的作用及使用方法

发布时间:2023-12-24 06:16:30

tanh() 是一种常用的激活函数,用于神经网络中对输入数据进行非线性转换。它将输入值映射到范围在 -1 到 1 之间的输出值。

tanh() 函数的定义如下:

tanh(x) = (e^x - e^-x) / (e^x + e^-x)

其中,e 是自然对数的底数,x 是输入值。

tanh() 函数具有以下特性:

1. 输出值的范围在 -1 到 1 之间,因此可以消除数据的线性相关性,扩展数据的非线性表示能力。

2. 对于较大的正数,tanh() 的输出趋近于 1;对于较大的负数,输出趋近于 -1,因此可以保留输入的符号信息。

3. 对于接近于 0 的输入,tanh() 的输出趋近于 0。

在 Python 的 Keras 库中,使用 tanh() 激活函数非常简单。下面是一个使用 tanh() 激活函数的简单神经网络的例子:

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

# 构建简单的神经网络模型
model = Sequential()
model.add(Dense(units=64, activation='tanh', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

# 编译并训练模型
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=10, batch_size=32)

在上面的例子中,我们使用 Keras 构建了一个含有一个隐藏层的神经网络。隐藏层的激活函数是 tanh(),输出层的激活函数是 softmax()。

通过这个例子,我们可以看到在构建模型时,通过在层中指定 activation='tanh',即可使用 tanh() 作为激活函数。同时,只需简单地使用 model.fit() 方法,就可以训练模型并获得准确率等指标的评估。

总结来说,tanh() 是一种常用的激活函数,可以在神经网络中引入非线性,扩展模型的表示能力。在 Keras 中,使用 tanh() 激活函数非常方便,只需在相应的层中指定 activation='tanh' 即可。