Sigmoid 函数是一种常用的激活函数,尤其在神经网络和逻辑回归中应用广泛。Sigmoid 函数的数学表达式如下:
sigma(x) = frac{1}{1 + e^{-x}}
Sigmoid 函数的特点
1. 输出范围:Sigmoid 函数的输出范围在 (0, 1) 之间,这使得它非常适合用于二分类任务,可以将输出解释为概率。
2. 平滑性和可微性:Sigmoid 函数是平滑且可微的,这使得它在梯度下降优化中表现良好。
3. 饱和区:当输入 ( x ) 的绝对值较大时,Sigmoid 函数的梯度接近于零,这可能导致梯度消失问题。
Python 实现
下面是一个使用 NumPy 库实现 Sigmoid 函数的示例:
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(x):
"""
Sigmoid 函数
:param x: 输入值,可以是标量或数组
:return: Sigmoid 函数的输出
"""
return 1 / (1 + np.exp(-x))
# 测试 Sigmoid 函数
x = np.linspace(-10, 10, 100) # 生成从 -10 到 10 的 100 个点
y = sigmoid(x)
# 绘制 Sigmoid 函数图像
plt.plot(x, y)
plt.title('Sigmoid Function')
plt.xlabel('x')
plt.ylabel('σ(x)')
plt.grid(True)
plt.show()
解释
1. 导入库:
• numpy:用于数值计算。
• matplotlib.pyplot:用于绘制图形。
2. 定义 Sigmoid 函数:
• sigmoid(x):接收一个输入值 ( x ),可以是标量或数组。
• 使用 np.exp 计算 e^{-x}。
• 返回 frac{1}{1 + e^{-x}}。
3. 测试 Sigmoid 函数:
• 使用 np.linspace 生成从 -10 到 10 的 100 个点。
• 计算每个点对应的 Sigmoid 函数值。
4. 绘制 Sigmoid 函数图像:
• 使用 plt.plot 绘制 ( x ) 和 sigma(x) 的关系图。
• 添加标题、标签和网格线以增强图表的可读性。
• 使用 plt.show 显示图形。
Sigmoid 函数图像
运行上述代码后,你会看到 Sigmoid 函数的图像,它是一个 S 形曲线,输出范围在 (0, 1) 之间。
用途
• 逻辑回归:在逻辑回归中,Sigmoid 函数将线性组合的输出转换为概率值。
• 神经网络:在神经网络中,Sigmoid 函数作为激活函数,将神经元的输入转换为输出。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/12173.html