概述
目前大多数关于优化算法的收敛性质都需要依赖目标函数具有某些良好的数学属性,比如凸性和光滑性。
凸性会给优化带来很大的方便。原因是,凸函数的任何一个局部极小点都是全局最优解。非凸问题中可能存在多个局部极小点,不容易找到全局最优。
光滑性刻画了函数变化的缓急程度。直观上,如果自变量的微小变化只会引起函数值的微小变化,我们说这个函数是光滑的。对于不可导函数,通常用Lipschitz性质来描述光滑性。
依据是否对数据或变量的维度进行随机采样,把优化算法分为确定性算法和随机算法。
依据算法在优化过程中所利用的是一阶导数信息还是二阶导数信息,把优化算法分为一阶方法和二阶方法。
一阶确定性算法
梯度下降法
基本思想:最小化目标函数在当前状态的一阶泰勒展开,从而近似地优化目标函数本身。
局限:只适用于无约束优化问题;只适用于梯度存在的目标函数。
二阶确定性算法
牛顿法
基本思想:将目标函数在当前状态进行二阶泰勒展开,然后最小化这个近似目标函数
因为步长更为精细,牛顿法的收敛速率比梯度下降法的收敛速率显著加快,具有二次收敛速率
随机优化算法
随机梯度下降
虽然随机梯度下降法的收敛速率慢于梯度下降法,但是在每一轮计算梯度时,