【机器学习(李宏毅)】四、Gradient Descent

课题:Gradient Descent

Review:Gradient Descent

  • 任务是:求解使得损失函数 Lθ 最小时的 θ 参数 θ L 为损失函数; θ 为模型中的参数 。
  • 假设 θ 有两个变量 θ1,θ2
  • 看PPT,能理解 θ2=θ1ηL(θ1) 中的每一项就行。

【机器学习(李宏毅)】四、Gradient Descent_第1张图片

  • 梯度下降的步骤

【机器学习(李宏毅)】四、Gradient Descent_第2张图片

Tip1:Tunning your learning rates

【机器学习(李宏毅)】四、Gradient Descent_第3张图片
对于Learning Rate,左右两个图表达的是一个意思:

  • 对于small的learning tate,Loss会下降很缓慢。
  • 对于large的learning tate,Loss会一开始下降比较快,但会停住,不再下降。
  • 对于very large的learning tate,Loss会爆炸,无法下降。
  • 对于just make的learning tate,Loss会以一个适当的速度下降,且能降到最低点。

【机器学习(李宏毅)】四、Gradient Descent_第4张图片

Adaptive Learning Rates

流行且简单的想法:每几个周期,通过一些因素,减少学习率。

  • 在一开始,离目标地点较远,所以用较大的学习率。
  • 在一些周期之后,我们接近于目标地点,所以我们减少学习率。
  • 例如: η 是一个常量,t为第t个周期。 ηt=η/t+1

学习率不可能 one-size-fits-all:

  • 给不同的参数,不同的学习率

【机器学习(李宏毅)】四、Gradient Descent_第5张图片

Adagrad

  • 对每一个参数的学习率,除以它之前导数的均方差
  • 注意理解公式 ηt ηt 就是第t个周期的学习率
  • 注意理解公式 gt , gt 是损失函数 L w 的偏微分
  • 注意理解公式 σt σt 是参数 w 之前所有导数的均方差。
  • 总之,理解Adagrad方法对于参数 w 更新公式中的每一项:
  • wt+1wtηtσtgt

【机器学习(李宏毅)】四、Gradient Descent_第6张图片

  • 继续演示Adagrad方法,对于参数 w 的更新步骤:

【机器学习(李宏毅)】四、Gradient Descent_第7张图片

  • Adagrad方法中,对参数 w 更新公式的简化写法:公式见图

这里写图片描述

Contradiction?

对Adagrad方法中,参数w更新公式矛盾性的讨论。

  • gt 使得:更大的梯度,更大的步长
  • XXX(分母项,之前所有倒数的均方差)使得:更大的梯度,更小的步长

【机器学习(李宏毅)】四、Gradient Descent_第8张图片

Intuitive Reason

  • 直觉的解释是:XXXX(分母项,之前所有倒数的均方差)是为了造成反差萌(原话)

【机器学习(李宏毅)】四、Gradient Descent_第9张图片

Larger gradient,large steps?

  • 更大的一次导数意味着离最小值更远(可以从图像看出,不管是第一象限,还是第二象限,离最小值越远的点,导数值越大)

【机器学习(李宏毅)】四、Gradient Descent_第10张图片

Comparsion between different parameters

  • 上一张ppt得出的结论“更大的一次导数意味着离最小值更远”是不能跨参数的。反例如图所示。

【机器学习(李宏毅)】四、Gradient Descent_第11张图片

Second Derivative

  • 二次导数的值即是最佳步长的分母项。
  • 所以最佳步长应该:与一次导数成正比,与二次导数成反比。

【机器学习(李宏毅)】四、Gradient Descent_第12张图片

  • 结合图,解释最佳步长。
  • 在w1方向上,二次微分是比较小的,因为比较平滑
  • 在w2方向上,二次微分比较大,因为比较尖
  • 还是要综合考虑一次微分和二次微分,才能考虑同最低点的距离

【机器学习(李宏毅)】四、Gradient Descent_第13张图片

  • 抛出疑问:Adagrad里面XXXX项,和最佳步长中二次倒数的关系是啥?
  • Adagrad就是用XXXX去估计二次微分,因为之前所有的一次微分 gi 是必须要算的,不算二次微分可以极大减少计算量。
    【机器学习(李宏毅)】四、Gradient Descent_第14张图片

Tip2:Stochastic Gradient Descent

  • make the traing faster

【机器学习(李宏毅)】四、Gradient Descent_第15张图片

Stochastic Gradient Descent

  • 注意理解ppt中公式。
  • 梯度下降: θ 的更新时, 损失函数值是所有训练样本的和。
  • 随机梯度下降: θ 的更新时,损失函数值只是对于某一个样本 xn 。看一个样本,就更新一次参数。

【机器学习(李宏毅)】四、Gradient Descent_第16张图片
对比:

  • 梯度下降:看到所有样本之后,更新参数。
  • 随机梯度下降:看到一个样本,更新一次。如果有20个样本,那就快20倍。

【机器学习(李宏毅)】四、Gradient Descent_第17张图片

Tip3:Feature Scaling

【机器学习(李宏毅)】四、Gradient Descent_第18张图片

  • 如图,让不同的参数有同样的scaling。

【机器学习(李宏毅)】四、Gradient Descent_第19张图片
是否进行Feature Scaling的对比:

  • 做了Feature Scaling之后,参数的更新会比较容易,一直向着圆心走,更有效率。

【机器学习(李宏毅)】四、Gradient Descent_第20张图片
Feature Scaling的方法:

  • xirxirmiσi
  • 均值为0,方差为1

【机器学习(李宏毅)】四、Gradient Descent_第21张图片

Gradient Descent Theroy:

【机器学习(李宏毅)】四、Gradient Descent_第22张图片

  • 提问:每次更新参数之后,都会得到更小的损失值吗?
  • 答案是否定的

【机器学习(李宏毅)】四、Gradient Descent_第23张图片

Waring of Math

  • 以下几张ppt,从数学角度(主要是泰勒级数)解释了梯度下降的合理性。

【机器学习(李宏毅)】四、Gradient Descent_第24张图片

【机器学习(李宏毅)】四、Gradient Descent_第25张图片

【机器学习(李宏毅)】四、Gradient Descent_第26张图片

【机器学习(李宏毅)】四、Gradient Descent_第27张图片

【机器学习(李宏毅)】四、Gradient Descent_第28张图片

【机器学习(李宏毅)】四、Gradient Descent_第29张图片

【机器学习(李宏毅)】四、Gradient Descent_第30张图片

【机器学习(李宏毅)】四、Gradient Descent_第31张图片

【机器学习(李宏毅)】四、Gradient Descent_第32张图片

【机器学习(李宏毅)】四、Gradient Descent_第33张图片

More limitation of Gradient Descent

  • 见图,在plateau、saddle point、local minimum处, w L 的偏微分都近似于0,loss下降极慢,都会使人误以为到了loss最小点。

【机器学习(李宏毅)】四、Gradient Descent_第34张图片

你可能感兴趣的:(机器学习)