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

        

        

        

        有驻点。

  • 相关阅读:
    DFS(White-Gray-Black)
    Recursive Depth first search graph(adj matrix)
    TED_Topic1:Why we need to rethink capitalism
    Eng1—English daily notes
    R2—《R in Nutshell》 读书笔记(连载)
    R1(上)—R关联规则分析之Arules包详解
    R1(下)—数据挖掘—关联规则理论介绍与R实现
    R0—New packages for reading data into R — fast
    Tools0—Word2013发布博客到博客园的详细方法介绍
    day6 类
  • 原文地址:https://www.cnblogs.com/hgl0417/p/6670762.html
Copyright © 2011-2022 走看看