zoukankan      html  css  js  c++  java
  • 凸优化

    1. 概念

    1)凸优化:是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。

    2)两个不等式:

    两个正数的算数平均值大于几何平均值,即:

        

    给定可逆矩阵Q,对于任意的向量xy有:

        

    3)凸集:集合C中任意两个不同点的线段仍在集合C内,则称集合S为凸集。

        凸函数的上方区域一定是凸集ó一个函数上方是凸集,则该函数一定是凸函数。

    4)几何体的向量表达:

    超平面(hyperplane)

        

    还可以表达为:

        

    a是法向量。超平面n为空间中是n-1维,如2维空间中1维直线,3维空间中2维平面

    半平面

        

    半平面n为空间中是n维。

    几何体:

        

    超平面退化到二维就是直线,几何体退化到二维就是线段。

    5)仿射集(Affine Set):通过集合C中任意两个不同点的直线仍在集合C内,则称集合C为仿射集。如:直线、平面、超平面。数学表达:

        

    仿射集一定是凸集。

    仿射变换:非奇异的线性变换

    6)凸包:集合C上的凸组合形成的集合,叫做集合C的凸包。

    7)多面体:有限个半平面与超平面的交集,即

        

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

    多面体都是凸集

    8)性质

    如果两个集合是凸集,那么它们的交集也是凸集

    如果一个集合x是凸集,那么它的仿射变换也是凸的,即:f=Ax+bf是凸集。

    如果一个集合x是凸集,那么它的透视变换也是凸的。

    如果一个集合x是凸集,那么它的投射变换也是凸的。

    9)分割超平面

    CD不相交的凸集,那么一定存在一个超平面P,将CD分开。

    10)支撑(Support)超平面

    设集合Cx0为集合C边界上的点,若存在a对于任意C上的点满足axax0,那么称超平面

        

    为集合C的支撑超平面。支撑超平面就是集合C切平面x0为切点。

    如果一个集合在边界上任何一个点上都存在支撑超平面,那么一定为凸集。

    凸集的边界上任意一点都存在支撑超平面。

    11)凸函数:函数f的定义域C为凸集,且满足:

        

    为凸函数。

    f一阶可微,函数f为凸函数当且仅当f的定义域为凸集。

        

    切线方程,

    切线方程实际上可以理解为支撑超平面。

    若函数f二阶可微,函数f为凸函数当且仅当f的二阶导数

        

    若为一元函数则二阶导数大于等于0

    若为多元函数则Hessian矩阵为半正定。

    凸函数举例:、范数函数、最大值函数、指数线性函数

    12)上镜图(epigraph)

    函数f的图像可以定义为:

        

    C为定义域。上镜图可以定义为:

        

    函数为凸函数,则上镜图一定为凸集,反之,一个函数是凹函数,则其亚图(hypograph)是凸集。

    13)Jensen不等式

    f是凸函数

        

    推广到k

        

    如果将θ看作x的概率,那么不等式左侧括号内可以看作x的期望E(x),那么不等式左侧可以看作期望的函数,即f(E(x)),右侧可以看作函数的期望,即E (f (x)),那么

        

    期望的函数小于期望的函数。

    Jenson不等式几乎是所有不等式的基础。

    给定概率密度p(x)q(x),证明:

        

        

    其中-lnx为凸函数,所以可以用Jetson不等式。D(p||q)是概率密度,为EM算法的基础。

    14)保持函数凸性的算子(保凸运算)

    凸函数非负加权和也是凸函数,即

        

    凸函数与仿射函数的复合也是凸函数

        

    凸函数的逐点求最大值

        

    证明:

    逐点上确界,就是也是凸函数

        

    性质:直线是即凸且凹的,那么f(x)为直线方程式时,下式

        

    构成了凸函数,而

        

    就构成了凹函数。

    1. 凸优化

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

        优化的目标函数:

        服从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是必要条件:为了满足等号,即:

        

        

        

        有驻点。

  • 相关阅读:
    HDU 5213 分块 容斥
    HDU 2298 三分
    HDU 5144 三分
    HDU 5145 分块 莫队
    HDU 3938 并查集
    HDU 3926 并查集 图同构简单判断 STL
    POJ 2431 优先队列
    HDU 1811 拓扑排序 并查集
    HDU 2685 GCD推导
    HDU 4496 并查集 逆向思维
  • 原文地址:https://www.cnblogs.com/hgl0417/p/6670762.html
Copyright © 2011-2022 走看看