在机器学习中,很多情况下我们想要优化一个函数。举个例子:给定一个函数 f:Rn−>R f : R n − > R f:R^n ->R,我们要找到一个 x∈Rn x ∈ R n x\in R^n使得 f(x) f ( x ) f(x)取得最大值/最小值。

通常来说,找到一个全局最优解是困难的。但是,对于凸优化问题,局部最优解便是全局最优解。

凸集

在进行凸优化之前,首先我们要知道什么是凸集。

定义:如果集合C是一个凸集,那么对于 ∀x,y∈C ∀ x , y ∈ C \forall x, y \in C, θ∈R(θ≤θ≤1) θ ∈ R ( θ ≤ θ ≤ 1 ) \theta\in R(\theta\le\theta\le 1),总有

θx+(1−θ)y∈C θ x + ( 1 − θ ) y ∈ C

\theta x+(1-\theta )y\in C

几何含义:如果我们对于C中任意两个元素进行连接形成一条直线,那么直线上的任意一个点都在C中,我们称之为凸集。

例如上图,左侧是凸集,右侧是非凸集。

凸函数

定义:对于一个函数 f:Rn−>R f : R n − > R f:R^n->R,它的定义域是一个凸集 D(f) D ( f ) D(f),且对于 ∀x,y∈D(f) ∀ x , y ∈ D ( f ) \forall x, y \in D(f), 0≤θ≤1 0 ≤ θ ≤ 1 0\le \theta \le 1 , 有

f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y) f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y )

f(\theta x + (1-\theta)y) \le \theta f(x) + (1-\theta)f(y)

几何含义:我们在凸函数的图上任取两个点连成一条直线,在这条直线的范围内,凹函数图上的值小于这个直线上的值。

注意:同济高等数学上凸函数,凹函数的定义和国外凹凸函数的定义是相反的。

凸函数的一阶充要条件:

f(y)≥f(x)+∇xf(x)T(y−x) f ( y ) ≥ f ( x ) + ∇ x f ( x ) T ( y − x )

f(y) \ge f(x) + \nabla_x f(x)^T(y-x)
其中要求 f f f可微

凸函数的二阶充要条件:

∇x2f(x)≥0" role="presentation">∇2xf(x)≥0∇x2f(x)≥0

\nabla_x^2 f(x) \ge 0

其中要求 f f f的二阶可微。

凸优化问题

我们已经知道啦什么是凸函数、凸集,现在可以考虑凸优化问题。通常一个凸优化问题的形式是:

minimizef(x)st.x∈C" role="presentation">minimizef(x)st.x∈Cminimizef(x)st.x∈C

minimize \quad f(x)\\st. \quad x\in C

st为subject_to缩写。其中 f f f是一个凸函数,C是一个凸集,x是需要优化的变量。然而,上面的式子表达不够清楚,我们通常写成下面的:

minimizef(x)st.gi(x)≤0,i=1,2,...,mhi(x)=0,i=1,2,...,p" role="presentation">minimizef(x)st.gi(x)≤0,i=1,2,...,mhi(x)=0,i=1,2,...,pminimizef(x)st.gi(x)≤0,i=1,2,...,mhi(x)=0,i=1,2,...,p

minimize \quad f(x)\\st. \begin{aligned}&\quad g_i(x)\le 0,\quad i=1, 2,...,m\\&\quad h_i(x)=0,\quad i=1,2,...,p\end{aligned}

其中 f f f是一个凸函数,gi" role="presentation">gigig_i是凸函数, hi h i h_i是仿射函数,x是需要优化的变量。

对于凸优化问题来说,局部最优解就是全局最优解。

常见的凸优化问题

  1. 线性规划(Linear Programming)
    如果目标函数 f f f和约束g" role="presentation">ggg都是仿射函数,那这种凸优化问题被称为线性规划问题。

    minimizecTx+dsubject toGx≤hAx=b m i n i m i z e c T x + d s u b j e c t t o G x ≤ h A x = b

    minimize \quad c^Tx + d\\\begin{aligned}subject \ to \quad &Gx \le h\\&Ax=b\end{aligned}
    其中 x∈Rn x ∈ R n x \in R^n是需要优化的变量, c∈Rn,d∈R,G∈Rm∗n,h∈Rm,A∈Rp∗n,b∈Rp c ∈ R n , d ∈ R , G ∈ R m ∗ n , h ∈ R m , A ∈ R p ∗ n , b ∈ R p c \in R^n, d\in R,G\in R^{m*n},h\in R^m, A\in R^{p*n},b\in R^p

  2. 二次规划(QP)
    如果目标函数 f f f是凸二次函数,约束g是不等式的形式,那么这种凸优化问题被称为二次规划问题。

    minimize12xTPx+cTx+dsubject toGx≤hAx=b" role="presentation">minimize12xTPx+cTx+dsubject toGx≤hAx=bminimize12xTPx+cTx+dsubject toGx≤hAx=b

    minimize \quad \frac{1}{2}x^TPx +c^Tx + d\\\begin{aligned}subject \ to \quad &Gx \le h\\&Ax=b\end{aligned}
    其中 x∈Rn x ∈ R n x \in R^n是需要优化的变量, c∈Rn,d∈R,G∈Rm∗n,h∈Rm,A∈Rp∗n,b∈Rp,p∈Sn+ c ∈ R n , d ∈ R , G ∈ R m ∗ n , h ∈ R m , A ∈ R p ∗ n , b ∈ R p , p ∈ S + n c \in R^n, d\in R,G\in R^{m*n},h\in R^m, A\in R^{p*n},b\in R^p, p\in S^n_+

  3. 二次约束的二次规划(QCQP)
    如果目标函数 f f f和g" role="presentation">ggg都是凸二次函数,那么这种凸优化问题被称为二次约束的二次规划问题。

    minimize12xTPx+cTx+dsubject to12xTQix+rTix+si≤0i=1,2,...mAx=b m i n i m i z e 1 2 x T P x + c T x + d s u b j e c t t o 1 2 x T Q i x + r i T x + s i ≤ 0 i = 1 , 2 , . . . m A x = b

    minimize \quad \frac{1}{2}x^TPx +c^Tx + d\\\begin{aligned}subject \ to \quad &\frac{1}{2}x^TQ_ix+r_i^Tx+s_i \le 0 \quad i=1, 2,...m\\&Ax=b\end{aligned}
    其中 x∈Rn x ∈ R n x \in R^n是需要优化的变量, c∈Rn,d∈R,G∈Rm∗n,A∈Rp∗n,b∈Rp,p∈Sn+,Q∈Sni c ∈ R n , d ∈ R , G ∈ R m ∗ n , A ∈ R p ∗ n , b ∈ R p , p ∈ S + n , Q ∈ S i n c \in R^n, d\in R,G\in R^{m*n}, A\in R^{p*n},b\in R^p, p\in S^n_+, Q \in S^n_i

参考资料

  1. http://www.cnblogs.com/fuleying/p/4481334.html
  2. http://cs229.stanford.edu/section/cs229-cvxopt.pdf

[机器学习] 凸优化的总结相关推荐

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

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

  2. 详解机器学习的凸优化、图神经网络、强化学习、贝叶斯方法等四大主题

    AI是一门入门简单,但想深入却很难的学科,这也是为什么AI高端人才一直非常紧缺的重要原因.在AI领域技术领域,我们可以说机器学习功底决定了一个人的上限也不为过.为什么?机器学习就像物理学中的数学,如果 ...

  3. 详解GCN、GAT、凸优化、贝叶斯、MCMC、LDA

    如果你准备发AI方向的论文,或准备从事科研工作或已在企业中担任AI算法岗的工作.那么我真诚的向大家推荐,贪心学院<高阶机器学习研修班>,目前全网上应该找不到类似体系化的课程.课程精选了四大 ...

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

    在机器学习中,要做的核心工作之一就是根据实际问题,定义出一个目标函数,接着找到这个目标函数的最优解.在找这个最优解的过程中,你可能会生不如死~ 但是,上帝关上了你的门,总会给你打开一扇窗~ 有一类问题 ...

  5. 机器学习+优化问题的种类、如何优化、凸优化、非凸优化、对偶问题、KKT条件

    机器学习+优化问题的种类.如何优化.凸优化.非凸优化.对偶问题.KKT条件 目录

  6. 干货丨从基础知识到实际应用,一文了解「机器学习非凸优化技术」

    文章来源:机器之心 优化作为一种研究领域在科技中有很多应用.随着数字计算机的发展和算力的大幅增长,优化对生活的影响也越来越大.今天,小到航班表大到医疗.物理.人工智能的发展,都依赖优化技术的进步. 在 ...

  7. 机器学习数据挖掘笔记_15(关于凸优化的一些简单概念)

    没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs22 ...

  8. 机器学习中的数学知识(part3)--凸优化

    学习笔记,仅供参考,有错必究 文章目录 机器学习中的数学知识 凸优化 非凸优化 机器学习中的数学知识 凸优化 下面是实际问题中常见的凸集,记住它们对理解后面的算法非常有帮助. n n

  9. 机器学习中的数学(七)--凸优化的基础知识

    写在前面 <机器学习中的数学>系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等.本系列重在描述基本概念,并不在应用的方面的做深入的探讨, ...

最新文章

  1. mysql的配置和启动命令
  2. mysql数据库没启动命令_mysql数据库服务启动和停止命令介绍(转载)
  3. Intel Realsense USB设备的插入检测机制
  4. linux7.3搭建dns,Centos7.3搭建DNS服务器--BIND
  5. c语言中的字符变量用保留字()来说明,C语言程序设计填空题2
  6. 【云栖大会夺宝攻略】在线PK、打卡领奖、抢offer,开发者专属玩法在这里
  7. *【HDU - 6201】transaction transaction transaction(树形dp 或 spfa最长路 或 网络流)
  8. 小白设计模式:策略模式
  9. LeetCode 48 旋转图像
  10. 【EJB】Developing EJB Applications -- Chapter 2(创建企业级Bean项目)
  11. 斐讯盒子t1 刷Android,T1刷机的详细步骤
  12. 洛马公司获得阿联酋“萨德”导弹防御系统支持合同-我爱无人机网
  13. ESD保护器件分类(TVS、压敏电阻、MLCC、ESD抑制器)
  14. Hbase最新官方文档中文翻译与注解1-10|hbase简介与配置信息等
  15. php实现自定义中间logo的微信小程序码
  16. 国内10个最佳PS教程网站
  17. 中国资源卫星应用中心_数据下载
  18. Centos 7 Authorization failed. Make sure polkit agent is running or run the application as superuser
  19. 【distillation】shrinkTeaNet:Million-scale Lightweight Face Recognition via Shrinking T-S Networks
  20. P2294 [HNOI2005]狡猾的商人 带权并查集

热门文章

  1. 华友世纪CEO和CFO双双离职 盛大高管全面接管
  2. ChatGPT 的情感智能:机器人是否能够感受到情绪?
  3. ASEMI代理ADUM3211TRZ-RL7原装ADI车规级ADUM3211TRZ-RL7
  4. hydra 九头蛇端口爆破
  5. 数据湖:用以分析客户数据的一种更好的方式
  6. 芜湖计算机姚明老师,2012安徽选调生申论热点:姚明的特别贡献
  7. J2me 手机软件 签名
  8. 进程伪装实现将进程伪装成任意程序
  9. linux搭建socks5代理
  10. 一步真实解决TypeError: unlink() got an unexpected keyword argument ‘missing_ok‘