🎙️ 语音朗读
当前: 晓晓 (温柔女声)
逻辑回归与二分类问题
逻辑回归虽然名字中有”回归”,但实际是一种分类算法,广泛用于二分类问题。
从线性回归到逻辑回归
线性回归的输出是连续值,而分类问题需要输出概率。逻辑回归通过Sigmoid函数将线性输出映射到(0,1)区间:
$$P(y=1|\mathbf{x}) = \sigma(\mathbf{w}^T\mathbf{x} + b) = \frac{1}{1 + e^{-(\mathbf{w}^T\mathbf{x} + b)}}$$
手动实现逻辑回归
1 | import numpy as np |
损失函数:交叉熵
逻辑回归使用交叉熵作为损失函数:
$$L = -\frac{1}{n}\sum_{i=1}^{n}[y_i\log(\hat{y}_i) + (1-y_i)\log(1-\hat{y}_i)]$$
1 | def cross_entropy_loss(y_true, y_pred, eps=1e-15): |
决策边界
逻辑回归的决策边界是线性的。对于二维特征:
1 | import matplotlib.pyplot as plt |
正则化逻辑回归
1 | from sklearn.linear_model import LogisticRegression as SklearnLR |
多分类扩展
逻辑回归可以通过OvR(One-vs-Rest)或Softmax回归扩展到多分类:
1 | class SoftmaxRegression: |
模型评估指标
1 | from sklearn.metrics import (accuracy_score, precision_score, |
ROC曲线与AUC
1 | from sklearn.metrics import roc_curve, auc |
总结
逻辑回归是二分类问题的基线模型,通过Sigmoid函数实现概率输出。它简单高效、可解释性强,在实际业务中广泛使用。通过正则化可以防止过拟合,通过OvR或Softmax可以扩展到多分类问题。理解逻辑回归是学习更复杂分类算法的基础。