机器学习(四)——凸优化

参考

凸优化(一):https://blog.csdn.net/xierhacker/article/details/61415747

凸优化(二):https://blog.csdn.net/xingce_cs/article/details/73648609

凸优化(三):https://blog.csdn.net/xingce_cs/article/details/73715903

凸优化(四):https://blog.csdn.net/xingce_cs/article/details/73748679


一.  预备知识

1. 直线的向量表达式

                      (向量x为直线上没一点的向量,参考向量的加法原理)

时,表示过AB的直线。

时,表示过AB的线段。


2. 几何体的向量表达式(由直线的向量表达式推广所得)

任何体都可以用向量表达

三维平面:

三角形

超平面:

(超)几何体:


3. 仿射集

如果通过集合C中任意两个不同点之间的直线 (上的任何点) 仍在集合C中,那么称集合C是仿射的;

{ C | θ*x1+(1-θ)*x2 ∈ C;其中 x1∈ C,x2∈ C} 注意,对θ没有限定


4. 凸集

如果通过集合C中任意两个不同点之间的线段(上的任何点)仍在集合C中,那么称集合C是凸的;

符号定义:{ C | θ*x1+(1-θ)*x2 ∈ C;其中 x1∈ C,x2∈ C,0<=θ<=1} 注意,对θ有限定


5.凸包

在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的线性组合来构造。在二维欧几里得空间中,凸包可想象为一条刚好包著所有点的橡皮圈。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点。

                                    

集合C的凸包是能够包含C的最小的凸集。


6.超平面和半空间

超平面是n维欧氏空间中余维度等于一的线性子空间,也就是必须是(n-1)维度

超平面hyper plane     (矩阵乘以向量:将向量旋转和转移)

 (a是法向量,b是直线到远点的距离)

半空间half space

 

详细参考:https://blog.csdn.net/myarchangel/article/details/8852074

      https://blog.csdn.net/denghecsdn/article/details/77313758


7、欧式球和椭球

欧式球:

 

椭球:

 

8、范数:

范数球

 

范数锥



9、多面体

    多面体有限个半空间和超平面的交集。


仿射集(如超平面、直线)、射线、线段、半空间都 是多面体。

多面体是凸集。


10. 保凸运算

10.1 交集

交集是保凸的,无穷个凸集的交集也是凸的。

10.2 仿射变换(透视变换的特殊情况)

仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间

               

参考:https://www.zhihu.com/question/20666664

10.3 透视变换

透视变换:透视函数对向量进行伸缩(规范化),使得最 后一维的分量为1并舍弃之。(降维)

参考:https://blog.csdn.net/xiaowei_cqu/article/details/26471527

参考:https://blog.csdn.net/zhanghua1816/article/details/23121735

10.4 投射变换

投射变换:投射函数是透视函数和仿射函数的复合


11.  分割超平面

假设CCDD是两个不相交的凸集,那么一定存在a0a≠0的超平面aTx=baTx=b将凸集分隔开,使CC中点满足aTxbaTx≤b,而DD中点满足aTxbaTx≥b。注意,逆定理能被超平面分离说明不相交是不成立的。

严格分离:如果存在a0a≠0的超平面aTx=baTx=b将凸集分隔开,使CC中点满足aTx<baTx<b,而DD中点满足aTx>baTx>b,我们称超平面将凸集严格分离。对于不相交的凸集来说,不一定能被严格分离,但是通常是可以构造出严格分离的。


12. 支撑超平面


CRnC⊆Rnx0x0是其边界bdCbdC上一点,若a0a≠0,并且对于任意xCx∈C满足aTxaTx0aTx≤aTx0,那么称超平面{xaTx=aTx0}{x∣aTx=aTx0}为集合CCx0x0点处的支撑超平面。(有点像切线的感觉)对于任意非空的凸集边界上任意一点一定存在支撑超平面。

参考:凸优化(四)


13. 凸函数

 


14、上境图


15、Jesen不等式

若f是凸函数:

 

16、保持函数凸性的算子

a. 凸函数的非负加权和

b. 凸函数与仿射函数的复合

c. 凸函数的逐点最大值、逐点上确界


17、共轭函数

原函数共轭函数定义:

定义式的右端是关于y的仿射函数,它们逐点求上确界,得到的函数f*(y)一定是凸函数。

 

18、Fenchel不等式

根据共轭函数定义有:


二. 凸优化

参考:https://www.cnblogs.com/ooon/p/5721119.html

优化问题的基本形式(所有的优化问题都可以化成这种形式)

    优化的目标函数:

    服从1

    服从2

如果凸函数仿射函数(线性函数)那么为凸优化问题。

    优化的变量为:x

    不等式约束:

    等式约束:

无约束优化:i, j

优化问题域:

可行解:

可行域:所有可行解的集合

拉格朗日函数

对于固定的x,拉格朗日函数为关于λv的仿射函数。

根据约束条件,其中λ≥0满足:

    

才有等号。原始问题为求x上的最小值,所以原问题可以描述为:

    

将原始问题转变一下,表示为:

    

那么,就是将原问题转换为对偶问题(最大最小转换为最小最大)。凸优化最为核心的解决方法。为什么要这么做?在x不定的情况下,求两个变量(λv)的最大值不容易做。

    

对于λ1而言,

其中,α剩余项,那么α表示λ1的常数,那么就是关于λ1的仿射函数。所以可以得到关于λi都是仿射的。同理关于vj也是仿射的。由于仿射变换是线性的,可以表示为空间中的好多条线。x的不同线也不同。对这若干条线逐点(下图中的黑点所示)求下界一定是一个凹函数。这个凹函数可以即为:

称为拉格朗日对偶函数。对该函数(凹函数)求最大值,即

    

求解过程:

,可以得到:,然后回代到,得到关于λ, v的函数求解最大值

关系?

    

那么可以认为是关于x的一个函数,即为:,所以有:

    

那么对取最小,即

    

为定值(常数),所以,那么,而是关于λ, v的函数,即为,所以有:

    

全部还原得到:

    

所以通过对偶问题求解的最小值有可能比原问题的最小值小,如果能满足f(x)是凸函数h(x)是仿射的,那么原问题与对偶问题相等

(意味着不要输在起跑线上)

KKT是必要条件:为了满足等号,即:

    

    

    

    有驻点。


 
拉格朗日何kkt参考:https://www.cnblogs.com/sddai/p/5728195.html

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值