Press "Enter" to skip to content

初识机器学习:梯度下降法

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情

 

上一篇( 08. 初识机器学习:回归分析 )介绍了「回归分析」,它可以根据已有的数据,从变量和结果数据中,找到一组回归系数,帮助我们根据新的变量预测结果。但是上一篇中没有介绍如何根据已有的数据得到一组回归系数。

 

这一篇介绍「梯度下降法」,它可以帮助我们找到最优的权重组合。

 

梯度下降法的通俗解释

 

大多数时候,我们无法直接得到回归系数,这时候,就需要通过一种算法来解决,这个算法就是梯度下降法。

 

梯度下降法,类似于我们站在一片起伏不平的地面上的某个点,然后寻找这块地面上海拔最低的点。与我们能看到地面的起伏情况不同,计算机无法直接看到一个立体的全局图像,梯度下降法寻找最低点的过程更像是我们蒙着眼镜找最高点。

 

那应该怎幺找呢?

 

我们可以朝着一个方向移动一小段距离,如果海拔更低了,那就继续朝着这个方向移动,如果海拔更高了,就朝着相反的方向移动,最终就会到达最低的点。

 

 

寻找最小预测误差

 

梯度下降法的工作原理也是如此,只不过,它是为了找到最优的回归系数组合,使得回归预测的误差最小。

 

 

以上图为例,我们根据样本数据点拟合出一条趋势线,不管是样本数据点并不是精确落在这条线上的,他们之间存在误差,当我们用这条线去预测新的数据时,预测结果和真实值也是存在误差的。

 

使用不同的权重组合得到的预测结果是不同的,也就是预测不差是不同的,梯度下降法正是用来寻找最低误差值的权重组合(类似于之前例子中寻找最低海拔点)。

首先,现初步猜测一个合适的权重,或者使用一组随机的值。

使用这个权重组合,计算每个样本数据中的变量的预测结果,得到预测结果和真实值的误差,所有的误差合起来就是整体误差。

然后调整权重,再计算整体误差,直到无法再将整体误差,也就是无法再找到更优的权重组合。在此过程中,梯度下降法需要判断哪个方向是下降更陡峭的,就像那个方向调整权重。

 

步长

 

梯度下降算法中还有一个需要考虑的因素就是步长,就是向整体误差更低的方向移动的距离,如果步长过大,会导致直接跨过最低点,甚至到了更高的地方,如果步长过小会导致算法迭代次数过多。因此,步长需要根据实际情况进行调节,或者根据「上坡」或者「下坡」的斜率,来调整。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。