本文主要是常用的激活函数的实现,侧重于工程方面 没有过多的理论介绍 想要了解理论的可以参考:
常用激活函数(激励函数)理解与总结
神经网络激活函数汇总(Sigmoid、tanh、ReLU、LeakyReLU、pReLU、ELU、maxout)
#Sigmoid 函数
import numpy as np
def Sigmoid(z):
fz = 1 / (1+np.exp(-z))
return fz
#tanh 函数
import numpy as np
def Tanh(z):
tz = (np.exp(z) - np.exp(-z)) / (np.exp(z) + np.exp(-z))
return tz
#ReLU 函数
def ReLU(z):
return max(0,z)
def Leaky_ReLU(alpha,z):
#alpha 人们为了解决Dead ReLU Problem,提出了将ReLU的前半段设为 alpha*x而非0,通常alpha=0.01
return max(alpha*z,z)
import numpy as np
def ELU(alpha,z):
if z > 0 :
return z
else:
return alpha *(np.exp(z) - 1)
#Softmax 函数 多分类函数
def Softmax(z):
e_z = np.exp(z - np.max(z))
return e_z / e_z.sum(axis = 0)
扩展阅读:
机器学习的损失函数