Optimization - Optimize Algorithm & ML/OR Modeling

一般的优化算法

在我们解决optimization问题时,有很多优化算法:
大致可以分为Derivative-based[0][1][2][6]以及Derivative-free [5] 的方法。其中Derivative-free的方法其实非常多,很多随机、启发式的算法都可以归类于此:譬如EE中的multi-arm bandit,非线性规划中的Nelder-Mead method (simplex推广),很多meta heuristic的方法如GA,simulated annealing等。
注意,实际运用这些算法中,既有Numerical的,也有Analytical的。在OR与ML中,都有不同种的算法被运用,譬如Linear Regression中解析解与牛顿法迭代或者随机梯度下降类的算法都能得到一致的解。

机器学习ML中的优化算法

机器学习中的优化器Optimizer(适用于ML,具体实现了特定的优化算法):其实就是一系列“无约束非凸优化问题的求解算法”(当然,不少线性模型是凸优化问题)
机器学习的本质,是建模了一个目标与特征之间的函数y = f(x)机器学习的优化算法本身就在求解这个函数的“形式”以及参数。也可以理解为一个求解“复杂函数的优化问题?”的算法?
现代的DNN网络和最根本的训练模式Back Propogation极大地拓展了f(x)的表达能力,同时大规模的分布式框架也使得工业级的深度运用得以实现。

OR中的优化算法

由于OR中要研究的问题往往更加specific。而且往往,区别于ML,问题都是Constrainted。(虽然ML也可以通过一些特定的方式提供限制。)因此,在OR中,有更多特定的算法以及理论被提出以及研;究。譬如Interior Point method(numerical iterative),Lagrangian approach(constrainted to unconstainted),Primal and Dual theory(dual problem)等等

ML/OR的运用场景(不同的modeling,不同的 optimization)

1、ML中涉及很多的modeling,optimization的理论,但是现代Machine Learning的框架,已经把optimization的部分都封装起来了,同时,由于ML中的Modeling的方式相对比较单一,所以也由框架提供了很大的支持(大部分就是些loss函数的组合,同时模型结构上的设计提供先验【类似提供了一种函数形式】)。ML本身是个非常强大体系化的框架,能解决很多特定的predictive问题的建模与求解。
2、而在传统的OR中,也很多mathematical modeling的问题。要求解这些问题,也涉及到许多优化算法的运用,譬如牛顿法,Duality等理论(这些理论在ML中的优化算法也被大量被运用)。但是在OR中,由于建模的方式更复杂,更灵活,同时很多时候我们关心的可能也不单单是求得的“解”(Solution)的数值本事,可能也会关心其中的一些关系和模式,从而帮助我们更深入的认知与决策。因此OR没有像ML现在这样又那么“强大无脑”的infrastructure可以帮助我们一并“解决”其中的优化问题(当然,OrTools等工具还是提供了一些算法的工具实现)。所以OR中这些优化算法的使用,往往需要更多的一些计算与推导。

  • 关于ML与OR在相关建模领域扮演的不同角色:You can understand this new concept in the following way. ML is the predictive part of the analysis, whereas OR is the prescriptive part. [7]
    1、Descriptive Analytics tells you what happened in the past.
    2、Diagnostic Analytics helps you understand why something happened in the past.
    3、Predictive Analytics predicts what is most likely to happen in the future.
    4、Prescriptive Analytics recommends actions you can take to affect those outcomes.

Diff Summarize

1、ML优化的问题往往是unconstrainted,或者一些特定的,比较局限的constraint,最普遍加入优化目标以及penalties[8],不过基本最终都转化为unconstrained来求解。而OR中更多是constrainted problem的研究。
2、OR不仅仅涉及到求得解。往往问题的变化与变量之间的变化,其关联也是我们关心的,常常可以帮助我们更深入地理解问题,以及作出决策。比如说shadow price。

Refer:
[0]:Newton method:
[1]:Gauss Newton Method:
[2]:Quasi-Newton method:

[3]: BFGS

[4]数值求导,numerical differentiation:常用方法 finite difference approximations.(计算切线slop即可)
https://en.wikipedia.org/wiki/Numerical_differentiation
*Finite difference method:一些numeric differential工程上实现的方法可以参见https://numdifftools.readthedocs.io/en/latest/src/numerical/derivest.html
analytical gradient or finite-difference:
https://scicomp.stackexchange.com/questions/507/bfgs-vs-conjugate-gradient-method
BFGS与conjugate gradient optimization:
https://math.stackexchange.com/questions/155020/is-nonlinear-conjugate-gradient-a-quasi-newton-optimization-technique
[5]: Derivative-base的intuition其实很简单,就是在迭代求解过程中为我们搜索的过程提供一个还不错的方向。所以一般情况下,上述的数值解法都需要目标函数有可解析的梯度。
当我们没有programed gradient时,虽然我们可以用infinte difference来逼近某处的梯度,但当f计算起来非常耗时,或者本身not smooth,以及有非常多的noisy(譬如抖动),此时利用梯度信息可能都不是很好(太耗时or噪声太大)。对于这些问题,可以参照一下Derivative-free optimization
https://en.wikipedia.org/wiki/Derivative-free_optimization

[6]关于SGD:这也是一种迭代的解法,但是由于这种方法只使用first derivatives,未考虑second oder以及其近似。所以在一些场景中收敛速度会很慢(比如parameters have strong interactions)

[7]ML used in OR:
https://www.quora.com/How-is-machine-learning-used-in-operations-research

[8]Constrainted ML
https://or.stackexchange.com/questions/2904/which-ml-algorithms-work-by-solving-constrained-optimisation-problems
ML中加入constrainted的方式:
https://towardsdatascience.com/augmenting-neural-networks-with-constraints-optimization-ac747408432f

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

推荐阅读更多精彩内容

  • 最小二乘法是回归分析的一种标准方法,它通过最小化每个方程式结果中的残差平方和来近似超定系统(方程组多于未知数的方程...
    BMEZhang阅读 7,413评论 0 3
  • # An illustrated introduction to the t-SNE algorithm In t...
    野牛公爵阅读 490评论 0 0
  • 9. 循环神经网络 场景描述 循环神经网络(Recurrent Neural Network)是一种主流的深度学习...
    _龙雀阅读 2,910评论 0 3
  • 部分sub-field 线性规划:在线性约束与线性目标函数下极值求解。(是convex programming,一...
    shudaxu阅读 634评论 0 0
  • 对于线性回归,能表示成变量的一个线性变换,因此直接表现为的系数。注意,在线性回归中,只要系数是线性的就行,每一个可...
    shudaxu阅读 356评论 0 0