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' 即可。
