授课语音

逻辑回归:Sigmoid函数、损失函数计算与优化方法

逻辑回归是一种用于分类任务的回归模型,尤其广泛应用于二分类问题(例如,判断一个电子邮件是否为垃圾邮件、预测一个用户是否会购买产品等)。它的核心思想是通过输入特征来预测类别的概率值,而非直接预测类别本身。逻辑回归使用Sigmoid函数将线性回归的输出映射到一个概率值范围(0到1),使得模型能够进行分类。

本文将介绍逻辑回归的关键概念:Sigmoid函数、损失函数的计算方法,以及通过梯度下降进行优化的过程。

1. Sigmoid函数

1.1 Sigmoid函数基本原理

Sigmoid函数(又称逻辑函数)是一个S形的曲线,广泛应用于逻辑回归中,用于将线性回归模型的输出值映射到0到1之间的概率值。Sigmoid函数的公式如下:

σ(z) = 1 / (1 + exp(-z))

其中:

  • z 是线性回归模型的输出,通常形式为 z = w1 * X1 + w2 * X2 + ... + wn * Xn + b,即输入特征的加权和。
  • σ(z) 是Sigmoid函数的输出,表示类别为1的概率值。

Sigmoid函数的输出值总是介于0和1之间,这使得它非常适合用于二分类任务,表示某个样本属于类别1的概率。如果概率值大于0.5,可以将样本分类为类别1,否则分类为类别0。

1.2 Sigmoid函数的图形

Sigmoid函数的图形呈S形,输入值z越大,输出值越接近1;输入值z越小,输出值越接近0。

Sigmoid Curve

2. 损失函数:对数损失函数(Log-Loss)

2.1 逻辑回归的损失函数

在逻辑回归中,我们希望通过最小化损失函数来优化模型的参数。与回归模型的均方误差不同,逻辑回归使用对数损失函数(Log-Loss)来衡量模型预测的准确性。其公式为:

L(y, ŷ) = -[y * log(ŷ) + (1 - y) * log(1 - ŷ)]

其中:

  • y 是样本的真实标签,取值为0或1;
  • ŷ 是模型的预测概率值,即Sigmoid函数的输出。

该损失函数的含义是:如果真实标签y为1,模型应该尽可能预测ŷ为1;如果真实标签y为0,模型应该尽可能预测ŷ为0。对数损失函数的目标是最小化预测概率与真实标签之间的差距。

2.2 对数损失函数的解释

  • 如果预测值ŷ接近真实标签y,损失较小,log(ŷ)或者log(1-ŷ)的值也较小,最终损失较小。
  • 如果预测值ŷ与真实标签y相差较大,损失较大,log(ŷ)或者log(1-ŷ)的值趋向于负无穷大,从而损失函数的值会非常大。

因此,通过最小化对数损失函数,我们能够优化模型参数,使得模型的预测更加准确。

3. 梯度下降法:优化模型

3.1 梯度下降法基本原理

梯度下降法是一种常用的优化算法,通过迭代更新模型参数,使得损失函数的值逐渐减小,从而找到损失函数的最小值。在逻辑回归中,我们使用梯度下降法来优化回归系数(w1, w2, ..., wn)和偏置项(b)。

梯度下降法的更新规则如下:

w_j = w_j - α * ∂L/∂w_j
b = b - α * ∂L/∂b

其中:

  • w_j 是模型参数,表示第j个特征的权重;
  • α 是学习率,控制每次更新的步长;
  • L 是损失函数;
  • ∂L/∂w_j∂L/∂b 分别是损失函数对w_jb的偏导数。

3.2 梯度计算

损失函数的梯度是损失函数关于参数(w_jb)的导数。对于逻辑回归中的对数损失函数,偏导数的计算如下:

3.2.1 对回归系数w_j的偏导数

∂L/∂w_j = 1/n * Σ (ŷ_i - y_i) * X_j

其中:

  • ŷ_i 是样本i的预测概率值;
  • y_i 是样本i的真实标签;
  • X_j 是样本i的第j个特征值。

3.2.2 对偏置项b的偏导数

∂L/∂b = 1/n * Σ (ŷ_i - y_i)

通过计算上述偏导数,梯度下降法会不断更新w_jb,直到找到能够最小化损失函数的参数。

3.3 批量梯度下降与随机梯度下降

在实际应用中,梯度下降法有多种变体,其中常见的有批量梯度下降随机梯度下降(SGD)。

  • 批量梯度下降:使用所有样本计算梯度并更新参数,适用于小规模数据集。
  • 随机梯度下降(SGD):每次只用一个样本计算梯度并更新参数,适用于大规模数据集,收敛速度较快。

4. 逻辑回归训练过程

逻辑回归的训练过程可以简述为以下几个步骤:

  1. 初始化模型参数wb)为随机值或零;
  2. 计算预测值:通过输入特征X和当前模型参数,使用Sigmoid函数计算每个样本的预测概率值ŷ
  3. 计算损失:使用对数损失函数计算当前模型的损失;
  4. 计算梯度:计算损失函数对每个模型参数的偏导数;
  5. 更新参数:使用梯度下降法更新模型参数;
  6. 重复步骤2至步骤5,直到损失收敛。

5. 总结

  • Sigmoid函数将线性回归的输出映射到0到1之间,适用于二分类问题;
  • 对数损失函数(Log-Loss)是逻辑回归的损失函数,用于衡量预测概率与真实标签之间的差距;
  • 梯度下降法通过计算损失函数的梯度来优化模型参数,不断更新权重和偏置项,直到损失最小。

通过掌握这些概念,我们可以有效地训练和优化逻辑回归模型,从而在二分类问题中获得较好的性能。

去1:1私密咨询

系列课程: