说明:绘制激活函数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