使用matplitilb python绘画神经网络的激活函数图像

1.sigmoid

import numpy as np
from matplotlib import pyplot as plt

# sigmoid
x = np.linspace(-7, 7, 50)
y = 1 /(1 + np.exp(-x))
plt.figure(1)
plt.xlabel("x")
plt.ylabel("y")
plt.ylim(-0.1, 1.1)
plt.title(r"$f(x) = 1 /(1 + e^{-x})$")
plt.plot(x,y)
plt.grid()
plt.show()

使用matplitilb python绘画神经网络的激活函数图像_第1张图片

2.tanh

# tanh
x = np.linspace(-7, 7, 50)
y = (1 - np.exp(-2 * x)) /(1 + np.exp(-2 * x))
plt.figure(1)
plt.xlabel("x")
plt.ylabel("y")
plt.ylim(-1.1, 1.1)
plt.title(r"$f(x) = (1 - e^{-2x}) /(1 + e^{-2x})$")
plt.plot(x,y)
plt.grid()
plt.show()

使用matplitilb python绘画神经网络的激活函数图像_第2张图片

  如果把sigmoid和tanh函数图形画在一起你会发现它们形状很相似,然后再观察他们的函数式,就会发现,其实:

 tanh = 2sigmoid(2x)-1

  不妨动手推导一下

3.softplus和relu

# relu和softplus画在一张图上
x = np.linspace(-5, 5, 50)
y1 = [max([0, xpoint]) for xpoint in x]
y2 = np.log(1 + np.exp(x))
plt.figure(1)
plt.xlabel("x")
plt.ylabel("y")
plt.title(r"$f(x) = relu(x)$")
plt.plot(x,y1)
plt.plot(x,y2)
plt.grid()
plt.show()

使用matplitilb python绘画神经网络的激活函数图像_第3张图片

你可能感兴趣的:(python笔记)