逻辑回归
00:00
逻辑回归原理、Sigmoid函数、交叉熵损失、多分类扩展与正则化。
1. 逻辑回归模型
逻辑回归是分类算法(尽管名字含”回归”),通过 Sigmoid 函数将线性输出映射到概率。
1.1 Sigmoid函数
性质:
- 输出范围 ,可解释为概率
- 导数:
1.2 模型定义
对数几率(Log-Odds):
逻辑回归本质是对对数几率进行线性建模。
1.3 决策边界
- → 预测为正类
- → 预测为负类
决策边界是特征空间中的线性超平面。
2. 交叉熵损失
2.1 损失函数
对于二分类问题,使用二元交叉熵(Binary Cross-Entropy):
其中 。
直觉理解:
| 真实标签 | 预测概率 | 损失 |
|---|---|---|
| (小) | ||
| (大) | ||
| (小) | ||
| (大) |
2.2 梯度计算
注意:逻辑回归的梯度形式与线性回归完全相同(),但 的计算方式不同。
2.3 极大似然估计
交叉熵损失等价于极大似然估计的对数似然取负:
其中似然函数:
3. 多分类扩展
3.1 One-vs-Rest(OvR)
将 分类问题转化为 个二分类问题:
类别1 vs 非类别1 → 分类器1
类别2 vs 非类别2 → 分类器2
类别3 vs 非类别3 → 分类器3
...
预测时选择置信度最高的类别。
3.2 Softmax回归
直接建模多类概率分布:
多类交叉熵损失:
其中 为 one-hot 编码。
Softmax梯度:
3.3 OvR vs Softmax
| 维度 | OvR | Softmax |
|---|---|---|
| 分类器数 | 个 | 1个 |
| 概率校准 | 不可靠 | 天然归一化 |
| 训练效率 | 可并行 | 需同时优化 |
| 适用场景 | 类别数多 | 类别数适中 |
4. 正则化与优化
4.1 正则化
L1正则化:
L2正则化:
Elastic Net:
4.2 优化算法
| 算法 | 说明 | 适用场景 |
|---|---|---|
| 梯度下降 | 通用 | 大规模数据 |
| IRLS | 迭代重加权最小二乘 | 小规模数据 |
| L-BFGS | 拟牛顿法 | 中等规模 |
| SGD/Adam | 随机优化 | 大规模在线学习 |
| 坐标下降 | L1正则化专用 | 高维稀疏数据 |
5. 模型评估与调优
5.1 分类评估指标
| 指标 | 公式 | 说明 |
|---|---|---|
| 准确率 | 整体正确率 | |
| 精确率 | 预测为正的准确率 | |
| 召回率 | 正样本被识别率 | |
| F1 | 精确率与召回率的调和平均 |
5.2 阈值选择
默认阈值为0.5,但可根据业务需求调整:
- 提高召回率:降低阈值(如0.3),适用于疾病筛查
- 提高精确率:提高阈值(如0.7),适用于垃圾邮件过滤
ROC曲线:绘制不同阈值下的TPR vs FPR
AUC:ROC曲线下面积,衡量分类器整体性能
5.3 类别不平衡处理
| 方法 | 说明 |
|---|---|
| 过采样 | SMOTE生成少数类样本 |
| 欠采样 | 减少多数类样本 |
| 类别权重 | 代价敏感学习,class_weight='balanced' |
| 阈值调整 | 根据类别比例调整决策阈值 |