逻辑回归:疾病风险概率建模
逻辑回归(Logistic Regression)尽管名称中含有'回归',但它实际上是一种广泛应用于分类任务的线性模型。在医疗领域,逻辑回归因其简单、高效、可解释性强,以及能够输出概率值的特点,成为疾病风险预测、诊断辅助、预后评估等任务的基石算法。本文将从算法原理出发,深入解析逻辑回归在医疗场景中的适用性,并通过实战案例展示从数据预处理、模型训练、结果解释到临床应用的完整流程。
算法原理
逻辑回归的核心思想是:通过线性回归的输出来估计样本属于某个类别的概率。它使用一个非线性函数(Sigmoid 函数)将线性组合的实数输出映射到 0 到 1 之间的概率值,从而解决分类问题。
从线性回归到逻辑回归
线性回归模型试图用特征的线性组合来预测一个连续值:
[ z = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + … + \theta_p x_p = \theta^T x ]
其中 $\theta$ 是模型参数(包括偏置项 $\theta_0$),$x$ 是特征向量。
对于二分类问题,我们希望输出一个概率值,即 $P(y=1|x)$,这个概率应该在 0 到 1 之间。线性回归的输出范围是 $(-\infty, +\infty)$,无法直接作为概率。因此,我们需要一个链接函数将线性输出映射到 (0,1) 区间。
逻辑回归采用的链接函数是 Sigmoid 函数(也称为 Logistic 函数):
[ \sigma(z) = \frac{1}{1 + e^{-z}} ]
Sigmoid 函数具有 S 形曲线,将任意实数映射到 (0,1) 之间,且当 $z=0$ 时输出为 0.5。
因此,逻辑回归模型表示为:
[ P(y=1|x) = \sigma(\theta^T x) = \frac{1}{1 + e^{-\theta^T x}} ]
而 $P(y=0|x) = 1 - P(y=1|x)$。
决策边界
逻辑回归的决策边界由 $\theta^T x = 0$ 决定,它是一个线性超平面。因此,逻辑回归本质上是一个线性分类器——它假设特征与对数几率(log-odds)呈线性关系。
当 $\theta^T x > 0$ 时,$P(y=1|x) > 0.5$,预测为正类;当 $\theta^T x < 0$ 时,预测为负类。决策边界可以调整,通过改变分类阈值(如从 0.5 降到 0.3),可以控制模型的灵敏度与特异度。
模型估计:极大似然估计
逻辑回归的参数 $\theta$ 通常通过极大似然估计(Maximum Likelihood Estimation, MLE)求解。似然函数表示在给定参数下观测到当前数据的概率。对于二分类问题,假设有 $m$ 个训练样本 ${(x^{(i)}, y^{(i)})}$,其中 $y^{(i)} \in {0,1}$,则似然函数为:
[ L(\theta) = \prod_{i=1}^{m} P(y^{(i)}|x^{(i)};\theta) = \prod_{i=1}^{m} \left( \sigma(\theta^T x^{(i)}) \right)^{y^{(i)}} \left(1 - \sigma(\theta^T x^{(i)})\right)^{1-y^{(i)}} ]
为便于计算,通常取对数,得到对数似然函数:
[ \ell(\theta) = \sum_{i=1}^{m} \left[ y^{(i)} \log(\sigma(\theta^T x^{(i)})) + (1-y^{(i)}) \log(1 - \sigma(\theta^T x^{(i)})) \right] ]
极大似然估计的目标是最大化 $\ell(\theta)$,等价于最小化交叉熵损失函数(或称为对数损失):
[ J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(\hat{y}^{(i)}) + (1-y^{(i)}) \log(1-\hat{y}^{(i)}) \right] ]
其中 $\hat{y}^{(i)} = \sigma(\theta^T x^{(i)})$。
梯度下降与优化
由于没有闭式解,通常使用迭代优化算法(如梯度下降法、牛顿法)求解参数。梯度下降的更新规则为:


