用 Python 实现并可视化 Sigmoid 函数:深入理解衍生工具
乙状结肠功能是深度学习中的一个重要激活函数,主要用于二元分类问题。在本篇文章中,我们将学习如何使用 Python此外,我们还将向您展示如何自己实现这一功能,并在图表中将其可视化、 正余弦函数的导数请跟随实验代码,更清楚地了解 Sigmoid 函数的工作原理。
什么是乙格函数?
西格莫德函数的定义公式为
S(x) = \frac{1}{1 + e^{-x}}
该函数是一个非线性函数,用于将输入值转换为介于 0 和 1 之间的值。现在,让我们用 Python 实现这个公式的可视化,并绘制它。
实现西格莫德函数的 Python 可视化
首先,让我们用 Python 代码实现 sigmoid 函数。
将 numpy 导入 np
import matplotlib.pyplot as plt
定义 # sigmoid 函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
设置 # x 范围
x = np.linspace(-10, 10, 100)
应用 # sigmoid 函数
y = sigmoid(x)
可视化 #
plt.plot(x, y, label='Sigmoid')
plt.title('Sigmoid 函数')
plt.xlabel('x')
plt.ylabel('S(x)')
plt.grid(True)
plt.legend()
plt.show()上面的代码定义了一个 Sigmoid 函数,并将其可视化。 np.linspace生成从 -10 到 10 的值,然后将每个值应用到 Sigmoid 函数,创建 y 计算出数值后,绘制图表。
代码评注
导入 numpy 为 np导入 NumPy 库进行数值计算。import matplotlib.pyplot as plt导入 Matplotlib 库以实现图形可视化。def sigmoid(x): return 1 / (1 + np.exp(-x))定义 Sigmoid 函数。该函数将输入值转换为介于 0 和 1 之间的值。x = np.linspace(-10, 10, 100):生成 100 个间隔均匀的点,从 -10 到 10,用作 x 轴值。y = sigmoid(x)计算 y 值:对生成的 x 值应用 Sigmoid 函数计算 y 值。plt.plot(x, y, label='Sigmoid')用 x 和 y 的值绘制 Sigmoid 函数的图形。plt.title('Sigmoid 函数')设置图表标题为 "西格莫函数"。plt.xlabel('x'),plt.ylabel('S(x)')设置 x 轴和 y 轴的标签分别为 "x "和 "S(x)"。plt.grid(True)在图形上显示网格。plt.legend()图例:为图表添加图例。plt.show()在屏幕上显示完成的图形。

乙次函数衍生物
sigmoid 函数的导数定义如下
S'(x) = S(x) \times (1 - S(x))
让我们也用 Python 来实现并可视化这个微分函数。
# 西格莫函数导数定义
def sigmoid_derivative(x):
return sigmoid(x) * (1 - sigmoid(x))
应用 # sigmoid 函数导数
y_deriv = sigmoid_derivative(x)
可视化 #
plt.plot(x, y_deriv, label='Sigmoid Derivative', color='orange')
plt.title('Sigmoid 衍生函数')
plt.xlabel('x')
plt.ylabel("S'(x)")
plt.grid(True)
plt.legend()
plt.show()这段代码计算一个 Sigmoid 函数的导数,并将结果可视化。导数是从原始 Sigmoid 函数导出的,从图中可以看出,斜率最大的区域在 x=0 附近。
代码评注
def sigmoid_derivative(x): return sigmoid(x) * (1 - sigmoid(x))定义 sigmoid 函数的导数。Sigmoid 函数的导数表示为 S(x) * (1 - S(x))。y_deriv = sigmoid_derivative(x)计算 y_deriv 的值,方法是将 Sigmoid 函数的导数应用于前面定义的 x 值。plt.plot(x, y_deriv, label='Sigmoid Derivative', color='orange')说明:使用 x 和 y_deriv 的值绘制橙色的 Sigmoid 函数导数图。plt.title('Sigmoid 衍生函数')设置图表标题为 "Sigmoid 衍生函数"。plt.xlabel('x'),plt.ylabel("S'(x)")设置 x 轴和 y 轴的标签分别为 "x "和 "S'(x)"。plt.grid(True)在图形上显示网格。plt.legend()图例:为图表添加图例。plt.show()在屏幕上显示完成的图形。

可视化 Sigmoid 函数和微分函数
现在,让我们在同一张图上比较一下 sigmoid 函数及其导数,这样我们就能一目了然地看到 sigmoid 函数的特征及其导数的变化。
将 numpy 导入 np
import matplotlib.pyplot as plt
定义 # Sigmoid 函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
设置 # x 的范围
x = np.linspace(-10, 10, 100)
# 应用 sigmoid 函数
y = sigmoid(x)
计算 # Sigmoid 函数的导数
y_deriv = y * (1 - y) # sigmoid 的导数
# 将 sigmoid 函数和导数函数可视化
plt.plot(x, y, label='Sigmoid', color='blue')
plt.plot(x, y_deriv, label='Sigmoid Derivative', color='orange') # 现在已定义 y_deriv
plt.title('Sigmoid 函数及其导数')
plt.xlabel('x')
plt.ylabel('Value')
plt.grid(True)
plt.legend()
plt.show()上面的代码同时显示了 sigmoid 函数及其导数,图形显示了 sigmoid 函数如何随 x 变化,以及其导数如何显示一种模式。

为什么使用西格函数?
乙状结肠功能在深度学习中发挥重要作用有几个原因,其中最重要的是,它可以通过限制输出值在 0 和 1 之间来解释二元分类问题中的概率。不过,它们也有缺点,那就是可能会导致梯度消失问题,这也是 ReLU 等函数现在更常用的原因。
组织起来
在本帖中,我们将使用 用 Python 实现西格莫函数并可视化其导数。sigmoid 函数是深度学习中的一个重要激活函数,常用于计算二元分类问题中的概率。我们希望通过学习 sigmoid 函数的概念并在 Python 中进行练习,您将能够更好地理解并在深度学习模型中使用它。





