解析:
温馨提示:在回答面试官的问题的时候,往往将问题往大的方面去回答,这样不会陷于小的技术上死磕,最后很容易把自己嗑死了。
简言之
1)随机梯度下降优点:可以一定程度上解决局部最优解的问题缺点:收敛速度较慢
2)批量梯度下降优点:容易陷入局部最优解缺点:收敛速度较快
3)mini_batch梯度下降综合随机梯度下降和批量梯度下降的优缺点,提取的一个中和的方法。4)牛顿法牛顿法在迭代的时候,需要计算Hessian矩阵,当维度较高的时候,计算 Hessian矩阵比较困难。
5)拟牛顿法拟牛顿法是为了改进牛顿法在迭代过程中,计算Hessian矩阵而提取的算法,它采用的方式是通过逼近Hessian的方式来进行求解。
具体而言从每个batch的数据来区分
梯度下降:每次使用全部数据集进行训练
优点:得到的是最优解
缺点:运行速度慢,内存可能不够
随机梯度下降:每次使用一个数据进行训练
优点:训练速度快,无内存问题
缺点:容易震荡,可能达不到最优解
Mini-batch梯度下降
优点:训练速度快,无内存问题,震荡较少
缺点:可能达不到最优解
从优化方法上来分:
随机梯度下降(SGD)
缺点选择合适的learningrate比较难对于所有的参数使用同样的learning rate容易收敛到局部最优可能困在saddle pointSGD+Momentum
优点:积累动量,加速训练局部极值附近震荡时,由于动量,跳出陷阱梯度方向发生变化时,动量缓解动荡。
Nesterov Mementum与Mementum类似,
优点:避免前进太快提高灵敏度
AdaGrad
优点:控制学习率,每一个分量有各自不同的学习率适合稀疏数据
缺点依赖一个全局学习率学习率设置太大,其影响过于敏感后期,调整学习率的分母积累的太大,导致学习率很低,提前结束训练。RMSProp
优点:解决了后期提前结束的问题。
缺点:依然依赖全局学习率
Adam
Adagrad和RMSProp的合体
优点:结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点为不同的参数计算不同的自适应学习率也适用于大多非凸优化 -适用于大数据集和高维空间
牛顿法
牛顿法在迭代的时候,需要计算Hessian矩阵,当维度较高的时候,计算 Hessian矩阵比较困难拟牛顿法
拟牛顿法是为了改进牛顿法在迭代过程中,计算Hessian矩阵而提取的算法,它采用的方式是通过逼近Hessian的方式来进行求解。