首页 > 编程知识 正文

python 画sigmoidtanhrelu和ELU等激活函数,python画函数像

时间:2023-05-06 01:27:59 阅读:191151 作者:493

1、前言

      写毕业论文时候画了激活函数的函数图,也是参考别人的代码做的,我将格式统一了一些,现在分享出来。

2、代码

      2.1 sigmoid和tanh

import mathimport matplotlib.pyplot as pltimport numpy as npimport matplotlib as mplmpl.rcParams['axes.unicode_minus'] = Falsedef sigmoid(x): result = 1/(1+math.e**(-x)) return resultfig = plt.figure(figsize=(10,4))ax = fig.add_subplot(121)x = np.linspace(-10,10)y = sigmoid(x)ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.set_xticks([-10,-5,0,5,10]) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) ax.set_yticks([-1,-0.5,0.5,1]) plt.plot(x,y,label = "Sigmoid",linestyle='-',color='blue')plt.legend()def tanh(x): #result = np.exp(x)-np.exp(-x)/np.exp(x)+np.exp(-x) result = (math.e**(x) - math.e**(-x)) / (math.e**(x) + math.e**(-x)) return resultax = fig.add_subplot(122)x = np.linspace(-10,10)y = tanh(x)ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.set_xticks([-10,-5,0,5,10]) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) ax.set_yticks([-1,-0.5,0.5,1]) plt.plot(x,y,label = "Tanh",linestyle='-',color='blue')plt.legend()plt.savefig('sigmoid and tanh.png',dpi=200)

      2.2 relu和ELU

import mathimport matplotlib.pyplot as pltimport numpy as npimport matplotlib as mplmpl.rcParams['axes.unicode_minus'] = Falsedef relu(x): result=np.maximum(0,x) return resultfig = plt.figure(figsize=(10,4))ax = fig.add_subplot(121)x = np.linspace(-10,10)y = relu(x)ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.set_xticks([-10,-5,0,5,10]) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) ax.set_yticks([5,10]) plt.plot(x,y,label = "Relu",linestyle='-',color='blue')plt.legend()def elu(x,alpha=1): a = x[x>0] b = alpha*(math.e**(x[x<0])-1) result=np.concatenate((b,a),axis=0) return resultax = fig.add_subplot(122)x = np.linspace(-10,10)y = elu(x)ax.spines['top'].set_color('none') ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom') ax.spines['bottom'].set_position(('data',0)) ax.set_xticks([-10,-5,0,5,10]) ax.yaxis.set_ticks_position('left') ax.spines['left'].set_position(('data',0)) ax.set_yticks([5,10]) plt.plot(x,y,label = "ELU alpha=1",linestyle='-',color='blue')plt.legend()plt.savefig('Relu an ELU.png',dpi=200)

3、结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。