1、效果
2、实现代码(带注释)
import numpy as np # 导入 numpy 库, 用于数学运算
import matplotlib.pyplot as plt # 导入 matplotlib.pyplot, 用于绘图
import matplotlib as mpl # 导入 matplotlib 库, 用于图形配置plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体为 SimHei 支持中文显示
plt.rcParams['axes.unicode_minus'] = False # 设置正常显示负号# 定义激活函数
def sigmoid(x):return 1 / (1 + np.exp(-x)) # Sigmoid 函数def tanh(x):return np.tanh(x) # 双曲正切函数def relu(x):return np.maximum(0, x) # ReLU 函数def softmax(x):e_x = np.exp(x - np.max(x)) # Softmax 函数, 防止数值溢出return e_x / e_x.sum(axis=0) # 归一化def leaky_relu(x, alpha=0.01):return np.where(x > 0, x, x * alpha) # Leaky ReLU 函数def elu(x, alpha=1):return np.where(x >= 0, x, alpha * (np.exp(x) - 1)) # ELU 函数# 创建 x 值的数组
x = np.linspace(-3, 3, 300)# 准备绘图
fig, ax = plt.subplots(figsize=(10, 6)) # 设置图的大小
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=["r", "g", "b", "y", "c", "m"]) # 设置默认颜色循环# 绘制每一个激活函数
ax.plot(x, sigmoid(x), label='Sigmoid')
ax.plot(x, tanh(x), label='Tanh')
ax.plot(x, relu(x), label='ReLU')
ax.plot(x, softmax(x), label='Softmax') # 一般不会在整个输入范围内使用
ax.plot(x, leaky_relu(x), label='Leaky ReLU')
ax.plot(x, elu(x), label='ELU')# 添加标签和标题
ax.set_title("激活函数", fontsize=20) # 设置标题
ax.set_xlabel("x") # 设置 x 轴标签
ax.set_ylabel("f(x)") # 设置 y 轴标签
ax.legend() # 显示图例
# plt.grid(True) # 显示网格(可选)# 保存图像为 png 文件
plt.savefig('act_funcs.png', format='spng')
# 显示图像
plt.show()
实现思路不难,关键在于第三方库的应用:numpy、matplotlib。
创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
希望本篇内容能对大家有所帮助,如果大家喜欢的话,请动动手点个赞和关注吧,非常感谢你们的支持!