在数据和计算机程序的世界里,机器学习这个概念听起来可能是一个很难解决的概念,充满了棘手的数学和复杂的思想。
这就是为什么我今天想要放慢脚步,检视让这一切发挥作用的基础知识。我将通过一个机器学习基础教程系列,用更直观的方式向大家解释机器学习中的一些关键概念,帮助大家更好更轻松地入门机器学习。
今天的主角是简单线性回归,我们将重新回顾这个简单但极其重要的模型,它是机器学习的重要组成部分。可以将其视为一个大拼图的简单部件。我们要回到简单的东西,让人真正理解其中到底发生了什么。
所以请抓紧上车,和我一起逐步分解它,让它变得更清晰透明。
接下来,让我们一起深入探讨简单线性回归(Simple Linear Regression)吧!👇🏻🤓
预测分析的领域是广阔的,但其核心在于线性回归 — 这是理解数据趋势的最简单方法。
也许将其扩展到多个变量可能看起来令人生畏,所以我们今天重点关注的是简单线性回归。
🎯 主要目标是什么?
找出以下两者之间的线性关系:
通俗地说,线性回归就是找到一条直线,用以表示两件事物之间的联系 — 比如你学习的多少(这就是独立部分)和你的考试成绩(这就是依赖部分)。因为,一般来说,一个人的考试成绩通常与其付出的努力程线性关系。
核心思想是了解一件事物如何预测另一件事物。
听起来很有趣,对吗?
那么现在...让我们试着理解一下线性回归,思考一下...
把它想象成一个团队合作的过程,两件事物一起工作:
它们需要有一种直线关系,就像在地图上按直线路径前进一样,可以找到我们想要的答案。
现在,找到完美的路径 — 或者在我们的场景下,找到最佳拟合线 — 不是凭猜测。
在讨论数值数据时,我们使用独特的公式来识别线性回归中的最佳拟合线。理解变量之间存在线性相关性,我们就可以直接应用线性函数来确定我们的预测因子。
在这个简单的数学公式中,有 4 个主要变量:
使用这些变量,我们可以画出一条穿过数据点的直线,展示我们所关注的两个变量之间的联系。
既然我们知道如何定义这种关系,你可能会想知道...
所以最终的想法非常明确:我们想要一条误差最少的直线。
那么误差又是什么呢?
在这个案例中,误差意味着我们的猜测结果与实际结果之间的距离。因此,我们将误差定义为预测值与实际值之间的差异。
因此,最佳拟合直线就是那条误差最小的直线。换句话说,也就是我们预测的结果和实际发生的结果之间的细微差异最小。
有一个特殊的名称用于表示这些误差:我们称之为残差(residuals)。我们希望这些残差或误差尽可能小,从而提高我们的预测准确性。
这自然就引出了下一个问题...
如果我们回顾一下线性方程,有两个需要求解的重要变量,从现在开始我们将其称之为权重:
为此,我们会用到一个称为成本函数的特殊工具。可以将成本函数视为一种帮助我们找到最优权重值的方法。
对于线性回归,我们使用均平方误差(Mean Squared Error, MSE)作为成本函数,这是一个度量预测值与实际结果之间平均平方偏差的指标。
在计算平均值之前,我们对每个误差进行平方处理,这样可以确保所有偏差,不管是正还是负,在总体度量中的贡献都相同。
这个过程强调了较大的误差,为模型的性能提供了一个清晰的画面。
一旦我们有了成本函数,就有两种主要方法来评估这样的优化问题。
普通最小二乘法 (Ordinary Least Squares, OLS) 的目标是通过最小化预测误差平方的总和来确定最佳系数 A 和 B。
利用微积分,我们利用偏导数的性质来定位成本函数的最小值,也就是这些导数等于零的时候。
通过解决这些数学问题,我们得到了 A 和 B 的精确封闭数学公式,为我们提供了获得最准确线性模型的直接途径。
梯度下降(Gradient Descent)是一种关键的优化算法,用于最小化成本函数,帮助我们为预测模型找到最准确的权重值。
想象一下,站在山顶上,你的目标是下面的山谷——这就表示我们成本函数的最低点。
为了达到这个目标,我们从对权重 A 和 B 的初步猜测开始,然后迭代细化这些猜测。
这个过程类似于下山:每走一步,我们都会评估周围的环境并调整我们的轨迹,以确保每一步都能让我们更接近谷底。
这些步骤以学习率为指导,学习率是方程中符号为 lr 的重要超参数。这个学习率控制着我们的步数大小或对参数 A 和 B 的调整,确保我们不会超过最小值。
当我们每走一步时,都会计算成本函数相对于 A 和 B 的偏导数,分别表示为 dA 和 dB。这些导数为我们指明了成本函数下降最快的方向,类似于在我们隐喻的山丘上找到最陡峭的下降点。
每次迭代中 A 和 B 的更新方程(考虑学习率)如下:
重复这个细致的过程,直到我们达到一个成本函数的下降可以忽略不计的点,表明我们已经达到或接近全局最小值——也就是预测误差最小化,模型准确性最大化的目标。
现在,我们来谈谈如何检查我们的简单线性回归模型的表现是否良好。有两种主要方法可以做到这一点:
这是一种奇特的方式,用来说明我们试图预测的变化数量可以通过我们的自变量(引起变化的变量)来解释。它像一个 0 到 1 之间的分数。
这是关于我们的预测中有多少错误或失误的问题。就像取所有误差,将它们平方(使得它们全部为正),对它们求平均,然后取平均值的平方根。它会给我们一个数字,告诉我们平均而言我们的预测值距离实际值有多远。
这个数字越小,表示模型的预测能力就越好。
为了使线性回归发挥良好的作用,在将其应用于随机数据集之前,我们需要记住一些关键事项。
自变量和因变量这两个变量都需要以直线方式连接。这意味着,如果其中一个上涨或下跌,另一个往往会以可预测的直线模式跟随。
关于误差——这些是我们在预测事物时犯的小错误。我们希望确保这些错误不遵循任何模式或相互依赖。它们应该是随机发生的。
此外,当我们查看所有这些误差(或所谓的残差)的平均值时,它们应该以正常方式展开,就像大多数误差聚集在中间一样(应该接近于 0)。
最后,这些误差的分布需要保持一致——当我们在数据间移动时,它们不应该变大或变小。它们应该有所变化,但变化量应该始终保持不变。
在本文中,我们揭开了简单线性回归的神秘面纱,展示其在理解数据趋势方面的基本作用。
我们探索了自变量和因变量之间的关系,强调对误差最小化来实现准确的预测。
我们讨论了包括用于优化模型的数学方法,例如普通最小二乘法 (OLS) 和梯度下降。
我们使用 R² 和 RMSE 指标评估了模型的有效性,并强调了满足关键假设对于成功应用的重要性。
关注我,我将在下一篇文章中通过一个端到端的项目将过理论付诸实践,展示简单线性回归的实现。
推荐阅读👇👇👇
机器学习基础:一文搞懂“二分类之王”—支持向量机(SVM)背后的数学原理
Python自动化:适合新手练习的5个有趣又实用的Python脚本,帮你快速掌握编程技能!拿走不谢!
万字长文:数据科学中 25 个最重要的数学概念(收藏!!!)
- END -
🌟 喜欢这篇文章吗?给个赞支持一下吧!🌟
如果你发现今天的内容对你有帮助,不妨点个赞并关注我,第一时间接收更多关于Python、数据分析和机器学习的深入分析和最新趋势。我们一起探索数据的力量,解锁AI的潜能。你的每一次互动都是对我的极大鼓励,也是我们共同成长的动力!

👇👇👇 关注并开启星标提醒,让知识与技能的火花不断在你的职业道路上燃烧吧!
原文作者:数据派探险家;如有侵权,请联系管理员删除。