您的位置:首页 > 健康 > 美食 > 网购网站有哪些_内容营销是什么意思_东莞网络公司网络推广_百度 个人中心首页

网购网站有哪些_内容营销是什么意思_东莞网络公司网络推广_百度 个人中心首页

2024/12/23 5:21:07 来源:https://blog.csdn.net/IT_ORACLE/article/details/144129671  浏览:    关键词:网购网站有哪些_内容营销是什么意思_东莞网络公司网络推广_百度 个人中心首页
网购网站有哪些_内容营销是什么意思_东莞网络公司网络推广_百度 个人中心首页

Sigmoid 函数是一种常用的激活函数,尤其在神经网络和逻辑回归中扮演重要角色。它将输入的实数映射到区间 (0, 1),形状类似于字母 "S"。


1. 定义与公式

Sigmoid 函数的公式为:

\sigma(x) = \frac{1}{1 + e^{-x}}

特点

  1. 输出范围:(0, 1),适合用于概率预测。
  2. 单调性:是一个单调递增函数。
  3. 对称性:以 x = 0 为中心,对称于 y = 0.5。

2.Sigmoid 函数的推导过程

2-1. 目标与需求

我们希望构造一个函数 f(x) 满足以下性质:

  1. 输出范围:f(x) 的值限定在区间 (0, 1),便于解释为概率。
  2. 平滑性:函数连续且可导,以便使用梯度下降进行优化。
  3. 单调性:函数值随着输入 x 的增大而增大。
  4. 对称性:以 x = 0 为对称中心,输入为 0 时,输出为 0.5,表示不偏不倚的概率。

2-2. 构造 Sigmoid 函数

为了满足这些性质,可以使用指数函数 e^x 的形式,因为指数函数本身是平滑的、单调递增的。

构造输出范围

首先,为了限制输出范围在 (0, 1),我们构造如下函数:

f(x) = \frac{1}{1 + g(x)}

其中 g(x) > 0 保证分母大于 1,因此 f(x) 始终在 (0, 1)。

选择 g(x) = e^{-x},得到:

f(x) = \frac{1}{1 + e^{-x}}

性质验证

  1. 输出范围

    f(x) = \frac{1}{1 + e^{-x}}
    • x \to \inftye^{-x} \to 0f(x) \to 1
    • x \to -\inftye^{-x} \to \inftyf(x) \to 0
  2. 单调性: 指数函数 e^{-x} 单调递减,分母 1 + e^{-x} 随 x 增大而变大,分数值变小,因此 f(x) 单调递增。

  3. 对称性: 令 x = 0,

    f(0) = \frac{1}{1 + e^0} = \frac{1}{2}

    满足 f(0) = 0.5,以 x = 0 为中心对称。


2-3. 导数推导

公式

导数计算如下:

f(x) = \frac{1}{1 + e^{-x}}

对 f(x) 求导:

  1. 分母求导法则:

    \frac{\mathrm{d}}{\mathrm{d}x} \frac{1}{u} = -\frac{1}{u^2} \cdot \frac{\mathrm{d}u}{\mathrm{d}x}
  2. 应用到 f(x): 设 u = 1 + e^{-x},则:

    f'(x) = -\frac{1}{(1 + e^{-x})^2} \cdot (-e^{-x}) = \frac{e^{-x}}{(1 + e^{-x})^2}
  3. 进一步化简:

    f'(x) = \frac{1}{1 + e^{-x}} \cdot \left(1 - \frac{1}{1 + e^{-x}}\right)

    \sigma(x) = \frac{1}{1 + e^{-x}},得:

    f'(x) = \sigma(x) \cdot (1 - \sigma(x))

2-4. 推导的直观解释

概率建模视角

Sigmoid 函数可以看作将线性模型的输出 z = w^T x + b 转换为概率值的过程:

P(y=1|x) = \frac{1}{1 + e^{-z}}

z \to \infty,预测概率接近 1;当 z \to -\infty,预测概率接近 0。

对称性与平滑性

  • 对称性来源于指数函数的性质:负指数 e^{-x} 的曲线是正指数 e^{x} 的镜像。
  • 平滑性来源于指数函数的连续和可导性。

3. Sigmoid 的性质

导数

Sigmoid 的导数具有简洁的形式:

\sigma'(x) = \sigma(x) \cdot (1 - \sigma(x))

这使得计算变得高效。

梯度消失问题

  • 当 x 的绝对值较大时,σ(x) 的值接近 0 或 1,导数接近于 0。这会导致梯度更新过慢的问题,特别是在深层神经网络中。

4. Sigmoid 的用途

  1. 逻辑回归

    • 用于将线性回归的结果转化为二分类概率。
    P(y=1|x) = \frac{1}{1 + e^{-(w^T x + b)}}
  2. 神经网络

    • 作为激活函数,尤其是输出层,用于预测概率值。
  3. 概率建模

    • 用于模型的概率预测或生成。

5. 缺点

  1. 梯度消失
    • 绝对值较大的输入导致梯度趋于 0,影响深层网络的训练。
  2. 非零均值
    • Sigmoid 输出的均值不为零,可能导致下一层神经元的输入分布偏移。

6. 代码实现

以下是 Sigmoid 函数的实现及其应用示例。

Sigmoid 函数

import numpy as np
import matplotlib.pyplot as plt# Sigmoid 函数
def sigmoid(x):return 1 / (1 + np.exp(-x))# Sigmoid 导数
def sigmoid_derivative(x):s = sigmoid(x)return s * (1 - s)# 绘图
x = np.linspace(-10, 10, 100)
y = sigmoid(x)
y_prime = sigmoid_derivative(x)plt.plot(x, y, label='Sigmoid Function')
plt.plot(x, y_prime, label='Sigmoid Derivative', linestyle='--')
plt.title("Sigmoid and Its Derivative")
plt.xlabel("x")
plt.ylabel("f(x)")
plt.legend()
plt.grid()
plt.show()

逻辑回归示例

# 导入必要的库
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score# 生成一个模拟的二分类数据集
# 这里详细说明了数据集的特性:样本数、特征数、类别数、信息特征数、冗余特征数、重复特征数和随机种子
X, y = make_classification(n_samples=100, n_features=4, n_classes=2, n_informative=2, n_redundant=1, n_repeated=0,random_state=0)# 将数据集分为训练集和测试集,测试集大小为30%,并设置了随机种子以保证结果的可重复性
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)# 初始化逻辑回归模型
model = LogisticRegression()
# 使用训练集数据训练模型
model.fit(X_train, y_train)# 使用训练好的模型对测试集进行预测
y_pred = model.predict(X_test)
# 打印模型的准确率
print("Accuracy:", accuracy_score(y_test, y_pred))

输出结果

Accuracy: 0.9

7. Sigmoid 的替代品

为了克服 Sigmoid 的缺点,神经网络中常用以下替代激活函数:

  1. ReLU(Rectified Linear Unit): f(x) = max(0, x)
  2. Leaky ReLUf(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases}
  3. Tanhf(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} 输出范围为 (-1, 1)。

Sigmoid 函数虽然简单,但由于其梯度问题和计算开销,在深度学习中逐渐被其他激活函数所取代。不过,它在概率建模等领域仍然非常实用!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com