逻辑回归(Logistic Regression)算法的原理与二分类计算过程
字数 1831 2025-12-05 14:25:39

逻辑回归(Logistic Regression)算法的原理与二分类计算过程

我将为你讲解逻辑回归算法的核心原理、建模思路以及具体的计算步骤,让你理解它如何处理二分类问题。

题目描述
逻辑回归是一种经典的线性分类模型,用于解决二分类问题(如预测邮件是否为垃圾邮件、判断肿瘤是良性还是恶性等)。尽管名字中有“回归”,但实际上用于分类。它的核心思想是:通过对数几率(log-odds)进行线性建模,再通过Sigmoid函数将线性结果映射到[0,1]区间,得到样本属于正类的概率,最后通过设定阈值(通常为0.5)进行分类决策。我们需要理解其模型假设、概率表示、损失函数推导及参数优化过程。

解题过程逐步讲解

第一步:问题建模与基本思路

  1. 在二分类中,我们想要预测某个样本属于正类(y=1)的概率P(y=1|x),其中x是特征向量。
  2. 直接使用线性回归模型(z = wᵀx + b)输出连续值不适合表示概率,因为其输出范围是(-∞, +∞),无法限定在[0,1]。
  3. 逻辑回归的巧妙之处:先对“几率”(odds,即P/(1-P))取自然对数,称为“对数几率”(logit),并假设它与特征x呈线性关系:
    log(P/(1-P)) = wᵀx + b
  4. 通过这个假设,我们就能用线性函数来刻画分类边界,同时保证输出是概率。

第二步:Sigmoid函数与概率表达式

  1. 对上述等式进行变换,可以解出P(y=1|x):
    P = 1 / (1 + e^-(wᵀx+b))
  2. 这个表达式正是Sigmoid函数(也称为Logistic函数)的形式:σ(z) = 1/(1+e⁻ᶻ),其中z = wᵀx + b。
  3. Sigmoid函数将线性组合z映射到(0,1)之间,具备良好的可导性,其输出可解释为概率。
  4. 因此,逻辑回归模型为:
    P(y=1|x; w,b) = σ(wᵀx + b)
    P(y=0|x; w,b) = 1 - σ(wᵀx + b)

第三步:构造损失函数(极大似然估计)

  1. 为了训练模型,需要定义损失函数来度量预测概率与真实标签的差距。
  2. 对于单个样本(x,y),其概率可统一写为:
    P(y|x; w,b) = (σ(z))ʸ · (1-σ(z))¹⁻ʸ (当y=1时取前项,y=0时取后项)
  3. 假设有m个独立同分布的样本,则似然函数为所有样本概率的乘积:
    L(w,b) = ∏ᵢ P(y⁽ⁱ⁾|x⁽ⁱ⁾; w,b)
  4. 为方便计算,取对数似然函数(将乘法转为加法):
    ℓ(w,b) = ∑ᵢ [ y⁽ⁱ⁾ log σ(z⁽ⁱ⁾) + (1-y⁽ⁱ⁾) log (1-σ(z⁽ⁱ⁾)) ]
  5. 我们的目标是最大化对数似然函数,这等价于最小化其负值,由此得到损失函数(即交叉熵损失):
    J(w,b) = -1/m ∑ᵢ [ y⁽ⁱ⁾ log σ(z⁽ⁱ⁾) + (1-y⁽ⁱ⁾) log (1-σ(z⁽ⁱ⁾)) ]

第四步:梯度计算与参数优化

  1. 通常使用梯度下降法优化参数w和b。为此需要计算损失函数对参数的梯度。
  2. 首先求Sigmoid函数的导数:σ'(z) = σ(z)(1-σ(z))。
  3. 计算损失函数对线性组合z⁽ⁱ⁾的偏导:
    ∂J/∂z⁽ⁱ⁾ = σ(z⁽ⁱ⁾) - y⁽ⁱ⁾ (经过推导,形式非常简单)
  4. 再根据链式法则,求对参数wⱼ(第j个权重)的偏导:
    ∂J/∂wⱼ = 1/m ∑ᵢ (σ(z⁽ⁱ⁾)-y⁽ⁱ⁾) xⱼ⁽ⁱ⁾
    同理,对偏置b的偏导:∂J/∂b = 1/m ∑ᵢ (σ(z⁽ⁱ⁾)-y⁽ⁱ⁾)
  5. 梯度下降更新公式(α为学习率):
    wⱼ := wⱼ - α · ∂J/∂wⱼ
    b := b - α · ∂J/∂b
  6. 迭代更新直到收敛,得到最优参数w和b

第五步:模型预测与决策

  1. 训练完成后,对于新样本x_new,计算z = wᵀx_new + b,再通过Sigmoid得到概率:
    p = σ(z) = 1/(1+e⁻ᶻ)
  2. 设定阈值(通常为0.5):
    • 若p ≥ 0.5,预测为正类(ŷ=1)
    • 若p < 0.5,预测为负类(ŷ=0)
  3. 阈值可根据实际问题调整(如对查全率要求高时降低阈值)。

总结
逻辑回归通过Sigmoid函数将线性回归的输出转化为概率,利用极大似然估计推导出交叉熵损失,并用梯度下降优化参数。整个过程清晰、可解释性强,是理解分类模型的基础。其扩展(如Softmax回归)可处理多分类问题,而加入正则化(L1/L2)可防止过拟合。

逻辑回归(Logistic Regression)算法的原理与二分类计算过程 我将为你讲解逻辑回归算法的核心原理、建模思路以及具体的计算步骤,让你理解它如何处理二分类问题。 题目描述 逻辑回归是一种经典的线性分类模型,用于解决二分类问题(如预测邮件是否为垃圾邮件、判断肿瘤是良性还是恶性等)。尽管名字中有“回归”,但实际上用于分类。它的核心思想是:通过对数几率(log-odds)进行线性建模,再通过Sigmoid函数将线性结果映射到[ 0,1 ]区间,得到样本属于正类的概率,最后通过设定阈值(通常为0.5)进行分类决策。我们需要理解其模型假设、概率表示、损失函数推导及参数优化过程。 解题过程逐步讲解 第一步:问题建模与基本思路 在二分类中,我们想要预测某个样本属于正类(y=1)的概率P(y=1|x),其中x是特征向量。 直接使用线性回归模型(z = wᵀx + b)输出连续值不适合表示概率,因为其输出范围是(-∞, +∞),无法限定在[ 0,1 ]。 逻辑回归的巧妙之处:先对“几率”(odds,即P/(1-P))取自然对数,称为“对数几率”(logit),并假设它与特征x呈线性关系: log(P/(1-P)) = wᵀx + b 通过这个假设,我们就能用线性函数来刻画分类边界,同时保证输出是概率。 第二步:Sigmoid函数与概率表达式 对上述等式进行变换,可以解出P(y=1|x): P = 1 / (1 + e^-(wᵀx+b)) 这个表达式正是Sigmoid函数(也称为Logistic函数)的形式:σ(z) = 1/(1+e⁻ᶻ),其中z = wᵀx + b。 Sigmoid函数将线性组合z映射到(0,1)之间,具备良好的可导性,其输出可解释为概率。 因此,逻辑回归模型为: P(y=1|x; w,b) = σ(wᵀx + b) P(y=0|x; w,b) = 1 - σ(wᵀx + b) 第三步:构造损失函数(极大似然估计) 为了训练模型,需要定义损失函数来度量预测概率与真实标签的差距。 对于单个样本(x,y),其概率可统一写为: P(y|x; w,b) = (σ(z))ʸ · (1-σ(z))¹⁻ʸ (当y=1时取前项,y=0时取后项) 假设有m个独立同分布的样本,则似然函数为所有样本概率的乘积: L(w,b) = ∏ᵢ P(y⁽ⁱ⁾|x⁽ⁱ⁾; w,b) 为方便计算,取对数似然函数(将乘法转为加法): ℓ(w,b) = ∑ᵢ [ y⁽ⁱ⁾ log σ(z⁽ⁱ⁾) + (1-y⁽ⁱ⁾) log (1-σ(z⁽ⁱ⁾)) ] 我们的目标是最大化对数似然函数,这等价于最小化其负值,由此得到损失函数(即交叉熵损失): J(w,b) = -1/m ∑ᵢ [ y⁽ⁱ⁾ log σ(z⁽ⁱ⁾) + (1-y⁽ⁱ⁾) log (1-σ(z⁽ⁱ⁾)) ] 第四步:梯度计算与参数优化 通常使用梯度下降法优化参数w和b。为此需要计算损失函数对参数的梯度。 首先求Sigmoid函数的导数:σ'(z) = σ(z)(1-σ(z))。 计算损失函数对线性组合z⁽ⁱ⁾的偏导: ∂J/∂z⁽ⁱ⁾ = σ(z⁽ⁱ⁾) - y⁽ⁱ⁾ (经过推导,形式非常简单) 再根据链式法则,求对参数wⱼ(第j个权重)的偏导: ∂J/∂wⱼ = 1/m ∑ᵢ (σ(z⁽ⁱ⁾)-y⁽ⁱ⁾) xⱼ⁽ⁱ⁾ 同理,对偏置b的偏导:∂J/∂b = 1/m ∑ᵢ (σ(z⁽ⁱ⁾)-y⁽ⁱ⁾) 梯度下降更新公式(α为学习率): wⱼ := wⱼ - α · ∂J/∂wⱼ b := b - α · ∂J/∂b 迭代更新直到收敛,得到最优参数w 和b 。 第五步:模型预测与决策 训练完成后,对于新样本x_ new,计算z = w ᵀx_ new + b ,再通过Sigmoid得到概率: p = σ(z) = 1/(1+e⁻ᶻ) 设定阈值(通常为0.5): 若p ≥ 0.5,预测为正类(ŷ=1) 若p < 0.5,预测为负类(ŷ=0) 阈值可根据实际问题调整(如对查全率要求高时降低阈值)。 总结 逻辑回归通过Sigmoid函数将线性回归的输出转化为概率,利用极大似然估计推导出交叉熵损失,并用梯度下降优化参数。整个过程清晰、可解释性强,是理解分类模型的基础。其扩展(如Softmax回归)可处理多分类问题,而加入正则化(L1/L2)可防止过拟合。