全面整理!机器学习常用的回归预测模型(表格数据)

文章目录

  • 一、前言
  • 二、线性模型
  • 三、非线性模型

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

回归预测建模的核心是学习输入 X X X 到输出 y y y (其中 y y y 是连续值向量)的映射关系。条件期望 E ( Y ∣ X = x ) E(Y \mid X=x) E(YX=x) X X X y y y 的回归函数。简单来说,就是将样本的特征矩阵映射到样本标签空间

A futuristic and aesthetically pleasing visualization of machine learning regression prediction, with sleek and high-tech graphics that convey a sense of advanced technology. --version 6 --quality .5 --chaos 0 --stylize 100 --aspect 16:9

本文全面整理了各种常用的回归预测模型,旨在帮助读者更好地学习回归预测建模。


二、线性模型

线性回归是一种线性模型,通过特征的线性组合来预测连续值标签。线性回归通过拟合系数 w = ( w 1 , ⋯ , w p ) w = (w_{1}, \cdots, w_{p}) w=(w1,,wp) (可选择是否设置截距)的线性模型,以最小化真实值和预测值之间的残差平方和

scikit-learn 的 linear_model 子模块提供了许多用于线性回归和广义线性模型(GLM)的方法。以下是一些常用的方法:

  • 普通最小二乘线性回归。

  • 套索回归(Lasso)。Lasso 可以理解为在线性回归的损失函数的基础上,加入一个 L1 正则项,来限制 w w w 不要过大。Lasso 趋向于使得一部分 w w w 值变为 0,所以可以作为特征选择用。

  • 岭回归(Ridge Regression)。岭回归可以理解为在线性回归的损失函数的基础上,加入一个 L2 正则项,来限制 w w w 不要过大。适用于共线性数据的有偏估计回归。这是一种改良的最小二乘估计法,它放弃了最小二乘法的无偏性,以损失部分信息和降低精度为代价,使得回归系数更符合实际、更可靠。对于病态数据,其拟合能力强于最小二乘法。然而,它不像 Lasso 那样具备特征选择的能力。

  • 随机梯度下降回归。通过随机梯度下降(SGD)最小化正则化经验损失来拟合的线性模型。每次估计每个样本的损失梯度,并且模型会随着时间推移按照递减的强度计划(即学习率)进行更新。正则化项是一种添加到损失函数中的惩罚项,它使用欧几里得范数 L2 或绝对范数 L1 或两者的组合(弹性网)模型参数缩小到零向量。如果由于正则化项的原因,参数更新超过了 0.0 的值,更新将被截断为 0.0,以便学习稀疏模型并实现在线特征选择

  • 弹性网络回归(ElasticNet)。ElasticNet 是一种结合了 L1 和 L2 先验的作为正则化项的线性回归模型。Lasso 之所以具备特征选择功能,是因为它采用了 L1 正则项。L1 正则倾向于生成稀疏解,这意味着它可以将一些对预测目标(标签)无帮助的特征的系数缩减至 0。这样,那些对模型结果有显著影响的特征就可以被突显出来。与此相对,岭回归采用 L2 正则项,并不具备这种将系数缩减至 0 的能力。L2 正则项只能将一些不太相关的特征的系数降低至一个较小的数值,但不会减至 0。此外,岭回归的 L2 正则化有解析解,而 L1 正则化没有。因此,人们提出了一种既含有 L1 正则化又含有 L2 正则化的方法 —— 弹性网络(ElasticNet),这种方法可以看作是岭回归和 Lasso 的一种折中方案。

  • 最小角回归模型(Least Angle Regression,简称 LAR)。最小角回归是一种适用于高维数据的回归算法。当预测变量 p p p 大于观察样本数 n n n 时,LAR 可以解决线性回归问题。其核心思想是将预测目标依次分解为特征向量的线性组合,最终使得残差向量与所有特征均线性无关,从而最小化。在每一步中,LAR 都会找到与目标最相关的特征。当多个特征具有相等的相关性时,LAR 不是沿着相同的特征继续进行,而是沿着特征之间角平分线的方向进行。LAR 是前向选择算法的快速性与前向梯度算法的准确性两者间的折中,可以产生分段线性结果的完整路径,这在模型的交叉验证中极为有用。

  • 正交匹配追踪算法(Orthogonal Matching Pursuit,简称 OMP)。这是一种贪心的压缩感知恢复算法。OMP 用于近似拟合一个带约束的线性模型,其中约束影响模型的非零系数。OMP 是一种前向特征选择方法,可以近似一个固定非零元素的最优向量解,这与最小角回归类似。OMP 的每一步选择都高度依赖于当前的残差,这是其基于贪心算法的特性。OMP 与匹配追踪(MP)相似,但相对于 MP 更优,因为它可以在每次迭代中利用正交投影重新计算残差,从而对先前选择的字典元素进行重建。

  • 贝叶斯岭回归。贝叶斯回归模型假设先验概率,似然函数和后验概率都是正态分布。先验概率是假设模型输出 y y y 是符合均值为 X θ X_{θ} Xθ 的正态分布,正则化参数 alpha 被看作是一个需要从数据中估计得到的随机变量。回归系数 θ \theta θ 的先验分布规律为球形正态分布,超参数为 lambda。我们需要通过最大化边际似然函数来估计超参数 alpha 和 lambda,以及回归系数 θ \theta θ。拟合一个贝叶斯岭模型。有关此实现的详细信息以及正则化参数 lambda(权重的精度)和 alpha(噪声的精度)的优化,请参阅备注部分。如果我们手头的数据集中存在大量的缺失数据或者数据之间存在矛盾,这种情况下的数据我们称之为 “病态数据”。在面对这种病态数据的时候,BayesianRidge(贝叶斯岭回归)是一个值得考虑的选择。它对于病态数据具有很强的鲁棒性,即使在数据不完整或存在矛盾的情况下也能较好地工作,而且它在模型训练过程中不需要通过交叉验证来选择超参数,这一点相比其他一些模型来说更为方便。不过,需要注意的是,虽然 BayesianRidge 对于病态数据处理较为理想,但它在推断过程中需要极大化似然函数,这个计算过程通常比较耗时。因此,在时间资源有限的情况下,一般不推荐在所有情况下使用 BayesianRidge。只有当数据确实存在很大问题,且其他方法难以应用或效果不佳时,采用 BayesianRidge 会是一个较好的选择。

  • 贝叶斯 ARD 回归。ARD(Automatic Relevance Determination)表示自动相关性确定。该方法使用 ARD 先验来拟合回归模型的权重,其中权重假设为高斯分布。同时,它会估计参数 lambda(权重分布的精度)和 alpha(噪声分布的精度),这个估计过程是通过迭代程序(即证据最大化)来完成的。ARDRegression 和 BayesianRidge 都是回归分析中的贝叶斯回归方法,它们在很多方面是类似的,但主要的区别在于对回归系数 θ \theta θ 的先验分布假设上有所不同。BayesianRidge 模型假设 θ \theta θ 的先验分布是球形正态分布,即假设所有方向上的变异性是相同的。这种假设意味着所有的回归系数共享一个相同的规模参数 lambda,因此,对于 θ \theta θ 的先验分布,我们只需要设定一个 lambda 值。相比之下,ARDRegression 放弃了 BayesianRidge 中对于球形高斯分布的假设,转而采用了一个与坐标轴平行的椭圆形高斯分布作为 θ \theta θ 的先验分布。这种做法意味着 θ \theta θ 的每一个维度都可以有其特定的规模参数 lambda,因此,与 BayesianRidge 相比,ARDRegression 模型中的 lambda 是一个含有 n n n 个维度的向量,其中 n n n θ \theta θ 的维度。即,每个回归系数可以有自己的规模参数 lambda,这允许模型为每个系数捕获不同程度的重要性。ARDRegression 同样通过最大化边际似然函数来估计超参数 alpha 和 lambda 向量,以及回归系数 θ \theta θ。通过这种方式,ARDRegression 可以根据数据自动调整 θ \theta θ 的先验分布,从而更灵活地适应不同的数据特征和结构。

  • 异常值鲁棒回归器是一种用来处理异常值的方法。它包括了几种不同的回归技术,例如 Huber 回归、分位数回归、RANSAC 回归和 Theil-Sen 回归。这些方法可以有效地处理数据中的异常值,使得回归模型更加稳健和准确。

  • 广义线性模型(GLM)用于回归预测,包括泊松分布、Tweedie 分布和 Gamma 分布。这些模型不仅允许预测目标具有正态分布以外的误差分布,还可以处理非正态分布的因变量。此外,它们还可以通过链接函数将自变量和因变量联系在一起。GLM 可以适用于多种类型的数据,如连续型数据、计数型数据和二分类数据等。


三、非线性模型

非线性回归是一种非线性模型,通过特征的非线性组合 / {/} /交互来预测连续值标签。在回归预测实践中,集成树模型是最常用的,因为它们具有适应异构数据、计算高效、泛化性能好和简单易用等优势

数据竞赛三巨头:XGBoost、LightGBM、CatBoost(极端梯度提升机及其变体)

  • XGBoost 官方文档:https://xgboost.readthedocs.io/en/stable/

  • LightGBM 官方文档:https://lightgbm.readthedocs.io/en/stable/

  • CatBoost 官方文档:https://catboost.ai/

其他:

选择普通非线性回归的期望函数通常取决于我们对系统响应曲线的形状以及物理和化学属性行为的了解。可能的非线性函数包括但不限于多项式、指数、对数、S 形和渐近曲线。您需要指定一个既符合您已有的知识,又满足非线性回归假设的函数。尽管可以灵活地指定各种期望函数,但确定最适合数据的函数可能需要大量的精力。这通常需要进行额外的研究、利用专业领域知识以及进行试错分析。此外,非线性方程在确定每个预测变量对响应的影响时可能不如线性方程直观。

决策树回归。CART 决策树可以应用于回归预测。当进行预测时,新样本从根节点开始,根据其特征值在每个节点被分配到左子节点或右子节点,直至到达叶节点。这个叶节点中所有训练样本标签的平均值就是新样本的预测值。

支持向量机回归。支持向量机能够应用于回归预测任务,主要得益于其ε-不敏感损失函数和核函数技巧。这两个特性使得 SVR 能够处理线性和非线性问题,并防止过拟合,因此它是一种有效的回归预测模型。

KNN 回归。KNN 是一种基于实例的学习方法,也可以称为懒惰学习。其工作原理是:当有一个新的数据点需要预测时,KNN 会在已知的数据集中找出与这个新数据点最接近的 K 个点,然后根据这些邻居的属性来预测新数据点的属性。在分类任务中,KNN 通常会选择这些邻居中最常见的类别作为新数据点的类别。而在回归任务中,KNN 通常计算这些邻居的平均值或者中位数,并将这个值作为新数据点的预测值。

普通神经网络回归。多层感知器 MLP,将样本的特征矩阵映射到样本标签空间。开发流程:网络初始化后,进行前向计算,反向传播和优化(损失函数通常为均方误差 MSE),然后进行迭代训练。这种方法也常用于回归预测。

随机森林回归。随机森林是一种基于 Bagging 范式的集成学习算法,其关注降低方差。数据随机:随机森林算法首先创建多个决策树,每棵树都在数据集的一个随机子集上进行训练。这种过程被称为自助采样(bootstrap sampling)。特征选择:在构建决策树的过程中,随机森林会在每个节点处从特征的随机子集中选择最优特征进行分割。这种方法增强了模型的多样性,从而降低了过拟合的风险。对于回归问题,最终的预测结果是所有决策树预测结果的平均值。

深度森林(DeepForest)回归 。周志华老师团队的一项工作 DeepForest,它是一种新颖的基于决策树的集成学习方法。深度森林主要由多粒度扫描和级联森林两个部分构成。其中,多粒度扫描通过滑动窗口技术获取多个特征子集,以增强级联森林的差异性。而级联森林则是通过级联方式将决策树组成的森林实现表征学习。深度森林继承了深度学习对样本特征属性的逐层处理机制,同时克服了深度学习参数依赖性强、训练开销大以及仅适用于大数据等缺点。

Extra trees 回归(Extra trees 是 Extremely randomized trees 的简称)。这也是一种使用决策树的集成学习方法,它与随机森林类似,但速度更快。Extra trees 会创建许多决策树,但每棵树的采样都是随机的,可以设置是否有放回采样。每棵树还会从全部特征集中随机选择特定数量的特征。Extra trees 最重要也是最独特的特点是随机选择特征的分割值。该算法不是使用基尼值或熵值计算局部最优值来分割数据,而是随机选择一个分割值。这就使得树具有多样性和非相关性,能够有效抑制过拟合。

AdaBoost 回归。AdaBoost 是一种关注降低偏差的基于 Boosting 范式的集成学习算法。AdaBoost 回归的基本步骤包括:(1)初始化训练样本的权重。每个样本的初始权重都是相等的;(2)对于每一轮迭代:使用当前的样本权重来训练一个弱学习器(例如决策树),计算这个弱学习器的预测误差,根据预测误差来计算这个弱学习器的权重,更新样本的权重;(3)将所有弱学习器的预测结果进行加权求和,得到最终的预测结果。

基于直方图的梯度提升回归(HistGradientBoostingRegressor)。scikit-learn 改进的基于直方图的梯度提升回归,在大型数据集(n_samples >= 10,000)上,该估计器比 GradientBoostingRegressor 快得多。该估计器本身支持缺失值(NaNs)。在训练过程中,树生长器在每个分裂点学习,并根据潜在增益决定缺失值的样本应该进入左子节点还是右子节点。在预测时,具有缺失值的样本将被相应地分配到左子节点或右子节点。如果在训练过程中对某个特征没有遇到缺失值,那么具有缺失值的样本将被映射到具有最多样本的子节点。这个算法的灵感来自于 LightGBM。

TabNet。TabNet 是由 Google 发布的一种针对于表格数据(Tabular data)设计的深度神经网络,它通过类似加性模型的序列注意力机制实现了 instance-wise 的特征选择,并且通过 encoder-decoder 框架实现了自监督学习,可用于下游学习任务如回归预测和分类预测。

交互网络上下文嵌入(Interaction Network Contextual Embedding,INCE)。INCE 是一种用于表格数据的深度学习模型,采用图神经网络(GNNs),更具体地说,使用交互网络进行上下文嵌入。编码器模型首先将每个表格数据集特征映射到潜在向量或嵌入中,然后解码器模型获取这些嵌入并用于解决有监督学习任务。编码器模型由 Columnar 嵌入和 Contextual 嵌入两部分组成;解码器模型由一个针对解决回归任务调整过的多层感知机(MLP)组成。

Local Cascade Ensemble:在 Python 中增强了 Bagging 和 Boosting 的组合。该工具包实现了本地级联集成(LCE),这是一种新颖的机器学习方法,可进一步提高目前最先进的方法 Random Forest 和 XGBoost 的预测性能。LCE 结合了它们各自的优势,并采用了一种互补的多样化方法,以获得更好的泛化预测模型。LCE 与 scikit-learn 兼容,因此可以与 scikit-learn pipeline 和模型选择工具进行交互。

门控加性树集成(Gated Additive Tree Ensemble, GATE)。GATE 是一种新颖的、高性能、参数效率和计算效率高的深度学习架构,适用于表格数据,即门控加性树集成(GATE)。GATE 使用了灵感来自于 GRU 的门控机制作为内置特征选择机制的特征表示学习单元,并将其与一组可微分、非线性决策树集成在一起,通过简单的自注意力重新加权,从而实现对期望输出值的预测。

深度自动特征学习的门控自适应网络(Gated Adaptive Network for Deep Automated Learning of Features)是 GATE 的简化版本,并且比 GATE 更高效。GANDALF 将 GFLU 作为主要学习单元,并在过程中引入了一些加速机制。由于超参数调整非常少,使其成为一个易于使用和调整的模型。

已有一个用于对表格数据建模的深度学习模型的标准框架 - pytorch_tabular:https://github.com/manujosephv/pytorch_tabular

PyTorch Tabular 是一个旨在使深度学习与表格数据易于使用和可访问的库。它建立在 PyTorch 和 PyTorch Lightning 等强大工具的基础上。库的设计原则包括低阻力、易用性、可扩展性和易于部署。它提供了多种模型和功能,如前馈网络、神经网络、自动特征交互学习等。安装和使用方法也很简单,可以通过 pip 安装并参考文档进行使用。如果在科学出版物中使用 PyTorch Tabular,请引用相关论文和软件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直播预约丨《袋鼠云大数据实操指南》No.1:从理论到实践,离线开发全流程解析

近年来,新质生产力、数据要素及数据资产入表等新兴概念犹如一股强劲的浪潮,持续冲击并革新着企业数字化转型的观念视野,昭示着一个以数据为核心驱动力的新时代正稳步启幕。 面对这些引领经济转型的新兴概念,为了更好地服务于客户…

c/c++ 深拷贝和浅拷贝

深拷贝与浅拷贝 深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是对象复制的两种不同方式,它们涉及到对象成员数据的复制方式和内存管理。 浅拷贝(Shallow Copy): 浅拷贝是指将一个对象的…

C++:继承:面向对象编程的重要特性

(❁◡❁)(●◡●)╰(*▽*)╯(*/ω\*)(^///^)(❁◡❁)(❁◡❁)(●◡●)╰(*▽*)╯(*/ω\*)(❁◡❁)(●’◡’●)╰(▽)╯(/ω\)(///) C:继承:面向对象编程的重要特性 前言**继承**1.继承的概念及定义1.1继承的概念1.2继…

算法笔记p251队列循环队列

目录 队列循环队列循环队列的定义初始化判空判满入队出队获取队列内元素的个数取队首元素取队尾元素 队列 队列是一种先进先出的数据结构,总是从队尾加入元素,从队首移除元素,满足先进先出的原则。队列的常用操作包括获取队列内元素的个数&a…

【Godot4.2】颜色完全使用手册

概述 本篇简单汇总Godot中的颜色的构造和使用,内容包括了: RGB、RGBA,HSV以及HTML16进制颜色值、颜色常量等形式构造颜色颜色的运算以及取反、插值用类型化数组、紧缩数组或PNG图片形式存储多个颜色 构造颜色 因为颜色是一种视觉元素&…

Jmeter接口测试步骤

一、使用工具测试 1、使用Jmeter对接口测试 首先我们说一下为什么用Posman测试后我们还要用Jmeter做接口测试,在用posman测试时候会发现的是一个接口一个接口的测试,我们每次测试成功后的数据,在工具中是无法保存的,再次测试的时…

【蓝桥杯入门记录】继电器、蜂鸣器及原理图分析

一、继电器、继电器概述 (1)蜂鸣器原理 蜂鸣器的发声原理由振动装置和谐振装置组成,而蜂鸣器又分为无源他激型与有源自激型,蜂鸣器的发声原理为: 1、无源他激型蜂鸣器的工作发声原理是:方波信号输入谐振装置转换为声…

Vue.js开发基础

单文件组件 使用Vite创建Vue项目后,目录结构中包含一些扩展名为.vue的文件,每个.vue文件都可用来定义一个单文件组件。Vue中的单文件组件是Vue组件的文件格式。每个单文件组件由模板、样式和逻辑3个部分构成。 运行结果: 1.模板 模板用于搭建…

PyTorch 深度学习(GPT 重译)(一)

第一部分:PyTorch 核心 欢迎来到本书的第一部分。在这里,我们将与 PyTorch 迈出第一步,获得理解其结构和解决 PyTorch 项目机制所需的基本技能。 在第一章中,我们将首次接触 PyTorch,了解它是什么,解决了…

爬虫基础:HTTP基本原理

爬虫基础:HTTP基本原理 前言HTTP基本原理URI 和 URLHTTP 和 HTTPSHTTP 请求过程请求与响应HTTP请求HTTP响应请求与响应的交互过程 HTTP 2.0二进制传输多路复用Header压缩服务器端提前响应内容安全 前言 了解 HTTP的基本原理,了解从往测览器中输人 URL到获…

算法沉淀——贪心算法四(leetcode真题剖析)

算法沉淀——贪心算法四 01.最长回文串02.增减字符串匹配03.分发饼干04.最优除法 01.最长回文串 题目链接:https://leetcode.cn/problems/longest-palindrome/ 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。 …

YOLOV5 改进:修改网络结构--C2f 模块

1、前言 YOLOV5 采用C3模块,类似于残差结构的思想 class C3(nn.Module):# CSP Bottleneck with 3 convolutionsdef __init__(self, c1, c2, n=1, shortcut=True, g=1, e=0.5): # ch_in, ch_out, number, shortcut, groups, expansionsuper().__init__()c_ = int(c2 * e) #…

Linux中,运行程序,顺便将打印信息存储在Log文件中查看

前言 如题,原本打算在代码中自己写一个类去管理将打印信息收集到log日志中,忽然想到,其实也可以写sh脚本 简单demo1 #!/bin/bash# 启动应用程序 test,并将标准输出和标准错误输出都追加到 log 文件中 ./test >> output.log…

7-7 12-24小时制

题目链接&#xff1a;7-7 12-24小时制 一. 题目 1. 题目 2. 输入输出格式 3. 输入输出样例 4. 限制 二、代码 1. 代码实现 #include <stdio.h>int main(void) {int hour, minute;char *str;if (scanf("%d:%d", &hour, &minute) ! 2) {return -1;}i…

操作系统系列学习——死锁处理

文章目录 前言死锁处理 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划学习操作系统并完成6.0S81&#xff0c;加油&#xff01; 本文总结自B站【哈工大】操作系统 李治军&#xff08;全32讲&#xff09; 老师课程讲的非常好&#xff0c;感谢 【哈工大】操…

如何优惠申请DigiCert证书

DigiCert作为全球知名的数字证书颁发机构&#xff0c;其SSL证书以高度的安全性和信任度广受认可。而JoySSL作为国内优秀的SSL证书服务平台&#xff0c;提供了便捷、高效的证书申请服务&#xff0c;让您能够轻松获取并安装DigiCert SSL证书。接下来&#xff0c;本文将详细介绍如…

什么情况用@RequestBody、@RequestParm、@PathVariable

1.requestParam(请求参数&#xff09;&#xff1a;使用RequestParam注释将请求参数绑定到控制器中的方法参数。用于从请求访问查询参数值的RequestParam注释。 如下请求URL&#xff1a;http://localhost:8080/springmvc/hello/101?param110&param220 以下是RequestParam注…

腾讯云服务器怎么买省钱?先领券,再下单!

腾讯云代金券领取渠道有哪些&#xff1f;腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券&#xff0c;大家也可以在腾讯云百科蹲守代金券&#xff0c;因为腾讯云代金券领取渠道比较分散&#xff0c;腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

网工内推 | 七险一金,上市公司招信息安全工程师,大牛带队

01 启明星辰信息技术集团股份有限公司 招聘岗位&#xff1a;数据安全服务工程师 职责描述&#xff1a; 1、负责数据安全服务项目的管理&#xff0c;统筹组织并协调资源落实项目交付实施; 3、负责数据安全风险评估、数据分类分级、数据安全管理制度、数据安全体系规划等数据安…

企事业单位宣传,三下乡的稿子怎么在学习强国网投稿发稿,价格多少钱?

随着学习强国成为各个企事业单位宣传的重要平台&#xff0c;如何在学习强国上发稿&#xff0c;尤其是三下乡的宣传稿件&#xff0c;成为了各位传媒工作者关注的焦点。在这里&#xff0c;我们要向大家介绍一下媒介多多网发稿平台&#xff0c;为大家提供一个便捷高效的投稿发稿渠…