什么是线性回归? 它如何用于机器学习
已发表: 2021-07-16线性回归不是统计的一部分吗?
毫无疑问,是的。
事实上,大多数 机器学习 (ML)算法是从各个领域借来的,主要是统计学。 任何可以帮助模型更好地预测的东西最终都会成为 ML 的一部分。 因此,可以肯定地说,线性回归既是一种统计算法,也是一种机器学习算法。
线性回归是一种流行且简单的算法,用于数据科学和机器学习。 它是 监督学习 算法和最简单的回归形式,用于研究变量之间的数学关系。
更准确地说,线性回归用于确定因变量与一系列其他自变量之间关联的特征和强度。 它有助于创建模型以进行预测,例如预测公司的股价。
在尝试将线性模型拟合到观察到的数据集之前,应该评估变量之间是否存在关系。 当然,这并不意味着一个变量会导致另一个变量,但它们之间应该存在一些明显的相关性。
例如,更高的大学成绩并不一定意味着更高的薪水。 但是这两个变量之间可能存在关联。
你可知道? 术语“线性”意味着类似于线或属于线。
创建散点图是确定解释(独立)变量和因变量之间关系强度的理想选择。 如果散点图未显示任何增加或减少的趋势,则将线性回归模型应用于观察值可能没有好处。
相关系数用于计算两个变量之间的关系有多强。 它通常用r表示,值介于 -1 和 1 之间。正相关系数值表示变量之间存在正相关关系。 同样,负值表示变量之间的负关系。
提示:仅当相关系数为正或负 0.50 或更高时才执行回归分析。
如果您查看学习时间和成绩之间的关系,您可能会看到一种积极的关系。 另一方面,如果您查看社交媒体上的时间与成绩之间的关系,您很可能会看到负相关关系。
在这里,“成绩”是因变量,学习时间或社交媒体时间是自变量。 这是因为成绩取决于你花多少时间学习。
如果您可以通过散点图和相关系数在变量之间建立(至少)中等相关性,则所述变量具有某种形式的线性关系。
简而言之,线性回归试图通过将线性方程应用于观察到的数据来模拟两个变量之间的关系。 线性回归线可以用直线方程表示:
y = mx + b
在这个简单的线性回归方程中:
- y是估计的因变量(或输出)
- m是回归系数(或斜率)
- x是自变量(或输入)
- b是常数(或 y 截距)
找到变量之间的关系可以预测值或结果。 换句话说,线性回归可以根据现有数据预测新值。
一个例子是根据收到的降雨量预测作物产量。 在这种情况下,降雨量是自变量,作物产量(预测值)是因变量。
自变量也称为预测变量。 同样,因变量也称为响应变量。
线性回归中的关键术语
理解线性回归分析也意味着熟悉一堆新术语。 如果您刚刚踏入统计学或机器学习的世界,对这些术语有一个公平的理解会很有帮助。
- 变量:可以计算或测量的任何数字、数量或特征。 它也称为数据项。 收入、年龄、速度和性别就是例子。
- 系数:它是一个数字(通常是整数)乘以它旁边的变量。 例如,在 7x 中,数字 7 是系数。
- 异常值:这些数据点与其他数据点显着不同。
- 协方差:两个变量之间线性关系的方向。 换句话说,它计算两个变量线性相关的程度。
- 多变量:这意味着涉及两个或多个因变量导致单一结果。
- 残差:因变量的观测值和预测值之间的差异。
- 可变性:缺乏一致性或分布被挤压或拉伸的程度。
- 线性:与比例关系密切的数学关系的属性,可以用图形表示为一条直线。
- 线性函数:它的图形是一条直线的函数。
- 共线性:自变量之间的相关性,使得它们在回归模型中表现出线性关系。
- 标准差 (SD):它是数据集相对于其平均值的离散度的量度。 换句话说,它是衡量数字分散程度的指标。
- 标准误差 (SE):统计样本总体的近似 SD。 它用于测量可变性。
线性回归的类型
线性回归有两种类型:简单线性回归和多元线性回归。
简单线性回归方法试图找出单个自变量与相应因变量之间的关系。 自变量是输入,对应的因变量是输出。
提示:您可以在各种编程语言和环境中实现线性回归,包括 Python、R、MATLAB 和 Excel。
多元线性回归方法试图找到两个或多个自变量与相应因变量之间的关系。 还有一个多元线性回归的特殊情况,称为 多项式回归。
简单地说,简单的线性回归模型只有一个自变量,而多元线性回归模型将有两个或多个自变量。 是的,还有其他非线性回归方法用于高度复杂的数据分析。
逻辑回归与线性回归
线性回归预测给定自变量集的连续因变量,而逻辑回归预测分类因变量。
两者都是监督学习方法。 但是,虽然线性回归用于解决回归问题,但逻辑回归用于解决分类问题。

当然,逻辑回归可以解决回归问题,但主要用于分类问题。 它的输出只能是 0 或 1。在需要确定两个类之间的概率或者换句话说,计算事件的可能性的情况下,它很有价值。 例如,逻辑回归可用于预测今天是否会下雨。

线性回归的假设
在使用线性回归来建模变量之间的关系时,我们做了一些假设。 假设是我们使用模型进行预测之前应该满足的必要条件。
通常有四个与线性回归模型相关的假设:
- 线性关系:自变量x和因变量y之间存在线性关系。
- 独立性:残差是独立的。 时间序列数据中的连续残差之间没有相关性。
- 同方差性:残差在所有级别上具有相等的方差。
- 正态性:残差是正态分布的。
求解线性回归模型的方法
在机器学习或统计术语中,学习线性回归模型意味着使用可用数据猜测系数的值。 可以将几种方法应用于线性回归模型以使其更有效。
提示:使用机器学习软件消除单调的任务并做出准确的预测。
让我们看看用于解决线性回归模型的不同技术,以了解它们的差异和权衡。
简单线性回归
如前所述,简单线性回归中有一个输入或一个自变量和一个因变量。 它用于找到两个变量之间的最佳关系,因为它们是连续的。 例如,它可以用来根据消耗的卡路里来预测体重增加的数量。
普通最小二乘
普通最小二乘回归是另一种在有多个自变量或输入时估计系数值的方法。 它是求解线性回归的最常用方法之一,也称为正规方程。
此过程试图最小化残差平方和。 它将数据视为一个矩阵,并利用线性代数运算来确定每个系数的最佳值。 当然,这种方法只有在我们可以访问所有数据的情况下才可以应用,并且还应该有足够的内存来容纳数据。
梯度下降
梯度下降是解决线性回归问题最简单和常用的方法之一。 当有一个或多个输入并且涉及通过迭代最小化模型的误差来优化系数值时,它很有用。
梯度下降从每个系数的随机值开始。 对于每对输入和输出值,计算平方误差的总和。 它使用比例因子作为学习率,每个系数在方向上更新以最小化误差。
重复该过程,直到无法进一步改进或达到最小平方和。 当存在包含大量行和列而无法放入内存的大型数据集时,梯度下降很有帮助。
正则化
正则化是一种尝试使模型的平方误差之和最小化,同时降低模型复杂度的方法。 它使用普通最小二乘法减少平方误差之和。
套索回归和岭回归是线性回归中正则化的两个著名例子。 当自变量存在共线性时,这些方法很有价值。
亚当的方法
自适应矩估计或ADAM是一种优化算法,用于 深度学习。 这是一种迭代算法,在噪声数据上表现良好。 它易于实现,计算效率高,并且内存要求最低。
ADAM 结合了两种梯度下降算法——均方根传播 (RMSprop)和自适应梯度下降。 ADAM 不是使用整个数据集来计算梯度,而是使用随机选择的子集来进行随机近似。
ADAM 适用于涉及大量参数或数据的问题。 此外,在这种优化方法中,超参数通常需要最少的调整并且具有直观的解释。
奇异值分解
奇异值分解或SVD是线性回归中常用的降维技术。 这是一个预处理步骤,可减少学习算法的维数。
SVD 涉及将矩阵分解为其他三个矩阵的乘积。 适用于高维数据,对于小数据集高效稳定。 由于其稳定性,它是求解线性回归线性方程的最优选方法之一。 但是,它容易受到异常值的影响,并且在使用庞大的数据集时可能会变得不稳定。
为线性回归准备数据
在大多数情况下,现实世界的数据是不完整的。
与任何其他机器学习模型一样,数据准备和预处理是线性回归中的关键过程。 会有缺失值、错误、异常值、不一致和缺少属性值。
这里有一些方法可以解释不完整的数据并创建更可靠的预测模型。
- 线性回归认为预测变量和响应变量没有噪声。 因此,通过多次数据清除操作消除噪声至关重要。 如果可能,您应该删除输出变量中的异常值。
- 如果输入和输出变量具有高斯分布,线性回归会做出更好的预测。
- 如果您使用归一化或标准化重新调整输入变量,线性回归通常会做出更好的预测。
- 如果有很多属性,则需要将数据转换为线性关系。
- 如果输入变量高度相关,则线性回归将过拟合数据。 在这种情况下,去除共线性。
线性回归的优缺点
线性回归是最容易理解和最容易实现的算法之一。 它是分析变量之间关系的好工具。
以下是线性回归的一些显着优势:
- 由于其简单性,它是一种首选算法。
- 虽然它很容易出现过拟合,但可以借助降维技术来避免这种情况。
- 它具有良好的可解释性。
- 它在线性可分数据集上表现良好。
- 空间复杂度低; 因此,它是一种高延迟算法。
但是,对于大多数实际应用,通常不建议使用线性回归。 这是因为它通过假设变量之间的线性关系过度简化了现实世界的问题。
以下是线性回归的一些缺点:
- 异常值会对回归产生负面影响
- 由于变量之间应该存在线性关系以拟合线性模型,因此假设变量之间存在直线关系
- 它认为数据是正态分布的
- 它还研究了自变量和因变量的平均值之间的关系
- 线性回归不是对变量之间关系的完整描述
- 变量之间存在高度相关性会显着影响线性模型的性能
先观察,再预测
在线性回归中,评估变量是否具有线性关系至关重要。 尽管有些人确实试图在不看趋势的情况下进行预测,但最好确保变量之间存在适度强的相关性。
如前所述,查看散点图和相关系数是很好的方法。 是的,即使相关性很高,最好还是看看散点图。 简而言之,如果数据在视觉上是线性的,那么线性回归分析是可行的。
虽然线性回归可以让您预测因变量的值,但有一种算法可以对新数据点进行分类或通过查看它们的邻居来预测它们的值。 它被称为 k-最近邻算法,它是一种惰性学习器。
