数值优化学习之概览(一)

问题:

优化一个目标函数f(x),满足一些约束c(x),等式或者不等式。满足约束的解成为可行解。

分类:

连续/离散优化问题

约束/非约束优化问题

线性/非线性优化问题

全局/局部优化问题

随机/确定性优化问题

凸优化:

1、凸集:如果集合S为凸集,当且仅当 xS, yS α(x)+(1α)(y) inS;α[0,1]

2、凸函数:凸函数:如果函数f(x)为凸函数,当且仅当S为凸集,xS, yS; αf(x)+(1α)f(y)f(αx+(1α)y); α[0,1]

3、严格凸函数,凸函数能够取到非等号,即α(0,1)

4、凸优化问题:对于标准形式目标函数为凸函数,等式约束为线性约束;不等式约束为凹函数。

无约束最优化问题:

在机器学习中,有大量的问题可以归约为无约束最优化问题,例如线性回归、LR等。因此对于无约束问题的研究也很深入从简单的GD、SGD、TR到CG、Newton、(L-)BFGS等 
1. 无约束最优化问题可以表示为 minf(x); xn 
2. 全局最优解 VS 局部最优解 
* 全局最优简单理解为在整个定义域内解最小 
* 局部最优:在某个邻域内解最小 
3. 对于凸优化问题,任何局部最优解都是全局最优解。

局部最优解的几个定理:

1、泰勒展开公式,根据泰勒公式对于函数f(x)可以近似为 
一阶展开近似:f(x)f(x0)+f(x0)T(xx0) 
二阶展开近似:f(x)f(x0)+f(x0)T(xx0)+12(xx0)T2f(x0)(xx0)

2、局部最小值的一阶必要条件,如果 x 为局部最优解并且函数f一阶可导,则在 x 的邻域内 f(x)=0

3、局部最优解的二阶必要条件,如果 x为局部最优解并且一阶和二阶可导,则f(x)=0 并且 2f(x)
证明:对于定理2,3的证明采用反证法。例如对于定理2. 假设 f(x)0, 则根据泰勒一阶展开则可以找到f(x)T(xx)0

4、局部最优的二阶充分条件:如果函数f在 x 处满足f(x)=0并且2f(x),则 x 为局部最优解

5、如果函数f为凸函数,则f的任何局部最优解都为全局最优解。

优化算法概述:

在后面会介绍一系列解决该问题的算法,先介绍几个简单的概念。 
1. 通过数值优化算法求解,一般会给定初始点 x0,x1,x2,x3 ... xnx 
2. 通常有两大类比较重要的策略 线搜索(Line Search)和信赖域(Trust Region) 
3. Line Search策略:假设在某点xk,寻找方向pk和步长α使得 min f(xk+αpk) 最小,如果pk确定则只需要解决一维最优化问题就可以找到下一个搜索点,如何确定pk后面介绍几类策略,最简单的策略就是当前点的梯度。 
4. Trust Region策略:在某店xk解决优化问题 min mk(xk+pk),其中mk为函数f在xk点的近似,同时为保证mk为一个较好的近似,即当pk 远离 xk 时偏离太大,则需要保证xk+pk 在一个可信赖的区域内; 
5. 通常情况下信赖域选择为椭圆、球或者盒状区域,即一个凸集容易找到最优解。 
6. 模型mk一般可以选择为函数f的泰勒二阶近似,即

m(xk+p)f(xk)+f(xk)Tp+12pT2Bkp

其中Bk为Hessian矩阵或者其近似 
7. 以上两类策略的相同点是在某点xk通过解决一个优化问题找到下一个搜索点。LS首先选择方向pk通过解决一维最优化问题找到步长α;TR首先对步长进行约束,通过解决简单的优化问题寻找搜索方向。

线搜索中的方向:

1、最速下降:负梯度方向 pk=fk

2、牛顿方向:pNk=(2fk)1fk

3、拟牛顿方向:pk=B1kfk

4、非线性共轭梯度方向:
pk=fk+βkpk1

 

posted @ 2017-01-28 23:46  suwish  阅读(1790)  评论(0编辑  收藏  举报