(机器学习之算法)凸优化
深切哀悼抗击新冠肺炎斗争中的牺牲烈土和逝世同胞。愿逝者安息,愿生者奋发,愿祖国昌盛!!!!!
一、基础认知
我们首先思考两个不等式:
- 两个正数的算术平均数大于等于几何平均数:(a+b)/2 ≧√ab,a>0,b>0
- 给定可逆对称矩阵Q,对于任意的向量x,y(x,y的阶数和Q一样)有:xTQx+yTQ-1y≥2xTy
大家可能第一个见的多第二个见的少。我们都可以用凸优化去解决这种不等式的问题,去证明。
理解凸集: y=x2是凸函数,函数图像上位于y=x2上方的区域构成凸集。
几何体的向量表达:
给定二维平面上两个定点:a(x1,y1),b(x2,y2),则:
- 过a,b的直线表达:x=θa+(1-θ)b,θ∈R
- 过a,b的线段表达:x=θa+(1-θ)b,θ∈[0,1]
一般的:f(x,y)=0表示定义域在R2的曲线,f(x,y,z)=0表示定义域在R3的曲面
特殊的:z=h(x,y)表示定义在R2的曲面,,y=f(x)表示定义域在R的曲面
这里给大家讲一个例子:
(虽然是个小例子但是是我自己编的,写为引用我感觉和正文好区分)
A(2,1)、B(3,3)则经过点A、B的直线方程就是:
x1=θ×2+3×(1-θ),x2=θ×1+3×(1-θ),θ∈R
进行化简后:2x1-x2-3=0
就像用超平面表达所有维度的“面”一样,这里用x1表示点A的x坐标的θ倍和点B的x坐标的1-θ倍的加权加和,x2表示点A的y坐标的θ倍和点B的y坐标的1-θ倍的加权加和。
我们的公式如下:
x的向量=(x1,x2)
二、放射集
定义: 通过集合C中任意两个不同点的直线仍然在集合C内,则称集合C为仿射集。
仿射集的例子: 直线、平面、超平面
- 超平面一般表示为:Ax=b
- f(x)=0表示定义域在Rn的超曲面:令f(x)=Ax-b,则f(x)=0表示“截距”为b的超平面。
- n维空间的n-1维仿射集为n-1维超平面。
仿射包: 包含集合C的最小仿射集。
设C为实线性空间X中的集合,那么包含C的最小仿射集称为C的仿射包。它是所有包含C的仿射集的全体的交集,也是C中的元素的不断用直线连结后的元素全体,C的仿射包通常记为aff C 。
仿射维数: 仿射包的维数
- 直线的仿射维数为1
- 平面的仿射维数为2
- 空间的仿射维数为3
判断内点和相对内点: 我们的第一想法是二维画圆形,三维看球形,看看距离。如果点再图内部就是其内点。如果这个概念用了aff C上就是相对内点。一般用relint C表示C的内点。
三、凸集
概念: 集合C内任意两点间的线段均在集合C内,则称集合C为凸集。
因为仿射集的条件比凸集的条件强,所以,仿射集必然是凸集(仿射集是直线,凸集是线段)
例子:
凸包: 集合C的所有点的凸组合形成的集合,叫做集合C的凸包,集合C的凸包是能够包含C的最小的凸集。
例子:
凸集是里面的小黑点,五边形是凸包。
锥:
凸锥: 即是凸集又是锥。
锥包: 集合C内点的所有锥组合。
超平面和半空间:
超平面:{x|aTx=b}
半空间: {x|aTx≥b}或者{x|aTx≤b}
欧式球和椭球:欧式球:是以xc为球心,r为半径的球。
椭球:一种二次曲面,是椭圆在三维空间的推广。椭球在xyz-笛卡尔坐标系中的方程是:x2 / a2+y2 / b2+z2 / c2=1,其中a和b是赤道半径(沿着x和y轴),c是极半径(沿着z轴)。这三个数都是固定的正实数,决定了椭球的形状。
范式球和范式锥:范数:是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。半范数可以为非零的矢量赋予零长度。
范数球:
范数锥:
多平面: 有限个半空间和超平面的交集。
仿射集、射线、线段、半空间都说多面体。
多面体是凸集。
又名多胞体。
a1,a2,a3,a4,a5一起组成了多面体。
- 集合交运算:半空间的交
- 仿射变换:函数f=Ax+b的形式,称函数是仿射的:即线性函数加常数的形式。
- 透视变换
- 投射变换(线性分式变换)
*仿射变换:*f(x)=Ax+b,A∈Rm×n,b∈Rm
b=0时为伸缩变换,A=0是平移,其他时候为投影
分析仿射变换: - 两个凸集的和为凸集
- 两个凸集的笛卡尔积(直积)为凸集
*透视变换:*透视函数对向量进行伸缩(规范化),使得最后一维的分量为1并舍弃之。
上面是开个小孔
这样都集中在y=-1上就从二维降到了一维。
凸集的透视变换也是凸集
*投射函数:(线性分析函数)*投射函数是透视函数和仿射函数的复合。
定义f为性分式子函数:
若c=0,d>0则f为普通的仿射函数。
分割超平面: 设C和D为两不相交的凸集,则存在超平面P,P可以将C和D分离。
这个问题在机器学习的分类中会用到。
支撑超平面: 设集合C,x0为C边界上的点。若存在a≠0,满足对任意x∈C,都有 成立,则称超平面{x|aTx=aTx0}为集合C在点x0处的支撑超平面。凸集边界上任意一点,均存在支撑超平面。若一个闭的非中空集合,在边界上的任意一点存在支撑超平面,则该集合为凸集。
四、凸函数
定义: 若函数f的定义域为凸集且满足
一阶可微: 若f一阶可微,则函数f为凸函数当前仅当f的定义域为凸集,且
思考:
对于凸函数,其一阶Taylor近似本质上是该函数的全局下估计反之,如果一个函数的一阶Taylor近似总是起全局下估计,则该函数是凸函数。该不等式说明从一个函数的局部信息,可以得到一定程度的全局信息。
二阶可微: 若函数f二阶可微,则函数f为凸函数当前仅当dom为凸集,且
若f是一元函数,上式表示二阶导大于等于0。若f是多元函数,上式表示二阶导Hessian矩阵半正定。
凸函数例子:
问题:怎么看f(x)是凸函数?
解答:二阶导数恒大于等于0就好了啊。
上境图: 函数f的图像定义为:{(x,t)|x∈dom f}函数f的上境图定义为:
一个函数是凸函数,当且仅当其上境图是凸
集进一步,一个函数是凹函数,当且仅当其亚
图(hypograph)是凸集。
Jense不等式: 若f是凸函数
基本jense不等式:
p(x)的积分和为1是,。
保持函数凸性的算子:
- 凸函数的非负加权和:
- 凸函数与仿射函数的复合:
- 凸函数的逐点最大值、逐点上确界
凸函数的逐点最大值: f1,f2均为凸函数,定义函数f:
则函数f为凸函数:
逐点上确界和上境图的关系:一系列函数逐点上确界函数对应着这些函数上境图的交集。一系列函数逐点上确界函数对应着这些函数上境图的交集。
共轭函数: 原函数 Rn->R的共轭函数定义:逐x点求上确界得到的y得到的函数就是共轭函数。
显然,定义式的右端是关于y的仿射函数,它们逐点求上确界,得到的函数f*(y)一定是凸函数。
凸函数的共轭函数的共轭函数是其本身。
可逆对称阵Q,对于任意的向量x,定义函数
关于(x,y)的函数
在x=Q-1y时取上确界,带入,得到:
f*即是f的共轭函数
根据定义:
立即可以得到:
Fenchel不等式应用::
凸优化的基本形式
最优问题的基本形式:
- 优化问题的域:
- 可行点:x∈D,且满足约束条件
- 可行域:所以可行点的集合
- 最优化值:
- 最优化解:
局部最优问题:
其中,fi(x)为凸函数,hj(x)为仿射函数。
凸优化问题的重要性质:凸优化问题的可行域为凸集;凸优化问题的局部最优解即为全局最优解。
对偶问题:
一般优化问题的lagrange乘子法:
Lagrange函数:
对固定的x,Lagrange函数L(x,λ,v)为关于λ和v的仿射函数。
Lagrange对偶函数:
若没有下确界定义:g(λ,v)=-∞
根据定义,显然有:对∀λ>0,∀v,若原优化问题有最优值p*,则:g(λ,v)≤p*
进一步:Lagrange对偶函数为凹函数。
线性方程的最小二乘问题:
原问题:
Lagrange函数:
Lagrange对偶函数:
对L求x的偏导,带入L
对g求v的偏导
强对偶条件: 若要对偶函数的最大值即为原问题的最小值,考察需要满足的条件:
Karush-Kuhn-Tucker (KKT)条件:
(机器学习之算法)凸优化相关推荐
- 机器学习中牛顿法凸优化的通俗解释
红色石头的个人网站:redstonewill.com 之前,我发过一篇文章,通俗地解释了梯度下降算法的数学原理和推导过程,推荐一看.链接如下: 为什么局部下降最快的方向就是梯度的负方向? 我们知道,梯 ...
- 机器学习数学基础系列|凸优化——开启新世界的大门(上)
在机器学习中,要做的核心工作之一就是根据实际问题,定义出一个目标函数,接着找到这个目标函数的最优解.在找这个最优解的过程中,你可能会生不如死~ 但是,上帝关上了你的门,总会给你打开一扇窗~ 有一类问题 ...
- 机器学习中的凸优化理论
凸优化课程 优化问题 定义:从一个可行解中找到一个最好的元素. 通常来说优化问题都可以写成如下的形式: 最小化目标函数: m个约束函数: 凸规划与非凸规划 凸规划满足: 凸规划都是相对容易解决的,非凸 ...
- 老王决策规划算法凸优化与非凸优化
自动驾驶决策规划算法第一章第二节 凸优化与非凸优化 梯度下降法(按每个点一阶导的正负的反方向迭代,如果某个点的一阶导是负的,则下个点取正方向的一个点,反之则取负方向的一个点,迭代的步长取决于导数绝对值 ...
- 七月算法机器学习笔记4 凸优化
七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记
- 机器学习——凸优化基础知识
文章目录 一.计算几何 (一)计算几何是研究什么的 (二)直线的表达式 二.凸集 (一)凸集是什么 (二)三维空间中的一个平面如何表达 (三)更高维度的"超平面"如何表达 三.凸函 ...
- 数学之美:凸优化问题
导言 凸优化(convex optimization)是最优化问题中非常重要的一类,也是被研究的很透彻的一类.对于机器学习来说,如果要优化的问题被证明是凸优化问题,则说明此问题可以被比较好的解决.在本 ...
- 干货丨从基础知识到实际应用,一文了解「机器学习非凸优化技术」
文章来源:机器之心 优化作为一种研究领域在科技中有很多应用.随着数字计算机的发展和算力的大幅增长,优化对生活的影响也越来越大.今天,小到航班表大到医疗.物理.人工智能的发展,都依赖优化技术的进步. 在 ...
- 机器学习中的数学知识(part3)--凸优化
学习笔记,仅供参考,有错必究 文章目录 机器学习中的数学知识 凸优化 非凸优化 机器学习中的数学知识 凸优化 下面是实际问题中常见的凸集,记住它们对理解后面的算法非常有帮助. n n
最新文章
- 服务器唯一id生成规则
- 约翰诺曼超级计算机研究中心,第433章 拉泽尔松教授的决定
- php怎样加密文件,如何使用php加密大文件并通过命令行解密?
- 最新增值税商品税目编码表_大家好!我叫增值税!这是我的最新最全税率表
- 怎么给mysql用户添加权限_MySQL下添加用户以及给予权限的实现
- 序列元素IT面试题——判断合法出栈序列
- 数据3分钟丨​PingCAP DevCon 2021回顾;openGauss社区颁发首张OGCA认证证书
- Count on a tree SPOJ - COT
- Exchange管理界面
- mysql报1665_mysql错误处理之ERROR 1665 (HY000)_MySQL
- 《高性能Linux服务器构建实战》——2.2节开始安装Varnish
- OC、OD、线或线与逻辑
- 威纶通与三菱PLC条码枪解码程序 本程序是威纶通触摸屏USB接头直接插条形码扫码枪
- 高数 | 【不定积分】基础知识点梳理 及 经典例题、李林880求不定积分例题
- idea工具的内存优化
- 用python绘制树和深林
- 搭配Online:瑞幸昔日“盟友”神州优车,与北汽集团达成战略合作
- 秦小明 第九讲 金融行业公司类型
- 怎么恢复我在计算机里删掉的文档,如题,如何彻底删除电脑中的文件,使文件不能恢复?(我的方式是直接? 爱问知识人...
- MySQL删除数据后,释放磁盘空间