ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

线性回归与逻辑回归概念及对比

线性回归与逻辑回归概念及对比

线性模型笔记

线性回归与逻辑回归

一、线性回归 (Linear Regression)

1. 概念

线性回归是一种用于预测连续型数值的监督学习算法。它试图找到一条直线(或一个超平面),使得预测值与真实值之间的误差最小。

2. 原理

给定输入特征 x=(x1,x2,…,xn),模型假设输出 y,y可以近似表示为特征的线性组合:y=wx=b其中 w 是权重向量,b 是偏置项。通常使用均方误差即最小化预测值与真实值之差的平方和(MSE) 作为损失函数,并通过最小二乘法或梯度下降法来最小化损失函数。

3. 适用范围

· 目标变量是连续数值(如房价预测、气温预测、销售额预测)。
· 特征与目标之间存在近似线性关系。
· 数据特征之间存在一定的独立性(需注意多重共线性问题)。

4. 实现逻辑

  1. 初始化模型参数(权重和偏置)。
  2. 计算当前参数下的预测值。
  3. 计算损失函数(MSE)。
  4. 使用梯度下降算法更新参数,不断迭代直到损失收敛。

5. Sklearn实现的关键代码及理解

fromsklearn.linear_modelimportLinearRegressionfromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportmean_squared_errorimportnumpyasnp# 假设 X 为特征数据,y 为目标连续值X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)# 1. 实例化模型model=LinearRegression()# 2. 训练模型 (拟合数据)model.fit(X_train,y_train)# 3. 预测y_pred=model.predict(X_test)# 4. 评估模型mse=mean_squared_error(y_test,y_pred)print(f"均方误差:{mse}")print(f"权重系数:{model.coef_}")print(f"截距:{model.intercept_}")

理解:LinearRegression 默认使用普通最小二乘法求解。coef_ 表示各个特征对预测结果的影响程度,intercept_ 是截距。

二、逻辑回归 (Logistic Regression)

1. 概念

逻辑回归虽然名字里带有“回归”,但它实际上是一种分类算法,主要用于解决二分类问题(也可以扩展到多分类)。它输出的是样本属于某个类别的概率。

2. 原理

逻辑回归在线性回归的基础上,它在线性组合的基础上叠加 Sigmoid 函数,将输出压缩到 (0,1) 区间,解释为样本属于正类的概率表示概率。
其损失函数为对数损失函数 (Log Loss / Cross-Entropy Loss),通过极大似然估计推导得出。

3. 适用范围

· 二分类问题(如垃圾邮件判断、疾病诊断、客户流失预测)。
· 需要输出分类概率的场景。
· 特征与Logit(对数几率)呈线性关系。

4. 实现逻辑

  1. 计算特征的线性组合 z = w^T x + b。

  2. 将 z输入 Sigmoid 函数,得到概率

  3. 计算交叉熵损失。

  4. 利用梯度下降法更新参数。

  5. 设定阈值(通常为0.5),将概率转换为类别。

5. Sklearn实现的关键代码及理解

fromsklearn.linear_modelimportLogisticRegressionfromsklearn.metricsimportaccuracy_score,classification_report# 假设 X 为特征,y 为类别标签 (0或1)X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)# 1. 实例化模型 (可设置正则化参数penalty, C等防止过拟合)model=LogisticRegression()# 2. 训练模型model.fit(X_train,y_train)# 3. 预测类别和概率y_pred=model.predict(X_test)y_prob=model.predict_proba(X_test)# 查看属于各类别的概率# 4. 评估print(classification_report(y_test,y_pred))

理解:LogisticRegression 中可以通过 penalty 参数选择 L1 或 L2 正则化。predict_proba 返回的是概率值,这对于需要设定不同阈值来调整精确率和召回率的业务非常重要。

三、线性回归与逻辑回归的对比

  1. 联系

· 同属广义线性模型 (GLM):两者都假设输出变量与输入特征之间存在线性组合的关系。
· 优化方法相似:都可以使用梯度下降等优化算法进行参数求解。
· 特征处理相似:都需要对特征进行标准化/归一化处理,且对异常值较为敏感。

2.对比

对比维度 线性回归 逻辑回归
任务类型 回归(预测连续值) 分类(预测类别)
输出范围 (−∞,+∞) (0,1) 的概率值
核心变换 无额外变换,直接输出线性结果 线性结果经 Sigmoid 映射
损失函数 均方误差(MSE) 交叉熵损失(对数损失)
误差假设 误差服从正态分布 无需正态假设,因变量服从二项分布
参数求解 最小二乘法、梯度下降 极大似然估计、梯度下降
评估指标 MSE、RMSE、MAE、R^2 准确率、精确率、召回率、AUC

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进