登录
原创

机器学习菜鸟的学习笔记(3)

专栏学渣的机器学习之路
发布于 2020-10-21 阅读 89
  • Python
  • 机器学习
原创

3. 参数学习

3.1 梯度下降 Gradient Descent

现在,我们有了假设函数,并且有了一种方法来衡量它与数据的拟合程度。 现在需要做的是估计假设函数中的参数。 在此引入梯度下降。
gd1.png

当代价函数位于图中凹坑的最底部时,即当其值最小,我们就成功了。红色箭头显示图中的最小点。

方法是计算代价函数的导数(函数的切线)。切线的斜率是该点的导数,它提供一个方向。我们沿下降最陡的方向逐步降低代价函数。每个步骤的大小由参数α(称为学习率)确定。

例如,上图中每个 “X” 之间的距离代表由参数α确定的步长。较小的α将导致较小的步长,较大的α将导致较大的步长。前进的方向由J(θ0,θ1)的偏导确定。根据在图上的起点不同,可能会在不同的点结束。上图为我们提供了两个不同的起点,它们以两个不同的位置结束。

梯度下降算法为:
gd2.png
其中j = 0,1代表特征索引。

在每次迭代j时,应同时更新参数θ1,θ2,…,θn。在第j次迭代中计算另一个参数之前,更新特定参数会导致错误。
gd3.png

3.2 梯度下降I Gradient Descent I

单个参数公式为:
gd21.png

下图显示,当斜率为负时,θ1的值增大,当斜率为正时,θ1的值减小:
gd22.png

当学习率α太大或太小:
gd28.png

梯度下降如何以固定步长α收敛?

当我们接近凸函数的底部时,J(θ1)的偏导接近0。因此我们得到:
gd23.png

当专门用于线性回归时,可以得出新的形式的梯度下降方程。 我们可以用实际成本函数和实际假设函数代替,并将等式修改为:
gdl1.png

其中m是训练集θ0的大小,该常数将与θ1同时变化,xi,yi是给定训练集(数据)的值。

以下是单个示例的偏导:
gd24.png
所有这些的要点是,从对假设开始,重复应用这些梯度下降方程,则假设将变得越来越准确。

因此,这只是原始成本函数J的梯度下降。此方法用于每训练集中的每个示例,称为批梯度下降。 请注意,虽然梯度下降通常可能会受到局部极小值的影响,但是我们在此处为线性回归提出的优化问题只有一个全局最优,而没有其他局部最优。 因此,梯度下降总是会收敛(假设学习率α不太大)到全局最小值。 J是一个凸二次函数。

评论区

Nexus_G
12粉丝

失学青年面临失业

0

0

0