In [1]:
import matplotlib.pyplot as plt
import numpy
linewidth = 2.0
x_start = -10
x_end = 10
plt.xlim(x_start, x_end - 1)
x = numpy.arange(x_start, x_end, 0.01)
In [17]:
# sigmoid
fig = plt.figure()
ax = fig.gca()
plt.ylim([-0.2, 1])
y_sigmoid = 1 / (1 + numpy.exp(-x))
y1_sigmoid = y_sigmoid * (1 - y_sigmoid)
line_1, = ax.plot(x, y_sigmoid, color='g', linewidth=linewidth)
line_11, = ax.plot(x, y1_sigmoid, color='y', linewidth=linewidth)
ax.legend([line_1, line_11], ['sigmoid', 'derivative'], shadow=True, fancybox=True, loc=0)
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.yticks(numpy.arange(-0.2, 1, 0.2))
plt.xticks(numpy.arange(x_start, x_end, 1))
plt.show()
In [8]:
# custom
fig = plt.figure()
ax = fig.gca()
beta = 0.5
gamma = 0.5
plt.ylim([-3, 3])
# y = 1 / (1 + numpy.exp(-beta*x))
# y1 = beta * y * (1 - y)
# sigma2= 1
# y = numpy.exp(-(beta*x)**2 / sigma2)
# y1 = numpy.exp(-(beta*x)**2 / sigma2) * (-2 * beta *(beta*x) / sigma2)
y = numpy.tanh(beta*x)
y1 = beta* (1.-numpy.tanh(beta*x)**2)
# y = (beta*x)**3
# y1 = beta * 3*(beta*x)**2
# print(max(y1))
# scale = 1./max(y1)
scale = 1
y *= scale
y1 *= scale
line_1, = ax.plot(x, y, color='g', linewidth=linewidth)
line_11, = ax.plot(x, y1, color='y', linewidth=linewidth)
ax.legend([line_1, line_11], ['sigmoid_beta={:.1f}'.format(beta), 'derivative'], shadow=True, fancybox=True, loc=0)
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.yticks(numpy.arange(-3, 3, 0.5))
plt.xticks(numpy.arange(x_start, x_end, 1))
plt.show()
In [ ]:
In [28]:
#ReLU
fig = plt.figure()
plt.ylim([-0.2, 1.2])
plt.xlim(x_start, x_end - 1)
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.yticks(numpy.arange(-0.2, 1.2, 0.2))
plt.xticks(numpy.arange(x_start, x_end, 1))
y_relu = numpy.maximum(0, x)
y1_relu = numpy.maximum(0, numpy.sign(x))
line_2, = plt.plot(x, y_relu, color='g', linewidth=linewidth)
line_21, = plt.plot(x, y1_relu, color='y', linewidth=linewidth)
plt.legend([line_2, line_21], ['ReLU', 'derivative'], shadow=True, fancybox=True, loc=0)
plt.show()
In [29]:
## tanh
plt.ylim([-1.2,1.2])
y_tanh = (numpy.exp(x)-numpy.exp(-x))/(numpy.exp(x)+numpy.exp(-x))
y1_tanh = 1-y_tanh*y_tanh
line_3, = plt.plot(x, y_tanh,color='g',linewidth=linewidth)
line_31, = plt.plot(x, y1_tanh,color='y',linewidth=linewidth)
plt.legend([line_3, line_31],['tanh','derivative'],shadow=True, fancybox=True,loc=0)
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.yticks(numpy.arange(-1.2,1.2,0.2))
plt.xticks(numpy.arange(x_start,x_end,1))
Out[29]:
In [ ]: