点击上方“大数据与人工智能”,“星标或置顶公众号”

第一时间获取好内容

作者丨stephenDC

这是作者的第12篇文章

导语

生活中我们处处面临最优化的问题,比如,怎么样一个月减掉的体重最高?怎么样学习效率最高?怎么样可以最大化实现个人价值?

显然,每一个目标都受很多因素的影响,我们称之为目标函数的最优化。

优化的思路有很多种,比如基于梯度的梯度下降,基于二阶梯度的牛顿法,基于近似的二阶梯度的拟牛顿法,基于下界函数的最优化,贪婪算法,坐标下降法,将约束条件转移到目标函数的拉格朗日乘子法等等。

本文我们讨论一下基于下界函数的最优化,且将讨论的范围限定为无约束条件的凸优化。

基于下界函数的优化

在有些情况下,我们知道目标函数的表达形式,但因为目标函数形式复杂不方便对变量直接求导。这个时候可以尝试找到目标函数的一个下界函数,通过对下界函数的优化,来逐步的优化目标函数。

             

上面的描述性推导很是抽象,下面我们来看两个具体的例子,EM算法和改进的迭代尺度法。限于篇幅,我们重点推导EM算法,改进的迭代尺度法只是提及一下。

EM算法

             

              

改进迭代算法

概率模型中最大熵模型的训练,最早用的是通用迭代法GIS(Generalized Iterative Scaling)。GIS的原理很简单,大致包括以下步骤:

  • 假定初始模型(第0次迭代)为等概率的均匀分布。

  • 用第k次迭代的模型来估算每种信息特征在训练数据中的分布,如果超过了实际的,就把相应的模型参数变小;反之,将参数变大。

  • 重复步骤2,直到收敛。

GIS算法,本质上就是一种EM算法,原理简单步骤清晰,但问题是收敛太慢了。Della Pietra兄弟在1996年对GIS进行了改进,提出了IIS(Improved Iterative Scaling)算法。IIS利用log函数的性质,以及指数函数的凸性,对目标函数进行了两次缩放,来求解下界函数。详情可参阅李航的《统计学习方法》一书。

小结

本文讨论了一下基于下界函数的最优化这样一种优化思路,希望对大家有所帮助。同时也一如既往地欢迎批评指正,以及大神拍砖。

-end-

基于下界函数的最优化相关推荐

  1. 优化思路千万种,基于下界函数的最优化效率如何?

    作者丨stephenDC 来源 | 大数据与人工智能(ID:ai-big-data) 导读:生活中我们处处面临最优化的问题,比如,怎么样一个月减掉的体重最高?怎么样学习效率最高?怎么样可以最大化实现个 ...

  2. 基于fmincon函数的最优化计算

    x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) 求解问题的标准型为 min F(X) s.t AX <= b(线性不等式约束) AeqX = beq( ...

  3. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、基于自定义函数构建xgboost文本分类模型

    R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.基于自定义函数构建xgboost文本分类模型 目录

  4. R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值、自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N、中位数median、四分位数的间距iqr)

    R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值.自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N.中位数median.四分位数的间距iqr) 目录

  5. R语言gganimate包创建可视化gif动图、可视化动图:ggplot2可视化静态散点图、gganimate包创建动态散点分面图(facet_wrap)动画基于transition_time函数

    R语言gganimate包创建可视化gif动图.可视化动图:ggplot2可视化静态散点图.gganimate包创建动态散点分面图(facet_wrap)动画基于transition_time函数 目 ...

  6. R语言gganimate包创建可视化gif动图、可视化动图:、gganimate包创建动态线型图动画基于transition_time函数、使用geom_point函数显示动画移动的数据点

    R语言gganimate包创建可视化gif动图.可视化动图:.gganimate包创建动态线型图动画基于transition_time函数.使用geom_point函数显示动画移动的数据点 目录

  7. R语言gganimate包创建可视化gif动图、可视化动图:创建动态散点图动画基于transition_time函数、使用shadow_wake函数配置动画的渐变效果(gradual falloff)

    R语言gganimate包创建可视化gif动图.可视化动图:创建动态散点图动画基于transition_time函数.使用shadow_wake函数配置动画的渐变效果(gradual falloff) ...

  8. R语言gganimate包创建可视化gif动图:gganimate包创建动态线型图动画基于transition_time函数、使用geom_point函数显示动画移动的数据点、并保留线图中的全部数据点

    R语言gganimate包创建可视化gif动图:gganimate包创建动态线型图动画基于transition_time函数.使用geom_point函数显示动画移动的数据点.并保留线图中的全部数据点 ...

  9. R语言gganimate包创建可视化gif动图:ggplot2可视化静态条形图(bar plot)、gganimate包创建动态条形图(bar plot)动画、基于transition_time函数

    R语言gganimate包创建可视化gif动图:ggplot2可视化静态条形图(bar plot).gganimate包创建动态条形图(bar plot)动画.基于transition_time函数 ...

最新文章

  1. OSChina 技术周刊第九期 —— 每周技术精选,值得一看!
  2. Linux共享内存编程实例
  3. Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务
  4. SQL Server2005重装Performance Monitor Counter 的问题解决
  5. USTC English Club Note20171012(4)
  6. 安卓5.0以上设备最简单激活XPOSED框架的步骤
  7. python实现蜘蛛功能批量下载手机壁纸
  8. Linux 比较不同命令
  9. 设计模式-UML关系基础
  10. 餐饮后台UI模板有这个就够了!
  11. python统计各分数段人数并可根据选择绘制不同的图形_python习题整理
  12. tyvj p1016 装箱问题( 简单DP 01背包)
  13. 国外卫星地图mapbox的基本操作
  14. Navicat Premium 12安装包下载
  15. 【高颜值的盲打练习网站】彻底摆脱二指禅,刻意练习一星期后打字速度可提升20wpm!!!
  16. dw整个网站html文件怎么放一起,Dreamweaver模板如何批量做网页
  17. 测试听力口语软件,上、英语系学姐最全整理的34个英语学习App 针对听力、口语、阅读...
  18. 注册Apple ID
  19. 正在使用赶牛! 赶牛,中国股民的微博客
  20. 分布式系统开发实战:分布式存储,分布式存储常用技术

热门文章

  1. python集合及其运算
  2. 人工智能-高等数学之导数篇
  3. 天梯赛(c++) 古风排版
  4. java计算机毕业设计合同管理MyBatis+系统+LW文档+源码+调试部署
  5. python知识整理(一)
  6. Appscan工具的使用
  7. jQuery---仿芒果网机票预定智能输入提示
  8. Chasedb1--视网膜血管分割数据集
  9. ***cgy学长爱吃糖果***
  10. 一个金融行业站SEO优化方案