AR_Numerical_Optimization Cpt2.Fundamental of Unconstrained Optimization

无约束优化理论基础

在无约束优化问题中,我们通过寻找实数变量来使得目标函数变为最小。在尤其是在机器学习领域,有大量问题需要无约束优化理论进行分析,比如线性回归、Logistic Regression等。通常无约束问题典型算法有Gradient descent(梯度下降)、Stochastic GD(随机梯度下降)、TR(迁移学习)到CG(Conjugate gradient)、Newton、(L-)BFGS等。

无约束优化问题的数学表达为:

\min _{x} f(x),x \in \mathbb{R}^{n} 

and for x is a real vector with n>1 components and f is a smooth function.

Global solution & Local solution

全局优化:

A point x^* is a global minimizer if f(x^*) \leq f(x)  for all x

局部优化(弱局部优化):

A point x^*is a local minimizer(AKA weak local minimizer) if there is a neighborhood  \mathcal{N} of x^*such that f(x^*) \leq f(x) for all x \in \mathcal{N}

局部优化(强局部优化):

A point x^* is a strict local minimizer (AKA strong local minimizer) if there is a neighborhood \mathcal{N} of x^* that the x^* is the only local minimizer in \mathcal{N}.

Recognizing a local minimum 

When the function is smooth, if the function f is twice differentiable, by examing the gradient \nabla f(x^*) and the Hessian matrix \nabla^2 f(x^*) can tell if a local minimizer(Even a Strict local minimizer). 


1. Taylor's Theorem 泰勒公式是一个用函数在某点的信息描述其附近取值的公式。如果函数满足一定的条件,泰勒公式可以用函数在某一点的各阶导数值做系数构建一个多项式来近似表达这个函数 f(x)=f\left(x_{0}\right)+f^{\prime}\left(x_{0}\right)\left(x-x_{0}\right)+o\left(x-x_{0}\right)

若函数 f(x)在包含 x_0 的开区间 (a,b) 上具有(n+1)阶导数, 那么对于任一 x \in (a,b) :

f(x)=\frac{f\left(x_{0}\right)}{0 !}+\frac{f^{\prime}\left(x_{0}\right)}{1 !}\left(x-x_{0}\right)+\frac{f^{\prime \prime}\left(x_{0}\right)}{2 !}\left(x-x_{0}\right)^{2}+\ldots+\frac{f^{(n)}\left(x_{0}\right)}{n !}\left(x-x_{0}\right)^{n}+R_{n}(x)

对于优化问题:

f: \mathbb{R}^{n} \rightarrow \mathbb{R} is continuously differentiable and that p \in \mathbb{R}^{n}, for t \in (0,1)

                                  f(x+p)=f(x)+\nabla f(x+t p)^{T} p

f twice differentiable, for t \in (0,1)

                              \nabla f(x+p)=\nabla f(x)+\int_{0}^{1} \nabla^{2} f(x+t p) p d t

                                 f(x+p)=f(x)+\nabla f(x)^{T} p+\frac{1}{2} p^{T} \nabla^{2} f(x+tp) p

2. First-order Necessary Conditions 局部最小的一阶必要条件

If x^*is a local minimizer andf is continuously differentiable in an open neighborhood of x^*,then \nabla f\left(x^{*}\right)=0.

如果 x^* 为局部最优解并且函数 f一阶可导,则在 x^* 的邻域内 \nabla f\left(x^{*}\right)=0.


3. Second-order Necessary Conditions 局部最小的二阶必要条件

If x^* is a local minimizer of f and \nabla^2 f exists and is continuous in an open neighborhood of x^*, then \nabla f\left(x^{*}\right)=0 and \nabla^{2} f\left(x^{*}\right)is positive definite. 

如果 x^*为局部最优解并且一阶和二阶可导,则\nabla f\left(x^{*}\right)=0并且 \nabla^{2} f\left(x^{*}\right)正定.


4. Second-order Necessary Conditions 局部最小的二阶充分条件

Suppose that\nabla^2 fis continuous in an open neighborhood of x^* and that \nabla f\left(x^{*}\right)=0 and \nabla^{2} f\left(x^{*}\right)is positive definite. Thenx^* is a strict local minimizer of f.

如果函数f在 x^* 处满足\nabla f\left(x^{*}\right)=0并且\nabla^{2} f\left(x^{*}\right)正定,则 x^*为局部最优解.


5.凸函数最优解

When fis convex, any local minimizer x^* is a global minimizer of f. If in addition fis differentiable, then any stationary point x^*is a global minimizer of f.

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

Nonsmooth Problems

如果函数为连续但在某点不可微分,我们可以使用 次梯度(Subgradient) 或者 广义梯度(Generalized gradient).

Overview of Algorithms 算法概览

1. 从起始点x_{0}开始, 进行x_{0}x_{1}x_{2}...至x_{k+1} 的迭代操作,对于此种近进,通常有两种基本方法。

2.线搜索(Line search)置信域(Trust region)

线搜索:算法在点x_{k}时沿寻一个方向p_{k}寻找步长\alpha以使得

                                                           \min _{\alpha>0} f\left(x_{k}+\alpha p_{k}\right)

通常线搜索会创造一小批量的步长进行尝试直至找到最佳情况,到下一个点时,搜索方向和步长会被更新,这个过程是重复性的。

置信域:算法f构建一个m_{k}作为x_{k}的近似, 通过解决优化问题

                                                           \min _{\alpha>0} m_{k}\left(x_{k}+ p_{k}\right)

p_{k}是一个candidate step 以保证m_{k}较好的近似,x_{k}+ p_{k} 需要在一个信赖区域内。如果candidate solution 并不能给予f较好的下降,则我们需要缩减置信区域。通常情况下,置信区域是由||p||_{2} \leq \Delta 定义的一个球体,标量 \Delta >0 被称为置信域半径。在某些情况下置信域也可使用椭圆或者盒型体。 

对于m_{k}的数学定义为一个近似泰勒二次方程:

                                          m_{k}\left(x_{k}+ p_{k}\right)\approx  f_{k}+ p^T \nabla f_{k}+ \frac{1}{2} p^T  B_{k} p

其中f_{k}为scalar,\nabla f_{k}为vector, B_{k}为matrix, 通常 B_{k} 为Hessian matrix \nabla^2 f_{k}, 或者其他近似矩阵。

3. 优化过程中,LS从一个固定的方向p_{k}开始,然后确认合适步长\alpha_{k}. TR先选择一个置信域半径\Delta_{k}的最大值, 然后在此约束内找寻最佳方向和步长。 如果结果不理想,则进一步减少\Delta_{k}的值。

Search Directions for Line search methods 线搜索的搜索方向讨论

1.最速下降方向(Steepest descent direction) -\nabla f_{k} 是最广泛的应用之一。 通过泰勒公式进行定义,即

f\left(x_{k}+\alpha p\right)=f\left(x_{k}\right)+\alpha p^{T} \nabla f_{k}+\frac{1}{2} \alpha^{2} p^{T} \nabla^{2} f\left(x_{k}+t p\right) p, \quad \text { for some } t \in(0, \alpha)

沿寻p方向,f的变化情况即是\alpha 项的系数p^{T} \nabla f_{k} , 所以需要寻找

                                                 min \space p^{T} \nabla f_{k}  \space s.t.   \|p\|=1

                                \implies  p^{T} \nabla f_{k}=\|p\|\left\|\nabla f_{k}\right\| \cos \theta=\left\|\nabla f_{k}\right\| \cos \theta  \space (\theta\space  is \space the\space angle\space  between\space  p \space and \space \nabla f_{k}  )

\implies  cos \theta = -1 \space \space\space\space\space\space \space p=-\nabla f_{k} / \| \nabla f_{k} \|

最速下降法在对于复杂问题较为缓慢。

2. 通用搜索方向(General descent)

从上述公式中可以看出,只要满足p^{T} \nabla f_{k} <0 都可作为搜索方向, 但是下降速度会较慢。

3.牛顿方向(Newton direction), 从泰勒公式二次项 (Second-order series)推导出来。 

                           f\left(x_{k}+p\right) \approx f_{k}+p^{T} \nabla f_{k}+\frac{1}{2} p^{T} \nabla^{2} f_{k} p \stackrel{\text { def }}{=} m_{k}(p)

\nabla^{2} f_{k} 需要为正定(Positive definite), 通过解决 min \space m_{k}(p)来寻找牛顿方向,deriviate  m_{k}(p) to zero.

\min m_{k}(p) \\\implies  \nabla m_{k}(p)=0 \\\implies  \nabla f_{k}+\nabla f_{k}^{2} p=0 \\\implies  p_{k}^{N}=-\left(\nabla^{2} f_{k}\right)^{-1} \nabla f_{k}

\nabla^{2} f_{k} 非正定矩阵时,(\nabla^{2} f_{k})^{-1} 可能不存在,不能满足下降条件。

4.拟牛顿方向(Quasi-Newton direction) (AKA 伪牛顿/准牛顿方向), 由于Hessian的计算复杂性,通过使用近似B_{k}取代Hessian matrix \nabla^{2} f_{k} 大致推导过程为:根据泰勒公式

      \nabla f(x+p)=\nabla f(x)+\int_{0}^{1} \nabla^{2} f(x+t p) p d t

\Rightarrow \nabla f(x+p)=\nabla f(x)+\nabla^{2} f(x) p+\int_{0}^{1}\left[\nabla^{2} f(x+t p)-\nabla^{2} f(x)\right] p d t

\Rightarrow  \nabla f_{k+1}=\nabla f_{k}+\nabla^{2} f_{k}\left(x_{k+1}-x_{k}\right)+o\left(\left\|x_{k+1}-x_{k}\right\|\right)  (p=x_{k+1}-x_{k})

\Rightarrow \nabla^{2} f_{k}\left(x_{k+1}-x_{k}\right) \approx \nabla f_{k+1}-\nabla f_{k}

此时,令s_{k}=x_{k+1}-x_{k}, \quad y_{k}=\nabla f_{k+1}-\nabla f_{k} ,B_{k+1} 为Hessian Approximation.

\Rightarrow B_{k+1} s_{k}=y_{k}(AKA Secant equation 正割公式)

通常要求B_{k+1}  有一些附加条件,如 对称,低秩(Low rank) etc.

5.两个拟牛顿方向近似算法: Symmetric-rank-one(SR1) & BFGS

Symmetric-rank-one(SR1) : B_{k+1}=B_{k}+ \frac{\left(y_{k}-B_{k} s_{k}\right)\left(y_{k}-B_{k} s_{k}\right)^{T}}{\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k}}

                                   BFGS: B_{k+1}=B_{k}-\frac{B_{k} s_{k} s_{k}^{T} B_{k}}{s_{k}^{T} B_{k} s_{k}}+\frac{y_{k} y_{k}^{T}}{y_{k}^{T} s_{k}}

6. 非线性共轭梯度法(Nonlinear conjugate gradient methods)

p_{k}=-\nabla f\left(x_{k}\right)+\beta_{k} p_{k-1}

Models for trust-region methods 信頼域模型讨论

对于m_{k}\left(x_{k}+p\right)=f_{k}+p^{T} \nabla f_{k}+\frac{1}{2} p^{T} B_{k}p, 令B_{k} = 0, 且定义置信域在欧式范数中(欧几里得空间距离), 则问题可变为

                                   \min _{p} f_{k}+p^{T} \nabla f_{k} \quad \text { s.t. }\|p\|_{2} \leq \Delta_{k}

                                    \Rightarrow p_{k}=-\frac{\Delta_{k} \nabla f_{k}}{\left\|\nabla f_{k}\right\|}

这是一个由置信域半径定义的简单最速下降步长,在此情况下LS 和TR 的求解过程相同。

如果 B_{k} 在m_{k} 中被定义为拟牛顿近似, 则是一个 置信域拟牛顿法。

Scaling讨论

Poorly scaled:函数在某个方向的变动远大于其他方向。

办法:更改变量的度量或者重新定义

最速下降法对于Poorly scaled 较为敏感,而例如牛顿法则几乎不受影响,通过引入尺度不变性(Scale inveriance)来设计算法。 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354