机器学习笔记——9.25课堂补充

机器学习笔记——9.25课堂补充

  • 一、泰勒展开二阶近似向量形式
  • 二、有关梯度下降几个小问题?
    • 1.梯度下降能否保证找到最优的参数?
    • 2.梯度下降法参数更新能否保证损失函数值每次下降?
    • 3.以下损失函数表达式中为何有个系数1/2m?
    • 4.有关学习率的调整策略?
  • 三、求损失函数极小值的另一种解法——正规方程

一、泰勒展开二阶近似向量形式

  • 在之前的博文中我们使用泰勒公式证明了梯度下降方法的正确性。我们根据一元泰勒公式做了两项变换以应用于梯度下降方法的证明:
    1.标量公式改为向量形式书写。
    2.对泰勒展开做二阶近似(即最大只保留到二阶项)。
  • 一元泰勒公式:在这里插入图片描述
  • 一元泰勒公式做二阶近似:
    在这里插入图片描述
  • 多元泰勒公式:
    在这里插入图片描述
  • 多元泰勒公式+向量矩阵化表示+二阶近似:
    在这里插入图片描述
    上式比较抽象因为涉及到向量矩阵表示,下面进行详细推导:
  • 通过上述推导我们获得了以下的泰勒展开+二阶近似+向量表示的公式:
    在这里插入图片描述
  • 接下来我们将使用该公式来证明梯度下降法的正确性(区别于我们之前写过的用数形结合的方法证明):
    机器学习笔记——9.25课堂补充_第1张图片

二、有关梯度下降几个小问题?

1.梯度下降能否保证找到最优的参数?

  • 答:不能。首先梯度下降方法所选择的学习率、模型不恰当可能导致无法收敛,无法收敛自然不会得到结果更不会得到最优的参数。即使是可以收敛,梯度下降方法也可能停留在极大值;可能停留在局部最优;可能停留在鞍部(斜率为0的平台);也可能在梯度近似为0的地方极小幅度移动迟迟不收敛。

2.梯度下降法参数更新能否保证损失函数值每次下降?

  • 答:不能。首先如果学习率选择的过大导致参数调整每步的步伐过大,可能会使损失函数不降反增。除此之外,我们考虑李宏毅老师通过MineCraft给出的例子:我们想要下降到最低点,每一步的移动我们考虑为两个维度,向前或向后与向左或向右。当前前面是下降的,右边是下降的,综合考虑两个维度,我们选择向右前方前进,结果右前方是上升的。

3.以下损失函数表达式中为何有个系数1/2m?

在这里插入图片描述

  • 答:该损失函数使用的是差值平方的形式。1/2是为了迎合消去求导得出的2,1/m是为了表示平均损失。其实对于损失函数的梯度下降来说系数并不会造成影响,因为系数只决定二次函数的开口大小并不影响极值位置。

4.有关学习率的调整策略?

机器学习笔记——9.25课堂补充_第2张图片

  • 分析上图可以得知:第一张图学习率太大了,导致梯度下降步幅太大损失函数不降反增。第二张图学习率也过大,导致梯度下降来回震荡无法继续向下而收敛;第三张图学习率大小适中,可以快速收敛。

三、求损失函数极小值的另一种解法——正规方程

  • 之前我们提到的梯度下降方法,是通过迭代的方式求解损失函数的极小值。而正规方程的基本思路很简单,就是令损失函数的微分为0,得到解析解。
  • 正规方程(The normal equations)通过求解下面的方程来找出使得损失函数最小的参数:
    在这里插入图片描述
  • 假设我们的训练集特征矩阵为X(包含了 x 0 = 1 x_0=1 x0=1 )并且我们的训练集结果为向量 y,则利用正规方程解出向量:
    在这里插入图片描述
  • 下面进行正规方程的详细推导,具体用到了线性代数相关的知识。首先将损失函数矩阵向量化表示:
    机器学习笔记——9.25课堂补充_第3张图片
  • 然后结合矩阵的迹的相关知识实现公式的推导。
    机器学习笔记——9.25课堂补充_第4张图片

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