梯度递降法(1)(gradient descent)

Gradient descent for unconstrained problems

梯度下降法常常用于寻找一个多元函数的最大值,最小值问题。

梯度下降比较关心的两个问题是:

1. 如何实现f(x^{t+1} )<f(x^{t}),在每一次更新x^{t+1}=M(x^{t}),其中M:R^{n}\rightarrow R^{n}

2. 收敛速度的控制,这主要涉及到每次更新的stepsize的选择。



一 更新公式的由来

对于一个可微函数f:R^{n}\rightarrow R,构造这样一组有序数列{{x: x\in R^{n}}},使得

f(x^{t+1})<f(x^{t}),t=0,1,2,...

引入向量d\in R^{n},那么我们有

df(x;d)=\lim_{\tau\to0}\frac{f(x+\tau d)-f(x)}{\tau}=▽ f(x)^{T}d<0,其中▽ {f}为在x处的梯度, df为梯度▽ f沿着向量d的方向导数值。

\lim_{\tau\to0}\frac{f(x+\tau d)-f(x)}{\tau}<0,可以知道当\tau 为正数的时候,那么沿着向量d方向的增量,可以满足f(x+\tau d)<f(x), 如此就可以构造出这样一个符合f(x^{t+1})<f(x^t)的一组有序数列{x^t}。

我们乘这样的一个方向向量d梯度方向向量。

于是乎,在每一次x^t的更新中,我们可以寻找这样的梯度向量d^t,来使得每一次更新都可以实现

f(x^{t+1})<f(x^t),公式中的\tau 其实就是我们需要定义的迭代步长{\eta }^t

那么迭代更新公式也基本已经明了:

x^{t+1}=x^t+{\eta }^t d^t,其中{\eta }^t>0,d^t 是梯度方向



在梯度下降中非常经典的一个例子是 \quadx^{t+1}=x^t-{\eta }^t ▽f(x^t)

这里,梯度方向 :d^t=-▽f(x^t)  \quad这里引入最速递降的原理:

arg\quad min_{d:||d||_2\leq 1}\quad df(x;d)=arg\quad min_{d:||d||_2\leq1} ▽f(x)^{T}d=-||▽f(x)||_2

对于二次型最小问题(quadratic \quad minimization \quad problem)\quad其目标函数:

f(x^*)=minimize_x \quad  \frac{1}{2}(x-x^*)^TQ(x-x^*)

其中,对于一个n*n的方阵Q,其满足\succ 0,并且 ▽f(x)=Q(x-x^*)对于二次型这个概念,大家如果有不清楚的可以去查找资料。



固定步长(constant stepsize)

在可以产生这样的序列{x^t}以后,初始化的点为x^0

下面考察使用定步长的{\eta }^t 的更新迭代的收敛情况。

已知,对于一个向量x,左乘一个矩阵A,

那么其实就是对向量x做了旋转和拉伸变换,

而矩阵A的特征值{\lambda }反映了旋转拉伸变化的大小,所以,

我们知道|\lambda _{min}(A)|\cdot ||x||_2\leq ||Ax||_2\leq |\lambda _{max}(A)|\cdot ||x||_2

根据梯度下降更新公式,我们可以有如下推导:

x^{t+1}-x^*=x^t-x^*-{\eta }^t▽f(x^t)=(I-{\eta }^tQ)(x^t-x^*)\\\implies ||x^{t+1}-x^*||_2\leq ||I-{\eta }^t||x^t-x^*||_2

这里需要||\cdot ||_2 代表求向量l_2范数,可以理解为向量的模长,

那么,我们可以发现:

||I-{\eta }^tQ||=max(|1-{\eta }^t\lambda _{max}(Q)|,|1-{\eta }^t\lambda _{min}(Q)|) \\({\eta }^t= \frac{2}{\lambda _{max}(Q)+\lambda_{min}(Q)}) \\||I-{\eta }^tQ||=1- \frac{2\lambda_{min}(Q)}{\lambda _{max}(Q)+\lambda_{min}(Q)}= \frac{\lambda_{max}(Q)-\lambda_{min}(Q)}{\lambda_{max}(Q)+\lambda_{min}(Q)}=  \frac{K-1}{K+1} \\\\ 其中,K称之为条件数(condition \quad number)

这里需要注意步长{\eta }^t的取法,{\eta }^t:=min\quad max (|I-{\eta }^tQ|)

收敛性

x^{t+1}-x^*=x^t-x^*-{\eta}^t▽f(x^t)\leq ( \frac{K-1}{K+1})(x^t-x^*)\\\implies x^{t}-x^*\leq(  \frac{K-1}{K+1})^{t}(x^0-x^*)


非固定步长

固定步长的缺点是我们需要知道矩阵Q的谱,简单地即矩阵Q的特征值情况,但是在实际生活中,往往计算Q的谱,是一个比较昂贵的操作,尤其是在Q比较复杂的情况下,有的时候Q是满秩,有的时候Q是不满秩。

因此有必要使用其他的方法来选择每一次的迭代步长。对于非固定步长,常用的方法是exact line search 和 backtracking research,来选取每一次迭代更新的步长。

下面先介绍 exact line search 方法



Exact line search

该方法的主要策略是每一次都去寻找这样的一个步长{\eta}^t,使得:

{\eta}^t:=argmin_{\eta\geq0} \quad f(x^t-{\eta}^t▽f(x^t))

这里不加证明地给出步长的更新公式:

令g^t=▽f(x^t)=Q(x^t-x^*)\\{\eta}^t=\frac{{g^t}^Tg^t}{{g^t}^TQg^t}

下面推导收敛性:

假设f(x^*)=0,然后,我么可以推导出:\\f(x^{t+1})= \frac{1}{2}(x^t-{\eta}^tg^t-x^*)^TQ(x^t-{\eta}^tg^t-x^*\\= \frac{1}{2}(x^t-x^*)^TQ(x^t-x^*)-{\eta}^t||g^t||_2^2+ \frac{{{\eta}^t}^2}{2}{g^t}^TQg^t\\= \frac{1}{2}(x^t-x^*)^TQ(x^t-x^*)-  \frac{||g^t||_2^4}{2{g^t}^TQg^t}\\=(1- \frac{||g^t||_2^4}{({g^t}^TQg^t)({g^t}^TQ^{-1}g^t)})f(x^t)\\其中,f(x^t)= \frac{1}{2}(x^t-x^*)^TQ(x^t-x^*)= \frac{1}{2}{g^t}^TQ^{-1}g^t \\从 Kantorovich 不等式可以知道:\\\frac{||g^t||_2^4}{({g^t}^TQg^t)({g^t}^TQ^{-1}g^t)}\geq \frac{4\lambda_{max}(Q)\lambda_{min}(Q)}{(\lambda_{min}(Q)+\lambda_{max}(Q))^2} \\这样,我们进一步可以获得:\\f(x^{t+1}) \leq (1- \frac{4 \lambda_{min}(Q)\lambda_{max}(Q)}{(\lambda_{min}(Q)+\lambda_{max}(Q))^2})f(x^t)\\=( \frac{\lambda_{max}(Q)-\lambda_{min}(Q)}{\lambda_{max}(Q)-\lambda_{min}(Q)})^2f(x^t)

这里如果再把f(x^*)=0带进去,就是一个收敛式子。

这个方法由于计算量也比较大,所以在日常的研究中,使用的频率不是特别高,大家了解一下就好。


下面在说backtracking search之前,先说一下convex和smooth性质的二阶可微函数f(x)

如果f(x)\mu-convex \quad and\quad L-smooth ,

如果一个函数是\mu-convex 的,那么根据泰勒展开有:\\f(y)= f(x)+▽f(x)^T(y-x)+    \frac{1}{2}(y-x)^T▽^2f(x)(y-x)+\cdots\\=f(x)+▽f(x)^T(y-x)+    \frac{1}{2}(y-x)^T▽^2f(x)(y-x)+ \frac{1}{2}(y-x)^TuI(y-x)-  \frac{1}{2}(y-x)^TuI(y-x)+\cdots\\=f(x)+▽f(x)^T(y-x)+   \frac{1}{2}(y-x)^T(▽^2f(x)-uI)(y-x)+  \frac{1}{2}(y-x)^TuI(y-x)+\cdots\\\geq f(x)+▽f(x)^T(y-x)+    \frac{1}{2}(y-x)^TuI(y-x)\\=f(x)+▽f(x)^T(y-x)+     \frac{\mu}{2}||y-x||_2^2, \forall x,y

证明主要涉及到正定矩阵的一个性质:对于一个正定矩阵A,其满足x^TAx \geq0 恒成立

这里的A=▽^2f(x)-uI \succeq 0

同样地,可以证明:

f(y) \leq f(x)+▽f(x)^T(y-x)+     \frac{L}{2}||y-x||_2^2,\forall x,y

那么根据定义就有:0\preceq \mu I\preceq▽^2f(x)\preceq LI, \forall x

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

推荐阅读更多精彩内容