激活函数是神经网络中一个十分重要的组成部分,它可以对神经元的接收信息进行非线性变换,将变换后的信息输出到下一层神经元
激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中
构造数据
import tensorflow as tf
import matplotlib.pyplot as plt
x = tf.linspace(-5., 5., 100) # 构造一段连续的数据
x_np = x.numpy() # 转换为 ndarray 的类型,画图时 x 和 x_np 都可以使用
Relu
ReLU 对小于 0 的值全部抑制为 0;对于正数则直接输出,具有单侧抑制、相对宽松的兴奋边界等特性
表达式:
代码:
y_relu = tf.nn.relu(x)
plt.plot(x, y_relu, c='red', label='relu')
plt.ylim((-1, 6))
plt.legend(loc='best')
plt.show()
形状如图:
Sigmoid
Sigmoid 能够把 的输入“压缩”到 区间
表达式:
代码:
y_sigmoid = tf.nn.sigmoid(x)
plt.plot(x, y_sigmoid, c='red', label='sigmoid')
plt.ylim((-0.2, 1.2))
plt.legend(loc='best')
plt.show()
形状如图:
Tanh
Tanh 函数能够将 的输入“压缩”到 区间
表达式:
代码:
y_tanh = tf.nn.tanh(x)
plt.plot(x, y_tanh, c='red', label='tanh')
plt.ylim((-1.2, 1.2))
plt.legend(loc='best')
plt.show()
形状如图:
Softplus
表达式:
代码:
y_softplus = tf.nn.softplus(x)
plt.plot(x, y_softplus, c='red', label='softplus')
plt.ylim((-0.2, 6))
plt.legend(loc='best')
plt.show()
形状如图:
来源:CSDN
作者:Steven·简谈
链接:https://blog.csdn.net/weixin_44613063/article/details/104078391