什么是逻辑回归?
逻辑回归是用于二分类问题的经典算法。尽管名字里有"回归",但它实际上是一个分类算法。
回归 vs 分类:线性回归预测"多少"(如房价),逻辑回归回答"哪一个"(如是或否)。
核心直觉:通过 Sigmoid 函数将线性输出压缩到 [0, 1] 区间,表示属于正类的概率。
典型问题:某邮件是否是垃圾邮件?某用户是否会订阅服务?某图像是猫还是狗?
🎯 适用场景
- 二分类问题:预测只有两种可能结果的问题
- 需要概率输出:不仅想知道分类结果,还想知道"有多确定"
- 高可解释性需求:需要解释每个特征对结果的贡献
- 快速基线模型:作为复杂模型的对比基准
- 线性可分数据:数据可以被一条直线(或超平面)大致分开
💡 经典应用:垃圾邮件检测、疾病诊断、信用评分、广告点击预测
📜 历史渊源
问题背景:线性回归能预测连续值,但现实中很多问题是"是或否"——这封邮件是不是垃圾邮件?这个肿瘤是良性还是恶性?需要一种输出概率的方法。
关键突破:1838年,比利时数学家 Verhulst 为了描述人口增长的"天花板效应",发明了 Logistic 函数(S 形曲线)。120年后的1958年,统计学家 David Cox 灵光一现:把这条 S 曲线用来做分类——输出值天然在 0~1 之间,正好可以解释为概率!
深远影响:逻辑回归至今仍是工业界最常用的分类算法之一。它简单、快速、可解释,是广告点击率预测、信用评分、医学诊断的标准基线方法。
趣闻:"Logistic"这个名字来源于 Verhulst 对人口增长曲线的命名,与"逻辑"(Logic)毫无关系!中文翻译成"逻辑回归"纯属历史巧合,叫"对数几率回归"更准确。
🔗 发展脉络
⚠️ 局限性
- 线性决策边界:只能学习线性分类边界,无法处理复杂的非线性关系
- 特征独立假设:假设特征之间相对独立,共线性会影响参数估计
- 对异常值敏感:极端数据点会显著影响模型参数
- 完全分离问题:当数据完全可分时,参数估计会趋向无穷大
- 需要特征工程:对于非线性问题,需要手动添加多项式特征
💡 这些局限催生了:SVM(核函数处理非线性)、神经网络(自动特征学习)、决策树(非线性分割)
🏢 工业界地位
逻辑回归在工业界仍然是最常用的二分类算法之一:
- 金融风控:信用评分卡(Scorecard)的核心算法
- 广告推荐:点击率预估(CTR)的基线模型
- 医疗诊断:疾病风险评估,需要可解释性
- A/B测试:用户行为预测和转化分析
🎯 为什么还在用?训练速度快、预测效率高、结果可解释(权重直接反映特征重要性)、概率输出天然支持置信度评估。在大规模工业场景中,简单的逻辑回归往往比复杂模型更实用。
交互式可视化
观察决策边界如何将两类数据分开
- 拖动决策边界的位置,观察分类准确率如何变化——找到最佳分割线
- 增大数据的「重叠度」,观察即使最优边界也无法完美分开——这就是现实数据的样子
- 观察 Sigmoid 曲线:靠近边界的点概率接近 0.5(不确定),远离的点接近 0 或 1(非常确定)
决策函数:
决策边界方程:
💡 提示:决策边界是 z = 0 的直线。调整参数观察边界如何移动!
类别 0 概率 > 0.5 类别 1 概率 > 0.5
数学原理
逻辑回归使用 Sigmoid 函数将线性输出映射到概率:
其中 z 是线性组合:
为什么用 Sigmoid?
- 输出范围 (0, 1),符合概率定义
- 导数优美:$\sigma'(z) = \sigma(z)(1-\sigma(z))$
- 与最大似然估计自然联系
损失函数(交叉熵/对数损失):
信息论视角:交叉熵衡量两个概率分布的差异。我们希望模型的预测分布尽可能接近真实分布。
梯度(非常简洁!):
🎯 关键洞察:
• 梯度形式与线性回归相同:$(\hat{y} - y)x$,只是 $\hat{y}$ 的计算方式不同
• 当 z = 0 时,σ(z) = 0.5,这是决策边界
• 决策边界是线性的,但概率变化是非线性的(S型曲线)
• 交叉熵损失 + Sigmoid = 凸优化问题,有唯一最优解
扩展到多分类:使用 Softmax 回归