1. 知识点
普通梯度下降法,每一步梯度下降都要对训练集的所有样本进行运算。
Mini-batch梯度下降法,每一步梯度下降选择训练集样本的子集进行运算。
Mini-batch梯度下降的算法实现:打乱训练集、对训练集进行切分(比如,切分为64个子集)、更新参数时每次选择一个子集进行运算。
普通梯度下降、随机梯度下降、Mini-batch梯度下降成本函数的比较:普通梯度下降每一次训练时间较长,成本递减;随机梯度下降成本总体趋势向下,呈波动状态;Mini-batch在前两者之间做到一个平衡。
Mini-batch大小的选择:如果样本数较小,选择普通梯度下降。切分的子集的样本数,要符合CPU/GPU的运算能力。
同时考虑当前观测值和前n个观测值的平均值,对两者进行加权运算,获得指数加权平均值。。
偏差修正:由于=0 ,且较大,t较小时,会明显小于,需要修改。修正函数为。随着t的增大,接近于0 ,不再起到修正作用。
用动量梯度下降计算,用RMSprop计算,分别修偏差,,,更新参数。
存在一些局部最小值点,其梯度为0。
在高维度的函数中,会存在一些梯度为0的点,并不是局点最小值点,而是在有些维度局部最小,在有些维度局部最大,这样的点为鞍点。