深入讨论机器学习 8 大回归模型的基本原理以及差异!

简介: 深入讨论机器学习 8 大回归模型的基本原理以及差异!

几乎每个机器学习从业者都知道回归,其中一些人可能认为这没什么大不了的,只是从参数之间的切 换罢了。本文将阐明每种回归算法的细节,以及确切的区别。包括 :


  • OLS
  • Weighted Least Squares
  • Lasso
  • Ridge
  • Polynomial Regression
  • Logistic regression
  • Support Vector Regression
  • Elastic Net
  • Bayesian Regression
  • RANSAC
  • Theil Sen
  • Huber Regression
  • Decision Tree Regression


1. 介绍


我们的数据:  image.png我们打算从我们的数据集中训练一个模型,并 在未知的测试集中测试它。算法性能良好的标准是错误低(从预测值到实际值的距离)。当涉及回归任务 时,我们第一时间就会想到线性回归。


 image.png


这个模型是线性的并且易于实现(图 1)。  image.png被叫做斜率并且  image.png被叫做截距。  image.png解释了当  image.png改变的时 候 image.png 改变的程度。  image.png意味着随机错误(白色噪音),一般说来都会被省略。


2. OLS


在机器学习中,image.png我们经常通过优化目标函数来找出最好的模型。OLS(Ordinary Least Squares) 充当 了一个很有效果的损失函数只要模型满足六个 OLS 的必要假设。那么它就能通过优化如下的函数来找到 具有最小方差的无偏差模型。


image.png  


2.1 首要的假设


• 线性



image.png

image.png

image.png

image.pngimage.pngimage.png

而且,我们可以应用 Box Cox 特征转换,它可以使数据更接近正态分布。可以从这里下载数据:https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv。我选择 total sulfur dioxide 作为 X,quality 作为 y. 因此,它可以减轻异方差(图 6)。请注意,并 非总是如此一个很好的解决方案。但是我们可以在 WLS 之前尝试使用它们。有时候,情况可能更 糟(图 7)。


错误独立分布(无自相关)。例如,您要预测股票市场中的市场份额。但错误是相关的,而它们本 应为  image.png(独立分布)。当发生金融危机时,股票的份额将在未来几个月内减少。可以通过 Durbin Watson Test(表 3)或绘制 textbf 自相关图进行检测。如果 y 的值位于在 image.png ,则为正相关。如 果值等于 0,则它们的含义是无相关。否则,它们的含义是负相关


image.png

表3. Durbin Watson Test


自相关会影响标准差,但不太可能影响模型的系数和截距。


有两种常见的解决方法。第一种方法是添加被忽律的变量。例如,您想按时间预测股票表现。无疑, 该模型具有很高的自相关性。但是,我们可以添加 S & P 500。希望它可以减轻自相关。第二种方 法是改变模型函数。您可以将线性模型转换为平方模型。另外,也别忘了多项式回归


无多重共线性。如果自变量彼此相关,则数据中存在多重共线性。我们可以使用方差膨胀因子(VIF) 进行检测(image.png  是决策系数)。如果值为 1,表示预测变量之间不存在多重共线性。如果值大于 5,则 表示存在潜在的多重共线性。如果值大于 10,则表示明显的多重共线性。

image.pngimage.png


3. Lasso Regression


3.1 Background


在机器学习中,我们采用我们的模型通过对大量数据进行训练来预测值。但是,对过多数据进行训练 会产生一个副产品,即机器可能会记住所有训练数据。当涉及到新的测试数据时,我们的机器无法对其进 行正确的估算,这称为过拟合。实际上,我们不知道到底需要多少数据。如果缩减数据量,则可能会导致 textbf 欠拟合。因此,我们必须更改模型。


 image.png


3.2 稀疏方法


在这里,我们使用均方误差。最初,我们需要使模型的误差尽可能小,这可能会导致复杂的模型(太多系数)。通常,如果我们的模型是太复杂了,它的泛化能力很低。为了解决这个问题,出现了正则化image.png 代表我们要惩罚模型的程度(变简单)。通过添加 L1 常项,我们将选择一个误差最小的简单模型,该模型与奥卡姆剃刀原则一致。L1 可能把许多系数设置为image.png  。不可避免地,某些特征会因此失去对  image.png的影响, L1 真正要做的是执行特征选择。


3.3 震荡


梯度下降在使目标函数最小化中起着关键作用。在优化过程中,L1 总是减去常数。因此,当数据值 很小时,L1 尤为重要。L1 执行特征选择,不稳定并可能导致震荡


image.png

图5. 中间那条显示 OLS 和 MLS 拟合情况数据,其他是两个算法的预测值范围


 

image.png


4. Ridge Regression


4.1 背景


尽管 Lasso 能够处理过拟合,但它缺乏稳定性。因此,Ridge 是 Lasso 的替代方案。


4.2 稳定性


image.pngimage.pngimage.pngimage.pngimage.png


随机抽样一致是鲁棒回归模型之一。通过不断重新估计,RANSC 使用共识集(Inliers Set)的所有 成员来提高准确性。


6.3 Theil-Sen Regression


这是一种无参数方法,这意味着它无需对数据的分布进行任何假设。它还具有一个临界情况(通常为 29.3 % ),表明它只能容忍异常值分布的最大值为 29.3 %。


6.4 Huber Regression


当值很大时,Huber 会将其损失函数转换为线性损失,以最大程度地减少对模型的影响。  image.png作为阈值, 决定多大的数据需要给予线性损失。


 image.png

 

7. Bayesian Regression


7.1 Bayesian Theorem


例如,我们将采用一个模型来区分电子邮件是正常的还是垃圾邮件。因此,我们的模型所面对的是它必须对未知电子邮件进行预测。我们的数据包含 100 封电子邮件,其中 10% 是垃圾邮件。因此,垃圾邮 件的百分比为 10 。但这绝对不是全部。在贝叶斯中,它称为前验概率,这代表着分布的基础假设,同时 这也是贝叶斯开始的地方。在算法开始时,贝叶斯是有偏见的,所以该模型很容易受到一开始的数据分布的影响。例如,如果我们只有 10 封普通电子邮件,我们未来是不可能不收到一封垃圾邮件的。换句话 说,如果我们的数据量很小,就不太建议实施贝叶斯算法。但是,不断进行数据训练,我们最终应该会获 得理想的结果。下面的等式,P(B)是归一化项,P(A)是前验概率image.png后验概率。总而言之, 当我们拥有大量数据时,贝叶斯算法可能是一个很好的选择,它可以像其他算法一样准确地执行。


image.png  


7.2 MLE


一般来说,我们的目标是找出真正的数据分布,这几乎是不可能的。因此,我们需要一个与问题域的 数据分布更接近的数据分布。MLE(最大似然法)。它表示我们希望最大化从假设分布采样出真正分布在数据集中的数据的概率。(图 9)



image.png


7.3 MAP


通常,我们可以使用 MAP 最大化后验概率)替换 MLE。它基于贝叶斯定理。MAP 是 贝叶斯回归 (下式)的基础。贝叶斯回归不像其他算法,它不会生成单个值,而是生成可能的分布范围。在大多数 情况下,MLE 和 MAP 可能会得到相同的结果。但是,当 MAP 的假设为与 MLE 不同,它们无法获得相 同的结果。当先验概率服从均匀分布时,它们可以获得相同结果。从另一个角度来看,如果我们对数据 有精确的理解,则贝叶斯回归为一个很好的选择,因为它可以作为先验概率,或者我们可以像 Weighted Least Errors 一样给每个不同的选择不同的权重。有趣的是,前验分布可以看作是正则化或模型的偏见, 因为前验分布可以是改为 L2 范数,这种模型也被称为贝叶斯岭回归。下式表示给定模型 m,输 出 y 的概率。以及  image.png和  image.png(标准差)是任意值。


image.pngimage.png

image.png

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png


10. 结论


10.1 了解你的模型


许多模型不是即插即用的。它有一些约束,只有满足他们的假设,它们才能表现良好。因此,了解模型背后的内容比盲目地应用模型更重要。此外,当面临难题时,您应该对可以尝试的算法有一个完整的了 解。


10.2 数据第一位


机器学习问题不是获取数据和应用模型。给模型提供什么样的数据对模型的最佳性能起关键作用。如果对模型了解得很少,就无法理解什么样的数据正是您的模型需求,您无法进一步预处理数据。最终,您 将永远不会让模型的性能产生任何提升。这是浪费时间。


 

相关文章
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
80 2
|
22天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
77 3
|
29天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
【10月更文挑战第6天】如何使用机器学习模型来自动化评估数据质量?
|
1天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
2天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
11 1
|
28天前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
43 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
11天前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
42 1
|
14天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
20天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
65 2
|
27天前
|
机器学习/深度学习 前端开发 网络架构
Django如何调用机器学习模型进行预测
Django如何调用机器学习模型进行预测
54 5
下一篇
无影云桌面