小编程(五):激活函数sigmoid,tanh,relu,elu可视化

说明:绘制激活函数sigmoid,tanh,relu,elu,直观上了解一下。

#  __author__ = 'czx'
# coding=utf-8
import numpy as np
from numpy import *
import matplotlib
import matplotlib.pyplot as plt

def sigmoid(x):
    return 1.0/(1.0+exp(-x))

def tanh(x):
    return 2.0/(1.0+exp(-2*x))-1

def relu(x):
    y = x.copy()
    y[y<0]=0
    return y

def elu(x,a):
    y = x.copy()
    for i in range(y.shape[0]):
        if y[i]<0:
            y[i] = a * (exp(y[i])-1)
    return y

if __name__=='__main__':
    x= arange(-3.0,3.0,0.01)
    y_sigmoid = sigmoid(x)
    y_tanh = tanh(x)
    y_relu = relu(x)
    y_elu = elu(x,0.25)

    plt.plot(x,y_sigmoid,'r',linewidth=2.5,label=u'sigmoid')
    plt.plot(x,y_tanh,'g',linewidth=2.5,label=u'tanh')
    plt.plot(x,y_relu,'b',linewidth=2.5,label=u'relu')
    plt.plot(x,y_elu,'k',linewidth=2.5,label=u'elu')
    plt.ylim([-1,1])
    plt.xlim([-1,1])
    plt.legend()
    plt.grid(color='b' , linewidth='0.3' ,linestyle='--')
    plt.show()

 
 

设置了不同的坐标轴现实范围。



猜你喜欢

转载自blog.csdn.net/stayfoolish_fan/article/details/80318151