用Python绘制三种常见的激活函数

 直接上代码和图

import matplotlib.pyplot as plt
import numpy as np
import math
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

#sigmoid    
#sigmoid激活函数用的最少,但为二分类问题时,可作为输出层
#会出现梯度消失(即当x趋于无穷大或无穷小时会使得导数趋于0)

def sigmoid(x):
    return 1/(1+np.exp(-x))
x1=np.arange(-10.0,10.0,0.1)
y1=sigmoid(x)
plt.plot(x1,y1,color='red',label='sigmoid')
plt.legend()

#ReLU
#一般都采用ReLU激活函数
def ReLU(x):
    return np.maximum(0,0.1*x)  #ReLU函数的定义
x2=np.arange(-10.0,10.0,0.1)
y2=ReLU(x)
plt.plot(x2,y2,color='blue',label='ReLU')
plt.legend()

#tanh
def tanh(x):
    return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
x3=np.arange(-10.0,10.0,0.1)
y3=tanh(x)
plt.plot(x3,y3,color='green',label='tanh')
plt.legend()

用Python绘制三种常见的激活函数_第1张图片

 

你可能感兴趣的:(python,开发语言,matplotlib)