总结最优化中常见的优化方法-SGD\牛顿法等等
参考文章:
1.六种常见梯度下降方式及其实现
2.一文看懂常用的梯度下降算法
个人总结:
1. 梯度下降法
核心:沿梯度反方向寻找最优解
1.SGD(随机梯度下降):随机意味着梯度由一个样本决定,每次随机选取一个样本计算损失;
2.全量梯度下降:计算所有样本的损失;
3.批量梯度下降:每次计算一个 batch 样本的损失
2. Momentum
核心:在梯度下降的基础上考虑了历史信息
3. 牛顿法
核心:通过二阶导数与X轴的交点逐渐逼近最优解
补充:拟牛顿法是在其基础上将难求解的海塞矩阵的逆矩阵进行了近似替换
4. Adagrad
核心:将不同参数的学习率自适应
将每一个参数的每一次迭代的梯度取平方,然后累加并开方得到 r,最后用全局学习率除以 r,作为学习率的动态更新。
5. AdaDelta
核心:对Adagrad的计算进行了简化
6. RMSProp
核心:在Adagrad的基础上,将累加方式改为指数加权平均(更在意近期梯度)
7. Adam
核心:既考虑历史梯度由将学习率自适应
补充:其本质上是Momentum和RMSprop两个方法的结合