无约束优化方法简介

两种基本框架

一般的,对于监督学习问题,在经过一系列分析和建模后,都将目标问题转化为一个如下形式的优化问题:

\[L(\mathbf{x}) = f(\mathbf{x})+r(\mathbf{x}) \tag{1-1}\label{1-1} \]

其中,\(f(x)\)表征了模型刻画目标问题的准确程度;\(r(x)\)表征了对于模型本身施加的某种约束。

不论\(f(x)\)\(r(x)\)采取何种形式,最终都需要求解出\eqref{1-1}式的最大或最小值,而这就是所谓的优化方法。

Line Search

Line Search包括很多大家熟悉的优化方法,例如最速下降法(Steepest Descent)、牛顿法(Newton’s method)、拟牛顿法(Quasi-Newton)等等。该方法的基本思路如\eqref{2-1}式所示:

\[x_{k+1} = x_k + \alpha_k p_k \tag{2-1}\label{2-1} \]

其中,\(p_{k}\)是当前的求解方向,\(\alpha_k\)是沿该方向移动的步长。

该方法的过程为

Repeat

  • 选择方向\(p_{k}\)
  • 选择步长\(\alpha_k\) 以最小化\(f(x_k+ \alpha p_{k})\)
  • \(x_{k+1} = x_k + \alpha_k p_k\)

Until 收敛

Trust Region

与Line Search的想法相反,该方法先确定一个region,该region以\(x_k\)为中心,以\(\delta\)为半径。然后,在该region内选择某个步长\(s_k\)以最小化\(f\)的某种近似\(m\)(一般是线性或者二次模型)。如果\(s_k\)同样使得\(f\)也能够减少到相当程度,那么\(x_{k+1}=x_k+s_k\);否则,\(x_k\)保持不变,同时减少\(\delta\)

该方法的过程为

Repeat

  • 选择\(\delta\)
  • 选择\(s_k\) 以最小化\(f\)的某种近似\(m\),且\(||s_k|| < \delta\)
  • 如果 \(\frac{f(x_{k}+s_{k})-f(x_{k})}{m(x_{k}+s_{k})-m(x_{k})} > \tau\),那么\(x_{k+1}=x_k+s_k\);否则,\(\delta \leftarrow \delta \cdot \gamma\)\(\gamma < 1\)

Until 收敛

Trust Region方法不如Line Search方法常见,但liblinear中的l2-loss logistic regression 和 svm 的优化方法借鉴了该方法。

Line Search

方向选择

最速下降法(Steepest Descent)

在选择方向的方法中,最速下降法是最简单的。因为它以当前点的梯度方向作为下降方向,即:

\[x_{k+1}= x_{k} + \alpha g_k \]

其中,\(g_k = \frac{d}{dx} L(x)\)

牛顿法(Newton’s method)

考虑曲率的因素,可以设计收敛更快的方法。这样的方法又被成为二阶优化方法。牛顿法就是其中的一种。其迭代公式为:

\[\mathbf{x}_{k+1} = \mathbf{x}_k \]

其计算过程为:

拟牛顿法(Quasi-Newton)

BFGS

L-BFGS

OWLQN

步长选择

posted @ 2015-04-22 09:59  东风韶山  阅读(199)  评论(0)    收藏  举报