不畏浮云遮望眼,自缘身在最高层:最优化方法

文末有福利哦

人生就像登山,多数情况下你看不到山顶,甚至看不到前方的路,但你不能否定的是,你每前进一步,就离山顶近了一步。

0 前言

从本质上,人工智能的目标就是最优化:在复杂环境与多体交互下作出最优决策
通常我们将目标形式化表达为目标函数或者评价函数,将判定目标函数是否存在最大值(最小值)并且找到令目标函数取到最优解的数值的过程,称为最优化过程,其对应的方法就是最优化方法

非凸函数中的最值

实际的最优化方法,有可能会找到全局最小值,也可能会找到局部最小值,全局最小值就是在整个函数的定义域上取最小值,局部极小值就是在其邻域中取最小值。

1 举个栗子

如果把目标函数比做为连绵不绝的山脉,那我们的目标就是山脉中的顶峰,判断顶峰的位置并且找到去往顶峰的路径就是最优化的过程

爬山就是最优化的过程

我们的最优化方法不是上帝视角,不能一眼看穿最高峰在哪个方法,全都是站在山脚下的登山人,一步一个脚印的寻找最高峰。但受视野的限制,找到的峰值很可能只是方圆十里之内的顶峰,也就是局部极小值

2 再举个栗子

小时候会玩过很多游戏,包括红警或者帝国时代,大家很熟悉的就是下图整个场景,有种“不识庐山真面目,只缘身在此山中”。


在黑暗中寻找“光明”

我们想要在一片黑暗之中寻找“光明”,向着最低洼的地方前进,于是环顾四周,看到右边比较低,走两步看看:


往右边走一走

再往周围比较低的地方走一走,发现新大陆了!这里比周围都更加低!也许这就是整张地图最低的地点,也许也只是一个“局部极小值”。
找到“局部极小值”

通常情况下,当目标函数的输入参数过多,解空间较大,绝大多数算法都不能满足全局搜索对计算复杂度的要求,因而只能退而求其次,选取一个使得目标函数相对比较小的值,把它当作全局最小值,作为性能和复杂度的折中。

3 最优化问题的分类

根据约束条件的不同,可以将最优化问题分为:

  • 无约束优化:对自变量x的取值没有限制
  • 有约束优化:将自变量x的取值限制在一定的集合中,也就是满足一定的约束条件。

3.1 线性规划——一种有约束的优化

高中时的线性规划题目

典型的约束优化就是线性规划,其解决的问题通常是在有限的成本约束下获得最大利益,通过拉格朗日乘子的的引入可以将含有n 个变量和 k个约束条件的问题,转换为含有(n+k)个变量的无约束优化问题。其简单的表达如下:
L(x,y,\lambda)=f(x,y)+\lambda \varphi(x,y)
式中f(x,y)是目标函数,\varphi(x,y)是约束条件,\lambda是拉格朗日乘子。
从数学意义上讲,由原目标函数和约束条件共同构成的拉格朗日函数与原目标函数具有共同的最优点集和共同的最优目标函数值,从而保证最优解的不变性。

3.2 无约束优化解决——梯度下降法

梯度下降法,就是沿着目标函数下降最快的方向寻找最优解,就像爬山找最陡峭的路上山顶。关于梯度下降法的理论依据我会在下一篇博文中介绍。

(1) 步长

梯度下降法中有一个关键超参数,学习率(learning rate),也叫步长(step size)。
步长控制梯度往更新方向变化的大小。

  • 步长越小,每次更新的幅度就小,向最小值前进的速度就越慢,对应的就是收敛速度较慢。
  • 步长越大,尤其是快接近最小值点的时候,容易一次性步子迈的过大,错过最小值点。比如下图中浅绿色和黄色的线,就是步长过大导致的结果。(PS:这让我想到小时候在铁路上走轨道,步子刚刚好的时候走的又快又舒服,现在长大了,走半步刚刚好,走起来像是穿了和服的日本艺妓,小心翼翼。走一步又跨度太大,怕扯着蛋蛋。)


    步长对优化过程的影响

(2) 样本使用的三种模式

  • 批梯度下降(batch gradient descent):利用所有样本的梯度进行更新,由于每次更新都要对所有样本进行遍历,所以该模式计算量较大。
  • 随机梯度下降(stochastic gradient descent):每次只选一个样本的梯度作为更新参考,直到用完所有样本。当样本量较大时,往往比批梯度下降效果更好。
  • 最小批梯度下降(min-batch gradient descent):每次利用样本中的一部分样本的梯度进行更新。

3.3 二阶优化算法

梯度下降法使用的是一阶导数的信息,其描述的是目标函数如何随输入变化的变化,而二阶导数描述的是一阶导数如何随输入的变化而变化。
因此,相较于梯度下降法只能看到目标函数的局部信息,二阶导数可以看到目标函数的全局,使得梯度方向不会向错误的方向走下去,使得收敛更快。

3.3.1 牛顿法

利用二阶导数进行优化的典型方法就是牛顿法


将目标函数进行泰勒展开

在牛顿法中,目标函数首先使用泰勒展开,写为二阶导数近似的形式(梯度下降法只保留了一阶近似)。然后对上式求导,并令其导数为0,得到:



求解:

得出迭代公式:



牛顿法的优点在于能更快的收敛,迭代次数较少,但是由于引入了二阶导数,导致计算更加复杂。

4 线性搜索方法

无论是一阶导数的梯度下降法,还是二阶导数的牛顿法,都是先确定方向,再确定步长,称为线性搜索方法

5 置信域方法

置信域方法寻找最小值点的基本思路是先确定步长,以步长为参数划定一个区域,再在这个区域内寻找最快下降的方向。
具体来说,置信域算法的运行过程如下:设定一个置信域半径 s,并在以当前点为中心、以 s 为半径的封闭球形区域作为置信域,在置信域内寻找目标函数的二次近似模型的最优点,最优点和当前点之间的距离就是计算出来的备选位移。
在备选位移上,如果目标函数的二次近似产生了充分的下降,就将当前点移动到计算出的最优点,则继续按此规则迭代计算下去,并可以适当增加 s;如果目标函数的近似下降不够理想,则说明步子跨得太大,需要缩小 s 并计算出新的备选位移,直到满足终止条件。

6 启发式算法

例如模拟生物进化的遗传算法,模拟物理固体结晶过程的模拟退火算法等等。

7 总结

  • 通常情况下,最优化问题是在无约束情况下求解给定目标函数的最小值;
  • 在线性搜索中,确定最小值时的搜索方向需要使用目标函数的一阶导数和二阶导数;
  • 置信域方法的思想是先确定搜索步长,再确定搜索方向;
  • 以人工神经网络为代表的启发式算法是另外一类重要的优化方法。

最优化推荐书籍资料

最优化理论可以参考 Stephen Boyd 所著的 Convex Optimization,中译本名为《凸优化》。这本书虽然很厚,但是主要在于应用而不是理论证明,因此可读性很好。
英文版PDF获取


参考资料:
[1] 人工智能基础课 04 数学基础 | 不畏浮云遮望眼:最优化方法(王天一)极客时间
[2] 李宏毅2017机器学习3-1 随机梯度

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