在机器学习中,要做的核心工作之一就是根据实际问题,定义出一个目标函数,接着找到这个目标函数的最优解。在找这个最优解的过程中,你可能会生不如死~

但是,上帝关上了你的门,总会给你打开一扇窗~

有一类问题叫做凸优化问题,我们可以比较有效的找到全局最优解。这就是今天我们就来介绍的主角——凸优化。话不多说,先来看一下相关的一些定义。

1、凸函数









 是凸函数,(如 









 )则函数图像位于凸函数上方的区域构成凸集。

有:

  • 凸函数图像的上方区域,一定是凸集。

  • 一个函数图像的上方区域是凸集,则该函数就是凸函数。

  • 凸函数的局部最小值就是全局最小值。

正式定义:

(1)若函数 




 的定义域 







 为凸集,且满足





























则有:

(2)若函数 




 一阶可微,则函数 




 为凸函数当且仅当 




 的定义域domf为凸集,且:

(3)若函数 




 二阶可微,则函数 




 为凸函数当且仅当 




 的定义域domf为凸集,且:















若 




  是一元函数,上式表示二阶导大于等于零。

若 




  是多元函数,上式表示二阶导 










 矩阵半正定。

凸函数的举例:

  • 指数函数:















  • 幂函数:



























     或 






  • 负对数函数:












  • 负熵函数:












  • 范数函数:
















  • 最大值函数:

  • 指数线性函数:

    最大值函数:

指数线性函数:

2、仿射集

若通过集合 




 中任意两个不同点的直线仍然在集合 




 内,则称集合 




 为仿射集。


























 ,

则 




























直线,平面和超平面都属于仿射集:




 维空间的 




 -1维仿射集为 




 -1维超平面。

3、凸集

集合 




 内任意两点间的线段均在集合 




 内,则称集合 




 为凸集:






























 ,

则 
























 ,

则 






























一般来说,仿射集的要求更高,仿射集必然是凸集,凸集未必是仿射集。

4、分割超平面

设 




 和 




 是两个不相交的凸集,则存在超平面 









 可以将 




 和 




 分离。

有:   















 ,

且  















5、支持超平面

设集合 




 , 









 为 




 边界上的点。若存在 






 ,满足对任意 






 ,都有 























 成立,则称超平面 





























 为集合 




 在点 









 处的支撑超平面。

凸集边界上任意一点,均存在支撑超平面。反之,若一个闭的非中空(内部点不为空)集合,在边界上的任意一点存在支撑超平面,则该集合为凸集。

以上就是凸优化相关知识的一些定义啦。下面给大家介绍一下Jensen不等式。Jensen不等式(Jensen's inequality)是以丹麦数学家Johan Jensen命名的,它在概率论、机器学习、测度论、统计物理等领域都有相关应用。 









 不等式相当于把凸函数的概念反过来说,即是如果 




 是一个凸函数,任意取一个在 




 定义域上的








 点,

若 




 是凸函数,有 :





























  有

若  



















































则:

若  









  





  






















则:










  •  不等式是几乎所有不等式的基础

1、利用 










 是凸函数,证明:



























 。

提示:任取 












 代入基本 









 不等式。

2、利用 



















 ( 




 是凸函数),证明下式 






 。其中,

证明:

注意到 










 在定义域上是凸函数,则:


































































=0

好了,以上就是本期的分享啦,凸优化,我们下期再会,未完待续。。。。

如果你觉得内容还不错~

可以点一下“在看”

或上github帮我们“star”一下~

编辑:yxc

最后如果你觉得内容还不错,欢迎安利给你的各个小伙伴~

- END -

如果看到这里,说明你喜欢这篇文章,请转发、点赞。扫描下方二维码或者微信搜索「perfect_iscas」,添加好友后即可获得10套程序员全栈课程+1000套PPT和简历模板向我私聊「进群」二字即可进入高质量交流群。

扫描二维码进群↓

在看 

机器学习数学基础系列|凸优化——开启新世界的大门(上)相关推荐

  1. 【FlutterFlame 游戏 - 壹】开启新世界的大门

    theme: cyanosis 持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 2 天,点击查看活动详情 一. 新的可能性 Google I/O 2022 对于 Flutter ...

  2. 机器学习中牛顿法凸优化的通俗解释

    红色石头的个人网站:redstonewill.com 之前,我发过一篇文章,通俗地解释了梯度下降算法的数学原理和推导过程,推荐一看.链接如下: 为什么局部下降最快的方向就是梯度的负方向? 我们知道,梯 ...

  3. 机器学习中的凸优化理论

    凸优化课程 优化问题 定义:从一个可行解中找到一个最好的元素. 通常来说优化问题都可以写成如下的形式: 最小化目标函数: m个约束函数: 凸规划与非凸规划 凸规划满足: 凸规划都是相对容易解决的,非凸 ...

  4. 机器学习案例系列教程——优化方法总结(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)

    梯度下降法 梯度下降法是最早最简单,也是最为常用的最优化方法.梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解.一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的.梯度 ...

  5. python机器学习案例系列教程——优化,寻找使成本函数最小的最优解

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 举个例子我们来了解一下优化问题,学校为2n个同学分配n个宿舍,每个宿舍两个床铺,每个同学提交了自己最想住的宿舍和其次想住的宿舍(只选房 ...

  6. 七月算法机器学习笔记4 凸优化

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  7. 机器学习——凸优化基础知识

    文章目录 一.计算几何 (一)计算几何是研究什么的 (二)直线的表达式 二.凸集 (一)凸集是什么 (二)三维空间中的一个平面如何表达 (三)更高维度的"超平面"如何表达 三.凸函 ...

  8. 凸优化_Stephen_Boyd_

    AI 菌 由于凸优化在机器学习中还是很重要 链接:http://pan.baidu.com/s/1eS3vuLk 密码:3epx 理论部分由4章构成,不仅涵盖了凸优化的所有基本概念和主要结果,还详细介 ...

  9. 【数值分析】学习笔记3——凸优化1:凸函数和凸优化问题

    目录 前言 一.凸函数(Convex Function) 1.什么是凸函数 2.凸函数的性质 (1) 凸函数上任一点的切线均位于函数下方 (2)可微凸函数极小值点(实际问题中的最优解点)的特性 二.凸 ...

最新文章

  1. python代码判断两棵二叉树是否相同
  2. docker逃逸 从Play-with-Docker容器逃逸到Docker主机
  3. 机器学习知识体系(强烈推荐)
  4. c语言编写一个函数判断闰年,C语言:实现一个函数判断year是不是闰年
  5. php中 怎么去除,php如何去掉链接
  6. php变成基础答案,高校邦《PHP语言程序设计》答案教程2020优学院《读写教程(基础篇) —— 成功之路大学英语综合教...
  7. Quick BI 支持多种数据源进行多维分析 1
  8. python面向对象使用方法_python面向对象之方法
  9. Android Intent机制与常见的用法
  10. mysql 使用中_phpmyadmin显示MySQL数据表“使用中” 修复后依然无效的解决方法
  11. eclipse J2ME调试时模拟器一闪就消失原因
  12. Java集合框架总结
  13. 第六章jQuery选择器
  14. 小麦(Wheat)-玉米(Maize)-水稻(Rice) 数粒软件
  15. VUE-Cli报No Babel config file detected错误的一系列解决方法
  16. 优启通制作系统u盘_如何用优启通制作U盘启动盘
  17. POJ 6184 【三元环 +分治】
  18. 嵌入式研发人员核心竞争力分析
  19. Windows_01_Windows系统的中的32位和64位(System32和SysWOW64)
  20. java自定义封装一个方法_Java自定义套件封装教程

热门文章

  1. 【HDU】1237 简单计算器 (stack)
  2. 为什么掌握Linux对程序员这么重要……
  3. 赠书 | 一文了解预训练语言模型
  4. 实时音视频的超级风口,开发者的机会在哪里?
  5. 如何用 Python 将 Excel 表格转成可视化图形?| 原力计划
  6. 百度CTO王海峰:深度学习如何大规模产业化?
  7. 华人“霸榜”ACL最佳长短论文、杰出论文一作,华为、南理工等获奖
  8. 做人工智能必看的45篇论文 | 附下载地址
  9. 一道简约而不简单的算法题——数据流的中位数 | 附动画解析
  10. 如何用Python和BERT做中文文本二元分类?| 程序员硬核评测