ITPub博客

首页 > 数据库 > 数据库开发技术 > 机器学习基础:一文搞懂简单线性回归的原理,新手也能看懂!

机器学习基础:一文搞懂简单线性回归的原理,新手也能看懂!

原创 数据库开发技术 作者:jackzhang 时间:2024-07-03 06:30:00 0 删除 编辑

在数据和计算机程序的世界里,机器学习这个概念听起来可能是一个很难解决的概念,充满了棘手的数学和复杂的思想。

这就是为什么我今天想要放慢脚步,检视让这一切发挥作用的基础知识。我将通过一个机器学习基础教程系列,用更直观的方式向大家解释机器学习中的一些关键概念,帮助大家更好更轻松地入门机器学习。

今天的主角是简单线性回归,我们将重新回顾这个简单但极其重要的模型,它是机器学习的重要组成部分。可以将其视为一个大拼图的简单部件。我们要回到简单的东西,让人真正理解其中到底发生了什么。

所以请抓紧上车,和我一起逐步分解它,让它变得更清晰透明。

接下来,让我们一起深入探讨简单线性回归(Simple Linear Regression)吧!👇🏻🤓

1. 初识简单线性回归

预测分析的领域是广阔的,但其核心在于线性回归 — 这是理解数据趋势的最简单方法。

也许将其扩展到多个变量可能看起来令人生畏,所以我们今天重点关注的是简单线性回归。

🎯 主要目标是什么?

找出以下两者之间的线性关系:

  • 独立变量或预测因子。
  • 依赖变量或输出。

通俗地说,线性回归就是找到一条直线,用以表示两件事物之间的联系 — 比如你学习的多少(这就是独立部分)和你的考试成绩(这就是依赖部分)。因为,一般来说,一个人的考试成绩通常与其付出的努力程线性关系。

核心思想是了解一件事物如何预测另一件事物。

听起来很有趣,对吗?

那么现在...让我们试着理解一下线性回归,思考一下...

2. 在数学上如何计算它?

把它想象成一个团队合作的过程,两件事物一起工作:

  • 一件事物依赖于另一件事物 — 我们称之为结果。
  • 另一件事物是独立的 — 我们称之为预测因子。

它们需要有一种直线关系,就像在地图上按直线路径前进一样,可以找到我们想要的答案。

现在,找到完美的路径 — 或者在我们的场景下,找到最佳拟合线 — 不是凭猜测。

在讨论数值数据时,我们使用独特的公式来识别线性回归中的最佳拟合线。理解变量之间存在线性相关性,我们就可以直接应用线性函数来确定我们的预测因子。

在这个简单的数学公式中,有 4 个主要变量:

  • Y 是我们的结果
  • B 设置了直线的起始位置
  • A 是斜率的角度
  • x 是预测因子

使用这些变量,我们可以画出一条穿过数据点的直线,展示我们所关注的两个变量之间的联系。

既然我们知道如何定义这种关系,你可能会想知道...

3. 如何定义最佳拟合?

所以最终的想法非常明确:我们想要一条误差最少的直线。

那么误差又是什么呢?

在这个案例中,误差意味着我们的猜测结果与实际结果之间的距离。因此,我们将误差定义为预测值与实际值之间的差异。

因此,最佳拟合直线就是那条误差最小的直线。换句话说,也就是我们预测的结果和实际发生的结果之间的细微差异最小。

有一个特殊的名称用于表示这些误差:我们称之为残差(residuals)。我们希望这些残差或误差尽可能小,从而提高我们的预测准确性。

这自然就引出了下一个问题...

4. 如何从数学上获得这条最佳拟合线?

如果我们回顾一下线性方程,有两个需要求解的重要变量,从现在开始我们将其称之为权重:

  • A,表示斜率的角度。
  • B,定义了直线的起始位置。

为此,我们会用到一个称为成本函数的特殊工具。可以将成本函数视为一种帮助我们找到最优权重值的方法。

对于线性回归,我们使用均平方误差(Mean Squared Error, MSE)作为成本函数,这是一个度量预测值与实际结果之间平均平方偏差的指标。

在计算平均值之前,我们对每个误差进行平方处理,这样可以确保所有偏差,不管是正还是负,在总体度量中的贡献都相同。

这个过程强调了较大的误差,为模型的性能提供了一个清晰的画面。

一旦我们有了成本函数,就有两种主要方法来评估这样的优化问题。

4.1 普通最小二乘法(OLS)

普通最小二乘法 (Ordinary Least Squares, OLS) 的目标是通过最小化预测误差平方的总和来确定最佳系数 A 和 B。

利用微积分,我们利用偏导数的性质来定位成本函数的最小值,也就是这些导数等于零的时候。

通过解决这些数学问题,我们得到了 A 和 B 的精确封闭数学公式,为我们提供了获得最准确线性模型的直接途径。

4.2 梯度下降(Gradient Descent)

梯度下降(Gradient Descent)是一种关键的优化算法,用于最小化成本函数,帮助我们为预测模型找到最准确的权重值。

想象一下,站在山顶上,你的目标是下面的山谷——这就表示我们成本函数的最低点。

为了达到这个目标,我们从对权重 A 和 B 的初步猜测开始,然后迭代细化这些猜测。

这个过程类似于下山:每走一步,我们都会评估周围的环境并调整我们的轨迹,以确保每一步都能让我们更接近谷底。

这些步骤以学习率为指导,学习率是方程中符号为 lr 的重要超参数。这个学习率控制着我们的步数大小或对参数 A 和 B 的调整,确保我们不会超过最小值。

当我们每走一步时,都会计算成本函数相对于 A 和 B 的偏导数,分别表示为 dA 和 dB。这些导数为我们指明了成本函数下降最快的方向,类似于在我们隐喻的山丘上找到最陡峭的下降点。

每次迭代中 A 和 B 的更新方程(考虑学习率)如下:

重复这个细致的过程,直到我们达到一个成本函数的下降可以忽略不计的点,表明我们已经达到或接近全局最小值——也就是预测误差最小化,模型准确性最大化的目标。

5. 评估(Evaluation)

现在,我们来谈谈如何检查我们的简单线性回归模型的表现是否良好。有两种主要方法可以做到这一点:

5.1 决定系数或 R 平方 (R²)

这是一种奇特的方式,用来说明我们试图预测的变化数量可以通过我们的自变量(引起变化的变量)来解释。它像一个 0 到 1 之间的分数。

  • 如果它接近 1,则意味着我们的模型正在解释很多正在发生的事情。
  • 如果它更接近 0,则不会那么多。

5. 2 均方根误差(RMSE)

这是关于我们的预测中有多少错误或失误的问题。就像取所有误差,将它们平方(使得它们全部为正),对它们求平均,然后取平均值的平方根。它会给我们一个数字,告诉我们平均而言我们的预测值距离实际值有多远。

这个数字越小,表示模型的预测能力就越好。

6. 应用线性回归的假设

为了使线性回归发挥良好的作用,在将其应用于随机数据集之前,我们需要记住一些关键事项。

6.1变量的线性

自变量和因变量这两个变量都需要以直线方式连接。这意味着,如果其中一个上涨或下跌,另一个往往会以可预测的直线模式跟随。

6.2 残差的独立性

关于误差——这些是我们在预测事物时犯的小错误。我们希望确保这些错误不遵循任何模式或相互依赖。它们应该是随机发生的。

6.3 残差的正态分布

此外,当我们查看所有这些误差(或所谓的残差)的平均值时,它们应该以正常方式展开,就像大多数误差聚集在中间一样(应该接近于 0)。

6.4 残差的等方差

最后,这些误差的分布需要保持一致——当我们在数据间移动时,它们不应该变大或变小。它们应该有所变化,但变化量应该始终保持不变。

7. 结论

在本文中,我们揭开了简单线性回归的神秘面纱,展示其在理解数据趋势方面的基本作用。

我们探索了自变量和因变量之间的关系,强调对误差最小化来实现准确的预测。

我们讨论了包括用于优化模型的数学方法,例如普通最小二乘法 (OLS) 和梯度下降。

我们使用 R² 和 RMSE 指标评估了模型的有效性,并强调了满足关键假设对于成功应用的重要性。

关注我,我将在下一篇文章中通过一个端到端的项目将过理论付诸实践,展示简单线性回归的实现。


推荐阅读👇👇👇

机器学习基础:一文搞懂“二分类之王”—支持向量机(SVM)背后的数学原理

Python自动化:适合新手练习的5个有趣又实用的Python脚本,帮你快速掌握编程技能!拿走不谢!

万字长文:数据科学中 25 个最重要的数学概念(收藏!!!)

神经网络中的梯度累积及其工作原理

Python开发技巧:使用显式打包简化导入

- END -

🌟 喜欢这篇文章吗?给个赞支持一下吧!🌟

如果你发现今天的内容对你有帮助,不妨点个赞并关注我,第一时间接收更多关于Python、数据分析和机器学习的深入分析和最新趋势。我们一起探索数据的力量,解锁AI的潜能。你的每一次互动都是对我的极大鼓励,也是我们共同成长的动力!

👇👇👇 关注并开启星标提醒,让知识与技能的火花不断在你的职业道路上燃烧吧!

原文作者:数据派探险家;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2017-12-19

  • 博文量
    119
  • 访问量
    55957