sigmoid、tanh和relu激活函数的直观解释

参考链接:https://www.cnblogs.com/hutao722/p/9732223.html

实现代码:

import numpy as np
import matplotlib.pyplot as plt

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def tanh(x):
    return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))

def relu(x):
    return np.maximum(0, x)

x = np.arange(-5, 5, 0.1)
p1 = plt.subplot(311)
y = tanh(x)
p1.plot(x, y)
p1.set_title('tanh')
p1.axhline(ls='--', color='r')
p1.axvline(ls='--', color='r')


p2 = plt.subplot(312)
y = sigmoid(x)
p2.plot(x, y)
p2.set_title('sigmoid')
p2.axhline(0.5, ls='--', color='r')
p2.axvline(ls='--', color='r')

p3 = plt.subplot(313)
y = relu(x)
p3.plot(x, y)
p3.set_title('relu')
p3.axvline(ls='--', color='r')

plt.subplots_adjust(hspace=1)
plt.show()

图形解释如下:

三个函数的对比: 

 

三个函数的求导公式:

 

 

 

猜你喜欢

转载自blog.csdn.net/u011939633/article/details/102509780
今日推荐