对最小二乘法和梯度下降法的理解

线性回归中,最常听到的应该是最小二乘法。最小二乘法在具体实施过程中,在保留核心思想的同时,会有不同程度的改进。因此,最小二乘法有许多变体,如递归最小二乘法和加权最小二乘法。这些会根据实际情况变化。本文主要谈谈我对最小二乘法的理解。

所谓“最小二乘法”,从字面上看就是一个优化问题的体现,所以最小二乘法就是一个优化问题。

我的理解:当自变量和因变量之间存在可以近似描述的函数关系时,我们称这种行为回归。而这个函数叫做回归函数。

回归可以帮助我们预测因变量。根据前面的数据和回归函数,可以大致预测下一个因变量的趋势。这在股票市场和一些时间序列问题中被广泛使用。

假设我们有一组数字,

生成一组随机数,然后我们想用一个函数来描述横轴X和纵轴y的关系,假设它是线性的,假设函数是H (x) = \ theta _ 0+\ theta _ 1 * X。

如果我们得到\ theta _ 0和\ theta _ 1,那么我们的回归函数就可以确定了。对应的y可以通过x计算出来。

如何得到H(x)

让我们的假设函数更能描述真实数据,也就是假设函数更接近真实数据的分布。那么它们之间的误差应该被最小化。

所以,我们得到了成本函数,

J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^m(h(x^{(i)})-y^{(i)})^2

将每个离散值和计算值的误差平方,然后求和,计算总误差。

这时,我们的目标是计算:

最小化J(\theta_0,\theta_1)

以上是最小二乘法的概念。

最小二乘法是一种优化问题的思想,梯度下降法是实现这种优化思想的具体方法。

在求解最小二乘问题中最小化J (\ theta _ 0,\ theta _ 1)的过程中,如果是线性问题,可以尝试使用矩阵,也就是正规方程。只要确保(x tx) {-1}存在于此即可。当然,这也是矩阵计算的一个局限。

正常万能的方法就是梯度下降法(别说他慢)。

梯度下降法的本质是迭代。通过迭代更新\theta的值,逐渐找到J的最小值(\theta_0,\theta_1)。

从上图可以看出,随着横轴迭代次数的增加,纵轴的j值逐渐减小。

我们知道代价函数j (\ theta _ 0,\ theta _ 1)= \ frac { 1 } { 2m } \ sum _ { I = 1 } m(h(x {(I)})-y。

我们的目标函数是最小化j (\ theta _ 0,\ theta _ 1)。

因此,设J(\theta_0,\theta_1)分别求\theta_0和\ theta _ 1的偏导数。

得到,

\frac{\partial J(\theta_0,\ theta _ 1)} { \ partial \ theta _ 0 } = \frac{1}{m}\sum_{i=1}^m(x^{(i)})-y^{(i)})

\ frac { \ partial j(\θ_ 0,\θ_ 1)} { \ partial \θ_ 1 } = \frac{1}{m}\sum_{i=1}^m(x^{(i)})-y^{(i)})x_i

更新\theta:

\ theta _ 0:\ theta _ 0-\ alpha \ frac { \ partial J(\ theta _ 0)} { \ partial \ theta _ 0 }

\ theta _ 1:\ theta _ 1-\ alpha \ frac { \ partial J(\ theta _ 1)} { \ partial \ theta _ 1 }

这里,五彩线是渐变线。我们可以看到,我们的初始\theta是零,然后\theta逐渐逼近最小代价,最后到达[1.6,1.6]的位置。

在梯度下降法中,我们还会有增量梯度下降法等等,但都是为了更快地实现逼近而设计的,具体需要具体分析。