【漫话机器学习系列】114.逻辑 Sigmoid 函数
创作时间:
作者:
@小白创作中心
【漫话机器学习系列】114.逻辑 Sigmoid 函数
引用
CSDN
1.
https://blog.csdn.net/IT_ORACLE/article/details/145958454
逻辑 Sigmoid 函数详解
1. 引言
逻辑回归(Logistic Regression)是机器学习中常用的分类算法,而Sigmoid 函数是逻辑回归的核心数学工具。Sigmoid 函数能够将任意实数映射到 (0,1) 之间,因此特别适用于概率估计。在这篇文章中,我们将深入探讨 Sigmoid 函数的数学公式、特性、导数、应用以及其在逻辑回归中的作用。
2. Sigmoid 函数的数学表达
Sigmoid 函数的数学表达式如下:
其中:
- x 是输入变量,可以取任意实数值。
- e 是自然对数的底数,约等于 2.718。
- σ(x) 的输出范围是(0,1),适合用作概率表示。
2.1 Sigmoid 函数的基本性质
- 当 x → +∞,
,因此 σ(x) → 1。 - 当 x → −∞,
,因此 σ(x) → 0。 - 当 x = 0,
。 - Sigmoid 函数的形状是S 形曲线(如图所示),在 x 值较小时,函数值接近 0,较大时接近 1。
2.2 Sigmoid 函数的图像
从图像来看,Sigmoid 函数在 x 轴上呈现对称性,在 x=0 处对称。它的变化最剧烈的区域在 x=0 附近,这表明 Sigmoid 对较小的输入值更敏感,而当 x 取值极端时,函数趋于平缓。
3. Sigmoid 函数的导数
Sigmoid 函数的导数在机器学习和深度学习中非常重要,特别是在梯度下降优化过程中。Sigmoid 的导数公式如下:
推导过程如下:
对 x 求导:
使用链式法则:
由于
,因此
,代入得:
3.1 Sigmoid 导数的性质
- 最大值:当 σ(x)=0.5 时,导数达到最大值 0.25。
- 最小值:当 σ(x) 接近 0 或 1 时,导数接近 0。这表明在极端区域(远离 0 的区域),Sigmoid 函数的梯度会消失(即梯度消失问题)。
4. Sigmoid 函数的应用
4.1 逻辑回归
逻辑回归是二分类问题中常用的模型,核心思想是:
- 先计算线性变换:
。 - 通过 Sigmoid 函数计算概率:
。 - 根据设定的阈值(如 0.5),决定分类结果:
- 如果
,预测为 1 类。 - 如果
,预测为 0 类。
4.2 神经网络
在深度学习中,Sigmoid 函数常用于:
- 输出层激活函数(尤其是二分类问题)。
- 早期神经网络中的隐藏层激活函数(但因梯度消失问题,现多用 ReLU 代替)。
4.3 其他应用
- 生物学:Sigmoid 函数用于描述生长曲线和神经元激活。
- 经济学:用于建模市场饱和度和边际收益递减。
5. Sigmoid 函数的优缺点
5.1 优点
- 概率解释性:输出值位于 (0,1) 之间,可直接解释为概率。
- 平滑可微:Sigmoid 是一个连续、可微的函数,适用于梯度下降优化。
- 单调性:Sigmoid 函数是单调递增的,适合用于分类任务。
5.2 缺点
- 梯度消失问题:
- 在极端值(接近 0 或 1)时,梯度接近 0,导致深层神经网络难以训练。
- 现代深度学习一般用 ReLU 代替 Sigmoid 作为隐藏层激活函数。
- 计算代价较高:
- 计算
需要指数运算,比线性变换计算成本更高。
- 非零均值问题:
- Sigmoid 函数的输出范围是 (0,1),均值不是 0,可能导致权重更新不稳定。
6. 代码示例
6.1 计算 Sigmoid 值
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(x):
return 1 / (1 + np.exp(-x))
x = np.linspace(-10, 10, 100)
y = sigmoid(x)
plt.plot(x, y, label="Sigmoid Function")
plt.xlabel("x")
plt.ylabel("σ(x)")
plt.legend()
plt.show()
6.2 计算 Sigmoid 的导数
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(x):
return 1 / (1 + np.exp(-x))
x = np.linspace(-10, 10, 100)
y = sigmoid(x)
def sigmoid_derivative(x):
return sigmoid(x) * (1 - sigmoid(x))
y_derivative = sigmoid_derivative(x)
plt.plot(x, y_derivative, label="Sigmoid Derivative", color='red')
plt.xlabel("x")
plt.ylabel("σ'(x)")
plt.legend()
plt.show()
7. 结论
- Sigmoid 函数是逻辑回归和神经网络的重要组成部分,用于将数值映射到 (0,1) 之间。
- 具有 S 形曲线的特点,使其适用于概率估计和分类问题。
- 尽管存在梯度消失问题,在深度学习中仍有广泛应用,特别是用于二分类任务的输出层。
理解 Sigmoid 函数对于掌握逻辑回归、神经网络和深度学习至关重要。希望这篇文章能帮助你更好地理解 Sigmoid 函数的原理和应用!
热门推荐
成吉思汗:从漠北孤儿到横跨欧亚的草原帝国缔造者
“关”姓:从春秋起源到全球传播的忠义文化象征
《弹弹堂手游》挑战模式通关攻略:勇闯蚁穴与熔岩暴君完全指南
李时珍牙膏:中老年人的口腔护理新选择
李时珍牙膏成分揭秘:中草药的秘密武器
烫发后头皮护理全攻略:从清洁到按摩的专业护理指南
TCL洗衣机保养指南:四步清洁维护让家电持久如新
断电重启、应急装置、震动复位:TCL洗衣机开盖三招
晨起一杯白开水,护心健体不是梦
中医教你早上喝水的正确姿势
武留信、常春推荐:早上喝水的五大好处
宝宝辅食蔬菜大比拼:菠菜PK南瓜
西兰花:名副其实的“营养王者”?
高血压患者也能享受美食?试试这三款健康食谱!
癌症补贴2024年最新标准,得了大病可以申请哪些补助+如何申请补贴
高血压的六大预防措施
衡山旅游全攻略:交通、景点、美食、住宿一文搞定
南岳衡山三日自驾游:自然人文胜地深度探访
创意蔬菜蒸面:健康美味的餐桌新选择
菠菜西兰花胡萝卜,谁才是营养之王?
五彩蔬菜,吃出健康好身材
膳食纤维、维C、维E和叶酸:蔬菜界的四大天王
中医调理脑梗塞:饮食运动情志调摄缺一不可
专家提醒:输液预防脑梗是误区,这样做才科学
为什么新能源物流车越来普及?
国家管网集团云南公司:守护管道安全 筑牢发展根基
腐乳的历史渊源与制作工艺探究
腐乳到底是营养佳品,还是致癌杀手?困扰30多年,终于有答案了
南开研究:格列美脲保护胰岛β细胞,为糖尿病治疗添新选择
格列美脲片怎么吃?医生教你正确使用降糖药