目录
一、局部最小值 Local Minima 与鞍点 Saddle point
1、为什么Saddle point 和 Local Minima 不好优化?
2、如何区分 Saddle point 和 Local Minima ?
1)随机梯度下降 Stochastic Gradient Descent
2)小批量梯度下降 Mini-batch Gradient Descent
3)全批量梯度下降 Batch Gradient Descent
1、回归 Regression 和 分类 Classification
一、局部最小值 Local Minima 与鞍点 Saddle point
1、为什么Saddle point 和 Local Minima 不好优化?
鞍点:在微分方程中,沿着某一方向是稳定的,另一条方向是不稳定的奇点,叫做鞍点。在泛函中,既不是极大值点也不是极小值点的临界点,叫做鞍点。在矩阵中,一个数在所在行中是最大值,在所在列中是最小值,则被称为鞍点。可以理解为“马背”上的点,下图蓝色图中的红点就是鞍点。
鞍点和局部最小点都是临界点critical point,此处的梯度都为0,所以在优化的时候很容易陷在其中,无法收敛到全局最小点。
2、如何区分 Saddle point 和 Local Minima ?
要区分局部极小点和鞍点,需要用到Hessian 矩阵。
当 H > 0,说明特征值全部为正,此点为局部极小点;
当 H < 0,说明特征值全部为负,此点为局部极大点;
当 H 有时大于0,有时小于0,说明此点为鞍点;
但是Hessian 矩阵不仅需要计算梯度,还需要计算Loss对weight的二阶偏导数,计算量非常大,所以不建议使用这种方法。
二、批次 Batch 与动量法 Momentum
1、Batch 和Epoch
1个epoch相当于所有的batch过一遍,并且epoch之后要shuffle一下。
batch是将整体样本分成若干份,按大小可以分为三种:随机梯度下降、小批量梯度下降和全批量梯度下降。
设样本数为m,
1)随机梯度下降 Stochastic Gradient Descent
每次从样本中随机选择一个进行学习,batch size = 1
优点:学习速度快;
缺点:优化波动,收敛变慢。
2)小批量梯度下降 Mini-batch Gradient Descent
每次从样本中随机选择部分进行学习,1 < batch size < m
if mini-batch size = 1:即为随机梯度下降;
if mini-batch size = m:即为全批量梯度下降;
优点:学习速度快,朝着极小点方向。
3)全批量梯度下降 Batch Gradient Descent
每次使用全部的样本进行学习,batch size = m
优点:必然能收敛到极小点;
缺点:学习速度非常慢。