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='png')
# 显示图像
plt.show()

实现思路不难,关键在于第三方库的应用:numpy、matplotlib。

创作者Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊)
希望本篇内容能对大家有所帮助,如果大家喜欢的话,请动动手点个赞和关注吧,非常感谢你们的支持!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐