【机器学习】回归模型总结笔记|线性回归&岭回归&Lasso回归&决策树回归&随机森林回归&梯度提升回归&支持向量回归&XGBoost回归&LightGBM回归&神经网络回归

在微信公众号上看到一篇总结十大回归模型的帖子,感觉很不错,分享给各位。

微信公众平台 (qq.com)

        在此基于该文章已有的总结再加以自己的理解与整理,如有不正确的地方期待大佬们在评论区中指出。

  • 线性回归(Linear Regression)

线性回归就是要找一条直线,并且让这条直线尽可能地拟合图中的数据点。

如果有两个特征,就是二元线性回归,要拟合的就是二维空间中的一个平面。如果有多个特征,那就是多元线性回归

因此使用线性回归,需要遵守下面几个假设:

  • 线性回归是一个回归问题;
  • 要预测的变量 y 与自变量 x 的关系是线性的;
  • 各项误差服从正太分布,均值为0,与 x 同方差;

误差可以表示为误差 = 实际值 - 预测值。线性回归允许预测值与真实值之间存在误差,随着数据量的增多,这些数据的误差平均值为0;从图形上来看,各个真实值可能在直线上方,也可能在直线下方,当数据足够多时,各个数据上上下下相互抵消。如果误差不服从均值为零的正太分布,那么很有可能是出现了一些异常值。

  • 变量 x 的分布要有变异性;
  • 多元线性回归中不同特征之间应该相互独立,避免线性相关;

如果不同特征不是相互独立,那么可能导致特征间产生共线性,从而导致模型不准确。

优缺点和适用场景

优点:

  • 简单易于理解和实现。

  • 在数据线性关系较强时表现良好。

缺点:

  • 对异常值和噪声敏感。

  • 仅能捕捉线性关系,无法处理非线性关系。

适用场景:

  • 数据呈现线性关系。

  • 对解释性要求较高的情况。

参考文章:

线性回归模型详解(Linear Regression)-CSDN博客

  • 逻辑回归(Logistic regressions)

Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。

实际上,逻辑回归算法的拟合函数,叫做sigmond函数

逻辑回归的原理是用逻辑函数把线性回归的结果从(-∞,∞)映射到(0,1)

几乎所有的分类问题都可以使用逻辑回归来实现 相对于神经网络与支持向量机其内部含义更好解释 不会和一个黑箱一般难以解释 解释性较强

虽然是回归但最终依旧是分类问题,因为其所使用的Sigmoid函数可以将数值转为概率后再进行判断其类别

参考文章:

【机器学习】逻辑回归(非常详细) - 知乎 (zhihu.com)

用人话讲明白逻辑回归Logistic regression - 知乎 (zhihu.com)

  • 岭回归(Ridge Regression)

不同与线性回归的无偏估计,岭回归的优势在于它的无偏估计,更趋向于将部分系数向0收缩。因此,它可以缓解多重共线问题,以及过拟合问题。但是由于岭回归中并没有将系数收缩到0,而是使得系数整体变小,因此,某些时候模型的解释性会大大降低,也无法从根本上解决多重共线问题

当样本特征很多,而样本数相对较少时,上式很容易陷入过拟合。为了缓解过拟合问题,若引入L2正则化项,则维尔哦岭回归。等价于线性回归中原始的损失函数后面加上了 L2 正则,因此 L2 正则的本质其实是为模型增加了“模型参数服从零均值正态分布”这一先验知识。

优缺点和适用场景

优点:

  • 解决多重共线性问题,提高模型稳定性。

  • 可以处理高维数据,防止过拟合。

缺点:

  • 需要调整正则化参数 。

  • 不适用于特征数量比样本数量大的情况。

适用场景:

  • 自变量之间存在高度相关性。

  • 高维数据集。

参考文章:

岭回归详解 从零开始 从理论到实践-CSDN博客

  • Lasso回归

该方法是一种压缩估计。它通过构造一个惩罚函数得到一个较为精炼的模型,使得它压缩一些回归系数,即强制系数绝对值之和小于某个固定值;同时设定一些回归系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计

Lasso回归有时也叫做线性回归的L1正则化,和Ridge回归的主要区别就是在正则化项,Ridge回归用的是L2正则化,而Lasso回归用的是L1正则化

等价于线性回归的原始损失函数的后面加上了 L1 正则,因此 L1 正则的本质其实是为模型增加了“模型参数服从零均值拉普拉斯分布”这一先验知识。

Lasso回归使得一些系数变小,甚至还是一些绝对值较小的系数直接变为0,因此特别适用于参数数目缩减与参数的选择,因而用来估计稀疏参数的线性模型

对于Lasso回归求解极值的方法::坐标轴下降法、最小角回归法

优缺点和适用场景

优点

  • 可以实现特征选择,将一些系数变为零。

  • 在高维数据集中表现较好。

缺点

  • 不适用于特征数量比样本数量大的情况。

  • 对于高度相关的变量,可能只选择其中之一。

适用场景

  • 数据集中存在多重共线性。

  • 希望通过模型进行特征选择。

参考文章:

LASSO回归模型 - 知乎 (zhihu.com)

机器学习算法系列(五)- Lasso回归算法(Lasso Regression Algorithm)-CSDN博客

岭回归详解 从零开始 从理论到实践-CSDN博客       👍👍

  • 决策树回归

        关于数据类型,我们主要可以把其分为两类,连续型数据和离散型数据。在面对不同数据时,决策树也 可以分为两大类型: 分类决策树和回归决策树。 前者主要用于处理离散型数据,后者主要用于处理连续型数据

        一种基于树结构的回归模型,通过对输入空间进行递归的划分,将每个划分区域内的样本的目标值取平均值作为预测值。整个划分的过程也是建立树的过程,每划分一次便确定了划分单元对应的输出,便也多了一个结点。当根据停止条件划分终止的时候,最终每个单元的输出也就确定了,也就是叶结点

切分点选择:最小二乘法;

输出值:划分单元内样本目标值的均值

判断标准:方差

优缺点和适用场景

优点

  • 易于理解和解释,可视化效果好。

  • 能够处理非线性关系,对异常值和缺失值不敏感。

缺点

  • 容易过拟合,需要通过剪枝等手段进行优化。

  • 对输入数据的变化敏感,稳定性较差。

适用场景

  • 数据具有非线性关系。

  • 需要可解释性和可视化效果好的情况。

参考文章:

决策树—回归 - 知乎 (zhihu.com)

【机器学习】回归决策树-CSDN博客

【机器学习】【决策树】分类树|回归树学习笔记总结-CSDN博客

  • 随机森林回归

       随机森林属于集成算法中的Bagging算法,在训练阶段,随机森林使用bootstrap采样从输入训练数据集中采集多个不同的子训练数据集来训练多个不同决策树(对训练数据进行有放回抽样,构建多个不同的训练数据集);在预测阶段,随机森林将内部多个决策树的预测结果取平均得到最终的结果。

P.S:集成算法

一般都是使用树模型 ,分为Bagging算法与Boosting算法,

Bagging算法:相当于并行计算多棵树,最终取平均值/加权平均,个体学习器之间不存在强依赖关系

Boosting算法:相当于串联算法 每次都添加树以加强训练效果,个体学习器之间存在较强的依赖性

        通过构建多个决策树并将它们的预测结果进行集成来进行回归任务。在随机森林中,每棵决策树都是独立并在随机选择的子样本上进行训练的,这样可以有效地减少过拟合的风险。随机森林通过将多个决策树的预测结果进行平均或加权平均,从而得到最终的回归结果。        

随机森林回归模型的实施步骤

1、数据准备:首先需要准备用于训练和测试的数据。数据应该包括特征和目标变量,特征是用于预测的自变量,目标变量是要预测的因变量。数据通常需要进行清洗、处理缺失值、特征选择等预处理步骤。

2、数据划分:将准备好的数据划分为训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能。一般采用随机抽样的方式,将数据按照一定比例划分为训练集和测试集,如80%的数据作为训练集,20%的数据作为测试集。

3、特征工程:对特征进行进一步处理,包括特征缩放、特征编码、特征构建等。这一步骤有助于提高模型的性能和泛化能力。

4、模型训练:使用训练集数据,构建随机森林回归模型。通过调整模型的超参数,如树的数量、树的深度、节点分裂的方式等,可以优化模型的性能。

5、模型评估:使用测试集数据,对训练好的随机森林回归模型进行评估。常用的评估指标包括均方误差(Mean Squared Error, MSE)、均方根误差(Root Mean Squared Error, RMSE)、平均绝对误差(Mean Absolute Error, MAE)、决定系数(Coefficient of Determination, R-squared)等。这些指标可以帮助评估模型的预测精度、泛化能力和稳定性。

6、模型调优:根据评估结果,可以对模型进行调优,包括调整超参数、增加样本数量、进行特征选择等。通过反复调优,提高模型的性能。

7、模型预测:在模型训练和调优完成后,可以使用该模型进行实际的预测。将新的特征数据输入模型,模型会根据之前的训练结果生成相应的预测值。

8、模型解释:随机森林回归模型是一种黑盒模型,难以解释其预测结果。但可以通过特征重要性的排序,了解不同特征对于预测结果的贡献程度,从而解释模型的预测结果。

优缺点和适用场景

优点:

  • 提高模型泛化性能,减少过拟合。

  • 对高维数据和大规模数据表现较好。

  • 可以处理非线性关系和复杂的特征交互。

  • 高性能;鲁棒性;抗过拟合;可解释性强

缺点:

  • 模型解释性较差

  • 训练过程相对耗时。

  • 在某些数据集上可能过拟合。

  • 模型复杂度高,训练和预测时间较长;内存消耗过大;

适用场景:

  • 复杂的回归问题,特征维度较高的数据集。

  • 数据集中存在噪声和非线性关系。

参考文章:

随机森林回归算法讲解-CSDN博客

从零实现回归随机森林 - 知乎 (zhihu.com)

  • 梯度提升回归

        梯度提升回归(Gradient Boosting Regression)是一种集成学习方法,通过顺序地构建弱学习器,每个弱学习器修正前一个弱学习器的预测误差,从而得到累积的、更强大的预测模型。一种从它的错误中进行学习的技术;

GBR的弱学习器是回归算法常见的回归算法:
线性回归、逻辑回归、多项式回归、逐步回归、岭回归、套索回归、弹性回归

特征重要性排序(Permutation Importance

适用于表格型数据,其对于特征重要性评判取决于该特征被随机重排后模型表现评分的下降程度

PI优点

相比于其他衡量特征重要性的方法,Permutation Importance的优点:
①计算量低
②广泛使用和容易理解
③与我们要测量特征重要性的属性一致

优缺点和适用场景

优点

  • 可以处理复杂的非线性关系。

  • 在训练过程中逐步优化模型,逐渐减小残差。

缺点:

  • 训练时间相对较长,特别是在树的深度较大时。(在实际使用的时候,可以通过调整学习率和树的数量等参数来优化模型)

  • 对异常值敏感。

适用场景:

  • 非线性回归问题

  • 数据集中包含噪声和复杂的特征交互。

参考文章:

梯度提升回归(Gradient boosting regression,GBR) 学习笔记以及代码实现&permutation_importance(PI)-CSDN博客

  • 支持向量回归

        支持向量回归(Support Vector Regression,SVR)是一种使用支持向量机(SVM)来进行回归的方法。SVR通过将输入空间映射到高维特征空间(核方法),并在高维空间中寻找最优超平面来进行回归。

高斯核函数

多数使用高斯核函数,直接利用高斯变换,将原始特征映射至高斯核函数的距离特征 理论下高斯核函数可以将数据映射至无限多维 数据维度越高,边界越复杂,过拟合风险越大

利用相似度来进行变换特征,高斯核函数的基本出发点,对于样本集中的每一个数据,原始都有自己的特征,使用相似度特征来替代样本原始特征。相似度,即当前样本点与其他所有样本点相似度计算得到的特征值

优缺点和适用场景

优点:

  • 在高维空间中的表现较好,适用于复杂的非线性回归问题。

  • 通过调整核函数和参数,可以适应不同类型的数据分布。

缺点:

  • 对于大规模数据集,训练时间较长。(在实际使用中,需要通过调整核函数和参数来优化模型)

  • 对于输入数据的缩放和参数的选择敏感。

适用场景

  • 非线性回归问题,尤其是在输入空间映射到高维特征空间有意义的情况下。

  • 对模型的泛化性能要求较高的情况。

参考文章:

SVM 原理详解,通俗易懂_svm原理-CSDN博客   👍👍

  • XGBoost回归

        XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升树的集成学习算法,被广泛应用于回归和分类问题。它的原理相对复杂,但核心思想是通过迭代训练多个弱学习器(决策树),每次迭代都根据上一轮的残差来拟合一个新的模型,并将这些弱学习器组合成一个强大的模型

p.s:该部分与梯度提升回归有类似之处

和传统的梯度提升决策树( GBDT )不同,xgboost 给损失函数增加了正则化项,且由于有些损失函数是难以计算导数的,xgboost 使用损失函数的二阶泰勒展开作为损失函数的拟合。

XGBoost的目标是最小化目标函数,采用贪婪算法逐步构建树模型,每一步都根据损失函数的近似进行拟合。

梯度提升决策树(GBDT)

Xgboost与lightgbm为常见GBDT的算法。lightgbm的效果相对于其他两类(XGBoost、传统梯度提升树)较好
 

优缺点和适用场景

优点:

  • 高效性:XGBoost使用了多种优化技术,如近似负梯度的计算、特征列排序等,使得训练速度快,内存占用低。

  • 鲁棒性:XGBoost对于缺失值的处理和异常值的鲁棒性较强,能够处理各种类型的数据。

  • 正则化:XGBoost支持正则化项,可以控制模型的复杂度,避免过拟合。

  • 灵活性:XGBoost支持多种损失函数、自定义评估指标和灵活的参数调整,适用于不同类型的回归问题。

缺点

  • 虽然利用预排序和近似算法可以降低寻找最佳分裂点的计算量,但在节点分裂过程中仍需要遍历数据集

  • 预排序过程的空间复杂度过高,不仅需要存储特征值,还需要存储特征对应样本的梯度统计值的索引,相当于消耗了两倍的内存。

适用场景包括:

  • 回归问题:XGBoost在预测数值型目标变量方面表现良好,适用于房价预测、股票价格预测等问题。

  • 分类问题:XGBoost也可以用于处理二分类和多分类问题,通常表现优异。

参考文章:

深入理解XGBoost,优缺点分析,原理推导及工程实现-CSDN博客

  • LightGBM回归

与传统的梯度提升算法不同,LightGBM使用基于直方图的算法来加速训练过程

LightGBM是一种高效、准确且易于使用的机器学习算法,适用于大规模数据集和需要高效训练的场景。它利用基于直方图的算法和梯度单边采样技术,提高了训练速度,同时保持了模型的准确性。

特点和适用场景

LightGBM具有以下特点:

  • 高效性:采用基于直方图的算法和梯度单边采样技术,提高了训练速度,降低了内存消耗。

  • 高准确性:LightGBM能够处理大规模数据集,并在准确性上表现出色。

  • 支持并行化:LightGBM的算法可以高效地并行计算,利用多核CPU和GPU进行加速。

  • 鲁棒性:LightGBM对于缺失值和异常值具有较好的鲁棒性。

适用场景包括:

  • 大规模数据集:LightGBM适用于处理大规模数据集,如金融数据、电商数据等。

  • 需要高效训练的场景:对于需要快速训练模型的场景,如在线预测、实时推荐等,LightGBM是一个很好的选择。

参考文章:

  • 神经网络回归

        神经网络回归是一种通过构建多层神经元网络来捕捉复杂的非线性关系的方法。它在大规模数据集和复杂问题上表现良好,但需要较长的训练时间。在实际项目中,可以通过调整网络结构、激活函数和正则化等参数来优化模型。

优缺点和适用场景

优点:

  • 能够捕捉复杂的非线性关系。

  • 在大规模数据集上表现良好。

缺点:

  • 训练时间较长,需要大量的数据。

  • 对于过拟合敏感,需要适当的正则化。

适用场景:

  • 复杂的非线性回归问题。

  • 大规模数据集,充足的计算资源。

参考文章:

后续将会不断完善该文内容!!

  • 23
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值