线性回归是统计学中用来描述变量之间关系的术语,它通过模型估计变量之间的关系。在线性回归模型中,关注的是因变量Y与一个或多个自变量X之间的关系。如果只有一个自变量,这种模型被称为简单线性回归;如果有一个以上的自变量,则称为多元线性回归。这些模型都是基于因变量与自变量之间的线性关系进行建模的。
在机器学习中,预测模型的基本算法是相同的。以一个包含一个自变量(x)和一个样本训练集为例,其中因变量是房子的大小(x),预测值是房子的价格(y)。由于y与x之间存在线性关系,可以构建一个假设,该假设可以表示为直线方程(y=mx+c)。在这里,θ₀和θ₁也被称为回归系数。
为了分析形成的假设行为,假设θ₀=2和θ₁=5/8。目标是选择θ₀和θ₁的值,使模型更准确或预测值更精确。为此,需要查看可以最小化的术语,以获得最准确的结果。首先,可以减少假设模型预测值与实际值之间的误差/差异,因此希望最小化函数,对于每个有效的数据条目(i),其中i表示数据中的有效数据条目。
如果想要最小化每个值的误差,那么需要最小化平方误差函数,该函数被称为成本函数(C),它依赖于两个变量θ₀和θ₁,目标是最小化这个成本函数(C)。为此,将使用批量梯度下降。
梯度下降技术有助于找到最优的θ₀和θ₁。以下是它如何帮助找到最小成本函数(最优的θ₀和θ₁)。首先随机选择θ₀和θ₁的值,然后不断同时更新θ₀和θ₁的值,直到收敛。如果成本函数不再下降,就达到了局部最小值。需要注意的是,θ₀和θ₁的值必须同时增加,这意味着可以分开θ₀和θ₁的值,稍后更新它们。如果值不同时更新,例如,θ₁的方程将获得θ₀的更新值,从而提供错误的结果。
接下来,讨论如何选择适当的学习率(α)值。如果α的值太低,模型将消耗时间并且收敛速度慢。如果α的值太高,θ₀和θ₁可能会超过最优值,从而降低模型的准确性。在α值高的情况下,θ₀和θ₁可能会在两个值之间不断反弹,并且可能永远无法达到最优值。通常,α的值取决于因变量的范围。不能对x的范围从1到10,000,000和0.01到0.001使用相同的α值。因此,选择与x相关的α值是有意义的。在大多数情况下,α = x * 10^(-3)。
还需要注意的是,即使设置了一个恒定的α值,θ₀和θ₁的值变化也会在每一步中减少,因为随着θ₀和θ₁接近最小值,梯度下降的斜率会减小。
为了更直观地展示,绘制一个只包含一个特征(θ₁)的图表,比较C(θ₁)的变化与θ₁的变化。正如在这里看到的,θ₀和θ₁的变化率取决于学习率(α)。
在多元线性回归(MLR)中,将有多个自变量(x)和一个因变量(y)。与考虑一个包含m个数据条目的向量不同,需要考虑一个n×m的X矩阵,其中n是因变量的总数。因此,让将这些观察结果扩展到获得对具有多个特征或多元线性回归的线性回归的洞察。
首先,假设将改变为n个特征,而不仅仅是一个特征。在多元线性回归的情况下,最重要的是确保所有特征都在同一尺度上。不希望一个特征的范围是1到10,000,而另一个特征的范围是0.1到0.01。因此,在做出任何假设之前,对特征进行缩放是很重要的。
实现特征缩放的方法有很多,将在这里讨论的方法是均值归一化。顾名思义,所有特征的均值大约为0。计算归一化值的公式是:
Mean normalisation formula: X = (X - u) / S
其中u是训练集中X₁的平均值,S₁是值的范围。S₁也可以选择为X₁的标准差,值仍然会被归一化,但范围会改变。
在MLR中,成本函数将被修改为:
Cost function for MLR: C(θ) = (1/(2m)) * Σ((hθ(x^(i)) - y^(i))^2)
梯度下降的同步更新将改变为:
Normal Equation: θ = (X^T * X)^(-1) * X^T * y
知道批量梯度下降是一个迭代算法,它在每次迭代中使用所有训练集。但是,梯度下降对于较大的n值效果更好,并且在大型数据集中比正规方程更受青睐。相反,正规方程利用向量和矩阵来找到最小值。
在假设中,有θ的值以及从0到n的x,因此分别创建θ和x的向量,形成的假设将是:
为了找到减少成本函数的θ的最小值,并跳过选择适当的学习率(α)的步骤,可视化像等高线图或3D图的步骤,以及不进行特征缩放,最优的θ值可以计算为: