基于梯度的优化方法

最优化问题描述

最优化问题广泛存在于学术研究和工程实际中。一个典型的最优化问题通常包括自变量、优化目标函数以及约束条件等等。机器学习作为一种热门的工程应用,通常包括模型、目标函数以及优化方法三个部分。一般而言,优化通常使用较为成熟的方法。本文重点介绍一些经典的优化算法,当目标函数是凸函数时,这些方法往往能得到全局最优解。

从数值迭代算法的角度考虑,不妨记当前时刻的估计为$\mathbf{x}_k$,下一时刻的估计记为$\mathbf{x}_{k+1}$,优化算法的一般形式记为:
$$\mathbf{x}_{k+1} = \mathbf{x}_k + \alpha \Delta \mathbf{x}$$
其中$\alpha > 0$是步长,$\Delta \mathbf{x}$为迭代方向,各种优化方法的区别在于怎么选定迭代方向以及步长。根据原理不同,可将其总结为两大类:即一阶算法和二阶算法。一阶算法主要是梯度下降相关算法,二阶算法主要是牛顿法相关算法。

|