回复我们公众号“1号程序员”的“E001”可以获取《BAT机器学习面试1000题》下载链接。[关注并回复:【E001】]
线性回归是一种监督式机器学习算法,它计算因变量与一个或多个独立特征之间的线性关系。当独立特征的数量为1时,被称为单变量线性回归;在存在多于一个特征的情况下,被称为多变量线性回归。该算法的目标是找到最佳的线性方程,以便基于独立变量预测因变量的值。该方程提供了一条直线,表示因变量和独立变量之间的关系。直线的斜率表明因变量在独立变量发生单位变化时的变化量。
线性回归在许多不同领域中被使用,包括金融、经济学和心理学,用于理解和预测特定变量的行为。例如,在金融领域,线性回归可能被用于理解公司股价与其收益之间的关系,或者根据货币过去的表现预测其未来的价值。
【资料图】
监督学习中最重要的任务之一是回归。在回归中,一组记录具有X和Y值,并且这些值被用于学习一个函数,以便在你想要根据未知的X预测Y时可以使用这个学习到的函数。在回归中,我们需要找到Y的值,因此,在回归的情况下需要一个预测连续Y的函数,而X则作为独立特征。
在这里,Y被称为因变量或目标变量,而X被称为独立变量,也被称为Y的预测变量。有许多种类型的函数或模型可用于回归。线性函数是最简单的函数类型。在这里,X可以是表示问题的单个特征或多个特征。
线性回归执行的任务是基于给定的独立变量(x)来预测一个因变量值(y)。在上面的图中,X(输入)代表工作经验,Y(输出)代表一个人的薪水。回归线是我们模型的最佳拟合线。
线性回归模型的假设:
线性回归是一种强大的工具,用于理解和预测变量的行为,然而,为了得到准确可靠的解决方案,它需要满足一些条件。
(1)线性关系:独立变量和因变量之间存在线性关系。这意味着因变量的变化以线性方式跟随独立变量发生变化。
(2)独立性:数据集中的观测相互独立。这意味着一个观测的因变量值不取决于另一个观测的因变量值。
(3)方差齐性:在所有独立变量的取值范围内,误差的方差是恒定的。这表示独立变量的数量对误差的方差没有影响。
(4)正态性:模型中的误差服从正态分布。
(5)无多重共线性:独立变量之间没有高度相关性。这表示独立变量之间几乎没有或没有相关性。
这些条件是确保线性回归模型的准确性和可靠性所必需的。
线性回归的假设函数:
正如我们之前假设的,我们的独立特征是工作经验X,相应的薪水Y是因变量。假设X和Y之间存在线性关系,那么可以使用以下方式预测薪水:
该模型通过找到最佳的θ1和θ2值来得到最佳的回归拟合线。θ1是截距,θ2是输入x的系数。
一旦我们找到了最佳的θ1和θ2值,我们就得到了最佳拟合线。因此,当我们最终将我们的模型用于预测时,它将根据输入的x值预测y的值。
代价函数:
代价函数或损失函数实际上是预测值与真实值之间的误差或差异。它是预测值与真实值之间的均方误差(MSE)。代价函数(J)可以表示为:
如何更新 θ1 和 θ2 值以获得最佳拟合线呢?
为了实现最佳拟合的回归线,模型旨在预测目标值 ,使得预测值与真实值之间的误差最小。因此,更新 θ1 和 θ2 的值以达到最小化预测值与真实值之间误差的最佳值是非常重要的。
梯度下降:
可以使用梯度下降优化算法来训练线性回归模型,通过迭代地修改模型的参数以减少模型在训练数据集上的均方误差(MSE)。为了更新 θ1 和 θ2 的值以减少代价函数(最小化均方根误差值)并实现最佳拟合线,模型使用梯度下降。其思想是从随机的 θ1 和 θ2 值开始,然后迭代地更新这些值,达到最小的代价。
梯度实际上是一个导数,它定义了在输入略微变化时对函数输出的影响。它描述了函数的斜率或变化率,指示了在给定点上函数值增加最快的方向。在梯度下降中,我们利用梯度的方向来调整参数,以便更接近代价函数的最小值。
让我们对代价函数 J 关于 θ1 进行求导:
让我们对代价函数 J 关于 θ2 进行求导:
寻找最佳拟合训练数据的线性方程的系数是线性回归的目标。通过沿着均方误差负梯度的方向相对于系数的方向移动,可以改变系数。当学习率为 alpha 时,相应的截距和X的系数为: