sigmoid函数,tanh函数,relu函数,leaky_relu函数原理与实现
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def sigmoid(x):
return np.exp(x)/sum(np.exp(x))
def tanh(x):
return (np.exp(x) - np.exp(-x))/(np.exp(x) + np.exp(-x))
def relu(x):
res = []
for i in x:
if i > 0:
res.append(i)
else:
res.append(0)
return res
def leaky_relu(x):
res = []
for i in x:
if i > 0:
res.append(i)
else:
res.append(0.01*i)
return res
plt.figure(figsize= [30,30],dpi=50)
x = np.arange(-5,5,0.01)
y_sigmoid = sigmoid(x)
y_tanh = tanh(x)
y_relu = relu(x)
y_leaky_relu = leaky_relu(x)
plt.subplot(2,2,1)
plt.plot(x,y_sigmoid)
plt.title('sigmoid ficture',fontsize = 30)
plt.subplot(2,2,2)
plt.plot(x,y_tanh)
plt.title('tanh ficture',fontsize = 30)
plt.subplot(2,2,3)
plt.plot(x,y_relu)
plt.title('relu ficture',fontsize = 30)
plt.subplot(2,2,4)
plt.plot(x,y_leaky_relu)
plt.title('leaky_relu ficture',fontsize = 30)
Text(0.5, 1.0, 'leaky_relu ficture')