零阶最优化就是不根据导数求解,例如模式搜索、坐标下降。
一阶最优化只根据一阶导数求解,一般是梯度下降和它的变种。
Optimizing molecules using efficient queries from property evaluations
此文使用了“零阶优化”,那么“零阶优化”到底是什么?有普通的优化相比优势在哪里?
零阶优化(Zeroth-Order Optimization):
- 梯度信息:不需要目标函数的梯度或Hessian矩阵信息。它仅仅依赖于目标函数的值。【通过为梯度估计和伪梯度下降进行优化】
- 计算成本:通常需要更多的函数评估次数,因为它没有直接的梯度信息来指导搜索方向。
- 应用场景:适用于梯度难以或无法计算的情况,例如目标函数不可微或者梯度计算代价极高的情况。
- 实现:通过对目标函数在不同点的评估来估计梯度方向,使用诸如有限差分方法的技术。
一阶优化(First-Order Optimization):
- 梯度信息:使用目标函数的一阶导数(梯度)信息。
- 计算成本:每次迭代通常只需要一次梯度计算,因此在梯度容易计算的情况下更高效。
- 应用场景:适用于目标函数是可微的,并且梯度计算是可行的。
- 实现:如梯度下降法,每一步都沿着梯度的反方向更新当前点。