Python深度学习中常用的激活函数:Sigmoid、tanh、ReLU和Softmax
什么是激活函数?
在深度学习中,激活函数用于对隐藏层与输出层的单元接收到的输入值进行处理。常用的激活函数有Sigmoid、tanh、ReLU、Softmax函数。
一、Sigmoid函数
1.1 函数表达式为
Sigmoid(x) = 1/(1+exp(x))
主要作用是将函数接收到的值映射到0~1
1.2 Sigmoid函数图像可表示为如下
1.3 在python中,可以通过以下代码定义Sigmoid函数
import numpy as np
def Sigmoid(x):
y = 1 / (1 + np.exp(x))
return y
一、tanh函数
2.1 函数表达式为
tanh(x) = (exp(x) – exp(-x)) /(exp(x) + exp(-x))
tanh函数将接收到的值映射到-1~1。与Sigmoid函数相比,tanh函数的输出值更广泛。
2.2 tanh函数的图像表示如下
2.3 在python中,可以通过以下代码定义tanh函数
import numpy as np
def tanhfun(x):
y = (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))
return y
三、ReLU函数
3.1 ReLU的函数表达式
是深度学习中最常用的激活函数之一。ReLU的函数表达式为:
f(x) = max(0, x)
当自变量z的值小于0时,ReLU函数输出为0,当自变量x的值大于0时,ReLU函数的输出值为自变量本身
3.2 ReLU函数的图像表示如下:
3.3 在python中,可以通过以下代码定义ReLU函数
def ReLUfun(x):
if x <= 0:
return 0
else:
return x
四、Softmax函数
4.1 函数表达式
本质上将一个有N个值的数组/向量映射到另一个有N个值的数组,新数组的N个值求和为1。通常把Softmax函数作为神经网络中的输出层完成分类任务。
函数表达式为
Softmax(x) = xi/∑xi
4.2 在python中,可以通过以下代码定义Softmax函数
def softmaxfun(array):
t = np.exp(array)
s = np.sum(t)
return t/s
作者:高级数据分析师