一、基本概念
-
定义与用途
- 逻辑回归主要用于二分类问题,例如预测一个用户是否会购买某产品(是/否)、一封邮件是否是垃圾邮件(是/否)等。它也可以扩展到多分类问题,但本质上是通过组合多个二分类来实现的。
- 逻辑回归模型输出的是事件发生的概率,而不是像线性回归那样直接输出一个数值。
-
与线性回归的区别
- 线性回归的目标是预测一个连续的数值变量,如房价、温度等。其假设因变量和自变量之间是线性关系,并且误差项服从正态分布。
- 逻辑回归的目标是分类,它将线性回归的输出通过一个非线性的函数(如sigmoid函数)进行转换,将结果映射到0 - 1之间,表示事件发生的概率。
-
概率解释
-
设 p p p为事件发生的概率,逻辑回归模型可以表示为 p = 1 1 + e − z p = \frac{1}{1 + e^{-z}} p=1+e−z1,其中 z = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β n x n z=\beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_nx_n z=β0+β1x1+β2x2+⋯+βnxn, β i \beta_i βi是模型的系数, x i x_i xi是自变量。
-
例如,当 z = 0 z = 0 z=0时, p = 1 1 + e 0 = 0.5 p=\frac{1}{1 + e^{0}} = 0.5 p=1+e01=0.5;当 z → + ∞ z\to+\infty z→+∞时, p → 1 p\to1 p→1;当 z → − ∞ z\to-\infty z→−∞时, p → 0 p\to0 p→0。
-
二、模型估计(参数估计)
-
极大似然估计(MLE)
- 逻辑回归通常使用极大似然估计来估计模型的参数 β i \beta_i βi。假设我们有 n n n个观测样本 ( x i , y i ) (x_i,y_i) (xi,yi),其中 y i y_i yi是二元变量(0或1)。
- 似然函数 L ( β ) = ∏ i = 1 n p ( x i ) y i ( 1 − p ( x i ) ) 1 − y i L(\beta)=\prod_{i = 1}^{n}p(x_i)^{y_i}(1 - p(x_i))^{1 - y_i} L(β)=∏i=1np(xi)yi(1−p(xi))1−yi,其中 p ( x i ) p(x_i) p(xi)是根据逻辑回归模型计算出的第 i i i个样本事件发生的概率。
- 通过最大化似然函数(或者等价地,最大化对数似然函数)来求解 β \beta β的值。
-
梯度下降算法(优化算法)
- 为了找到使似然函数最大的参数 β \beta β,可以使用梯度下降算法。梯度下降算法通过迭代地更新参数来最小化损失函数(在极大似然估计中,损失函数是负对数似然函数)。
- 对于逻辑回归的损失函数 J ( β ) = − 1 m ∑ i = 1 m [ y i ln ( p ( x i ) ) + ( 1 − y i ) ln ( 1 − p ( x i ) ) ] J(\beta)=-\frac{1}{m}\sum_{i = 1}^{m}[y_i\ln(p(x_i))+(1 - y_i)\ln(1 - p(x_i))] J(β)=−m1∑i=1m[yiln(p(xi))+(1−yi)ln(1−p(xi))],其中 m m m是样本数量。
- 参数更新公式为 β j = β j − α ∂ J ( β ) ∂ β j \beta_j=\beta_j-\alpha\frac{\partial J(\beta)}{\partial\beta_j} βj=βj−α∂βj∂J(β),其中 α \alpha α是学习率,控制每次更新的步长。
三、模型评估
-
混淆矩阵
- 用于评估分类模型的性能,它是一个 2 × 2 2\times2 2×2的矩阵,包括真正例(True Positive,TP)、假正例(False Positive,FP)、真反例(True Negative,TN)和假反例(False Negative,FN)。
- 例如,在预测疾病是否存在的场景中,TP表示患者被正确诊断为患病,FP表示健康人被误诊为患病,TN表示健康人被正确诊断为健康,FN表示患者被误诊为健康。
-
准确率(Accuracy)
- 定义为 A c c u r a c y = T P + T N T P + F P + T N + F N Accuracy=\frac{TP + TN}{TP+FP+TN+FN} Accuracy=TP+FP+TN+FNTP+TN,它衡量了模型正确分类的样本比例。
-
精确率(Precision)和召回率(Recall)
- 精确率 P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP + FP} Precision=TP+FPTP,它表示在被预测为正例的样本中真正为正例的比例。
- 召回率 R e c a l l = T P T P + F N Recall=\frac{TP}{TP + FN} Recall=TP+FNTP,它表示实际为正例的样本中被正确预测为正例的比例。
-
F1 - Score
- F 1 − S c o r e = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1 - Score=\frac{2\times Precision\times Recall}{Precision + Recall} F1−Score=Precision+Recall2×Precision×Recall,它是精确率和召回率的调和平均数,用于综合评估模型的性能。
-
ROC曲线和AUC值
- ROC(Receiver Operating Characteristic)曲线是以假正率(False Positive Rate, F P R = F P F P + T N FPR=\frac{FP}{FP + TN} FPR=FP+TNFP)为横轴,真正率(True Positive Rate, T P R = T P T P + F N TPR=\frac{TP}{TP + FN} TPR=TP+FNTP)为纵轴绘制的曲线。
- AUC(Area Under the Curve)是ROC曲线下的面积,取值范围是0.5到1。AUC值越大,模型的分类性能越好,当AUC = 0.5时,表示模型的分类效果等同于随机猜测。
四、特征工程与模型应用
-
特征选择
- 选择与目标变量相关的特征对于逻辑回归模型的性能至关重要。可以使用相关系数分析、卡方检验等方法来筛选特征。
- 例如,在预测客户流失的模型中,如果发现客户的年龄和消费频率与流失与否高度相关,而客户的注册时间与流失关系不大,就可以选择年龄和消费频率作为重要特征。
-
特征缩放
- 由于逻辑回归对特征的尺度敏感,在模型训练之前通常需要对特征进行缩放。常见的方法有标准化( x ′ = x − μ σ x'=\frac{x - \mu}{\sigma} x′=σx−μ,其中 μ \mu μ是均值, σ \sigma σ是标准差)和归一化( x ′ = x − x m i n x m a x − x m i n x'=\frac{x - x_{min}}{x_{max}-x_{min}} x′=xmax−xminx−xmin)。
-
模型应用场景
- 逻辑回归在许多领域都有广泛的应用,如金融领域的信用风险评估(判断客户是否会违约)、医疗领域的疾病诊断(判断患者是否患病)、市场营销领域的客户响应预测(判断客户是否会对营销活动做出响应)等。