线性回归和学习率

数据挖掘 线性回归
2022-03-13 07:49:39

你能告诉我为什么我们使用学习率向导数方向移动以找到最小值吗?单纯的算0在哪里为什么不好呢?

3个回答

学习率给出了梯度下降过程中梯度移动的速度。设置得太高会使你的路径不稳定,太低会使收敛缓慢。将其设置为零意味着您的模型没有从梯度中学习任何东西。

使用下图可以理解学习的使用 凸成本函数

通常梯度下降中使用的成本函数是凸的,如上图所示。这对于具有多个特征的数据也是类似的,因为对于这样的数据,我们可以以类似的方式一次推论一个特征。

假设我们在训练期间处于 A 点,此时点梯度为 G,这意味着成本在 G 方向上的增长最快。所以我们希望以某个步长(即学习率)向 G 的相反方向移动。

如上图所示,成本在负轴的方向上增加,所以我们想要在正轴的方向上移动。但是,如果我们在那个方向上移动太多,即在点处,那么实际上成本价值已经增加。如果我们总是以相同的速度移动,那么我们永远不会达到最低点。w2w2w2=6

所以我们需要一个适合这个成本函数的学习率,这样它就足够大,我们可以快速下降,但又足够低,不会射到曲线的另一边

方向由我们在梯度下降算法中使用的导数控制。Alpha 基本上告诉算法每一步的激进程度。如果设置 alpha = 0.10 ,与 alpha = 0.01 的情况相比,GD 的每次迭代都会采取更大的步骤。换句话说,alpha 决定了每次迭代对参数所做的更改有多大。

梯度下降算法:

梯度下降算法方程

单纯的算0在哪里为什么不好呢?

将 alpha 设置为零将使算法无法从示例中学到任何东西。

如何学习阿尔法?

这是命中和跟踪过程。您尝试不同的 alpha 值并在成本(目标)函数和执行的迭代次数之间绘制图表。单纯的算0在哪里为什么不好呢?

在此处输入图像描述

根据上图,aplha= 0.3 导致 GD 算法在更少的迭代次数内收敛。