无约束凸优化算法

本章涉及知识点

1、scipy库求解全局最优和局最优

2、多元函数的极值求解算法

3、牛顿迭代法算法

4、牛顿迭代法求解多元函数的驻点

在金融学和经济学中,凸优化起着非常重要的作用,而研究凸优化求解其极值是一个非常有趣的数学问题

我们用一个案例来研究无约束凸优化算法,假设有如下二元目标函数

目标函数

一、scipy库求解全局最优和局最优

我们先用numpy生成50个二维网格点即对应的f(x,y)

50个网格点和对应的函数值

画出f(x,y)的图像观察

案例多元函数图像

显然从图像上可以直观看出,函数存在多个局部极小值。我们通过scipy库封装好的brutefmin两个工具函数来求解目标函数的极值

scipy的brute函数以参数范围和参数移动的步距作为输入,我们分别以[-10,10]为参数范围,5和0.1为不同的参数移动步距来求解极值

brute函数求解全局最优
参数步距为5时,求解的极值
参数步距为0.1时,求解的极值

可以看到在[-10,10]区间里,brute函数求解多元函数的驻点大概在x=y=-1.4,此时的极值为-1.7749

我们再利用fmin函数求解在初始值为x=y=-1.4时函数的局部最优解,fmin函数以需要最小化的函数和起始参数值作为输入,将brute函数求解出的驻点带入fmin

fmin函数求解局部最优(带入全局最优的驻点)
fmin函数求解的极值

可以看到fmin在brute的基础上求解出更低的函数值,可以看到,在求解凸优化问题中,建议在使用局部优化之前先进行全局优化,防止求解过程陷入某个局部最优解(盆地跳跃)

二、多元函数的极值求解算法

上述我们使用了python的scipy库封装好的方法,来求解出多元函数的极值,下面我们来分析求解多元函数极值的纯数学算法

一般地,我们把具有二阶偏导数的函数z=f(x,y),其求解极值的算法描述如下:

第1步:求出目标函数关于x和y的一阶偏导数,得到一切驻点

第2步:求出目标函数 关于x和y的二阶偏导数,并分别带入驻点求出其 二阶偏导数的值A、B和C

第3步:根据A*C-B*B的符号,判断是否存在极值,是极大值还是极小值

            (1):A*C-B*B>0时,具有极值,且当A>0时存在极大值,当A<0时存在极小值

            (2): A*C-B*B<0时,没有极值

            (3): A*C-B*B=0时,可能有极值,也可能没有极值

带入驻点的二阶偏导数的值

三、牛顿迭代法

有了上述数学算法,我们对目标函数来求一阶偏导数

目标函数关于x的一阶偏导数

上式存在一个问题,要直接计算出一阶偏导数为0对应的x,则求解难度非常大,因为式子中包含了cos函数,而cos的泰勒展开式为

cos的n阶展开式

这是由n个多项式组成,所以我们只能利用逼近法的思路,来近似求解,比如牛顿迭代法

牛顿迭代法示意图

设曲线L=f(x),则L上任意一点x0对应的切线方程为

x0的切线方程

令y=0,解出切线与x轴的交点的横坐标x1为

切线与x轴的交点

从图上可以看出x1越发靠近曲线L的真实解,如此迭代下去,在点(xn-1,f(xn-1))作切线,可以得到L根的近似值为

牛顿迭代法公式

四、牛顿迭代法求解多元函数的驻点

有了牛顿迭代法的公式,下面我们来解目标函数关于x的一阶偏导数cosx+0.1x=0的根(求解y同理),其一阶导数为-sinx+0.1,迭代出驻点后带入目标函数即可求出其极值

牛顿迭代法解出驻点
驻点对应的极值

从结果上看和scipy库计算出来的极值非常接近,其本质就是求解多元函数极值的算法

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

推荐阅读更多精彩内容

  • AI人工智能时代,机器学习,深度学习作为其核心,本文主要介绍机器学习的基础算法,以详细线介绍 线性回归算法 及其 ...
    erixhao阅读 13,826评论 0 36
  • 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘...
    大川无敌阅读 13,821评论 0 29
  • Scipy scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化...
    Aieru阅读 34,724评论 3 59
  • 机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间...
    在河之简阅读 20,477评论 4 65
  • 我的新名片,颠覆了吧[捂脸] 其实就是打了个粉底,加了副耳环,换了套衣服,但是彻头彻尾不一样了,有点意思吧; 今天...
    小Dew阅读 478评论 0 0