逻辑回归(Logistic Regression)算法的原理与二分类计算过程
字数 1831 2025-12-05 14:25:39
逻辑回归(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)可防止过拟合。