线性回归模型是一种统计学方法,它尝试使用一条直线来描述一个因变量(输出变量)与一个或多个自变量(预测变量)之间的关系。这条直线可以通过以下公式表示:
y = mx + c
其中,y 代表因变量,x 代表自变量,m 代表直线的斜率(对于x的单位增加量,y将增加m个单位),c 代表y轴截距(当x的值为0时,y的值即为c)
确定两个变量之间是否存在关系是线性回归分析的第一步。可以通过相关系数和散点图来完成这一步骤。如果相关系数显示数据能够预测未来的结果,并且数据的散点图呈现出直线趋势,就可以使用简单的线性回归来找到预测函数。
通过散点图,可以观察到销售量和市场花费之间存在线性关系。下一步是找到一条直线,用以解释销售量和市场花费之间的关系。然而,可能有多条直线能够通过这些点。如何确定哪一条直线是最合适的呢?这就是将在本文中解决的问题。为此,首先需要查看成本函数。
成本是指预测值的误差。将使用均方误差函数来计算成本。目标是尽可能地最小化成本,以找到最佳拟合直线。不会尝试所有m和c的排列组合来找到最佳拟合直线(这是一种低效的方式)。相反,将使用梯度下降算法。
梯度下降算法是一种在较少迭代次数内为给定的训练数据集找到最佳拟合直线的算法。如果将m和c与均方误差(MSE)作图,它将呈现出碗状(如下面的图表所示)。对于某些m和c的组合,将得到最小的误差(MSE)。m和c的这种组合将给最佳拟合直线。
算法从m和c的某个值开始(通常从m=0, c=0开始)。在m=0, c=0的点计算均方误差(成本)。假设在m=0, c=0时的均方误差(成本)是100。然后通过一定的量(学习步长)减少m和c的值。将注意到均方误差(成本)的减少。将继续这样做,直到损失函数是一个非常小的值或理想情况下为0(这意味着0误差或100%的准确性)。
1. 设置m = 0和c = 0。设L为学习率。它可能是一个小值,比如0.01,以获得良好的准确性。学习率决定了梯度在梯度下降过程中的移动速度。设置得太高会使路径不稳定,太低会使收敛变慢。将其设置为零意味着模型没有从梯度中学习任何东西。
2. 计算成本函数关于m的偏导数。设成本函数关于m的偏导数为Dm(m的微小变化对成本函数的影响)。同样,让找到关于c的偏导数。设成本函数关于c的偏导数为Dc(c的微小变化对成本函数的影响)。
3. 使用以下方程更新m和c的当前值:
m = m - L * Dm
c = c - L * Dc