jensen不等式
本总结是是个人为防止遗忘而作,不得转载和商用。
前提说明:为了方便查阅,我将整个凸优化的内容分成了很多部分,因为后面的部分用到了前面的知识,所以,如果你的目的是查看后面的内容但对前面的某个知识点不甚了解的话可以根据标题查看前面的部分。
jensen不等式
还记得凸函数的定义吗?
也就是这个公式:f(θx+ (1-θ)y) ≤θf(x) + (1-θ)f(y)
用大白话说的话就是:函数图像在线段的下方。
其实这个就是Jensen不等式的基本形式,是不是好简单!不过这个只是2个元素x和y,太简单了,所以需要将其维度升上去,即:
θ1,…, θk ≥ 0,θ1 + … + θk = 1 时
f(θ1x1+ … + θkxk) ≤θ1f(x1)+ … + θkf(xk) 式3
现在注意!我要做一个思维扩展!
对于θ1,…, θk ≥ 0,θ1 + … + θk = 1,如果把θk看成xk的概率的话,那它是不是和分布律的性质一模一样!而上面的式子仅仅说是函数f,它又没说这个函数是给谁服务的,既然这个θk完全满足分布律的要求,那我就可以将xk看成一个个事件,θk就是xk发生的概率!
既然如此,θ1x1+ … + θkxk是什么?如果你高数底子扎实的话会一眼看出:这是x的期望!于是式3的左边就是一个“参数是期望的函数”,即:f(E(x))!
同理,式3的右边是f(x)的期望,即:E(f(x)),于是式3就可以写成:
f(E(x)) ≤ E(f(x))
这是什么?
这就是我们随便找个Jensen不等式资料中给出的Jensen不等式!
不过,可千万别忘了满足上式的前提条件:函数f是凸函数。
共轭函数
这是这个意思:我们求yTx- f(x) 这个关于x和y函数在定义域内的上界,将这个上界形成的函数定义为共轭函数。
如果没概念的话就再看这个图
图1
图中对应那些直线如果是yTx- f(x) 的图像的话,那图中的上确界就是那些直线的共轭函数的图像。
其实也就是这样,不信你再看看共轭函数的定义式:先看左边,既然是f*(y),那这个函数就是关于y的函数,于是函数右边的yTx - f(x) 部分的x就是y的系数,f(x)就是一个常数,当x和y都是一维的时候这不就是直线的方程吗?对吧。
话说上面的解释虽然很直观,但我想下面的理解方法也需要给出。
如下图所示:
假设y=2时,yTx的图像是xy那条虚线,而定义式右边的部分是求x等于多少时yTx - f(x)的值最大,在上图中我们可以一眼看出,在“和xy平行且是f(x)切线的那个点”处两函数的差值最大,假设差值是10,于是我们就求出yTx - f(x)的共轭函数的一个点,即f*(2) = 10,就这样把y扩展到这个定义域范围内后就得到了整个共轭函数。
然后说几点:
1,定义式中的f(x)不一定是凸函数。
2,共轭函数一定是凸函数。(嗯?你问为啥?你再看看图1)
3,凸函数的共轭函数的共轭函数是其本身。
如何求共轭函数
上面只是为了直观的理解共轭函数,那如果求呢?看下面的例子:
假设有函数f(x) = xTQx/2,其中Q是可逆的对称阵,算它的共轭函数,根据定义就是求:g(x, y) = yTx - xTQx/2 的上确界。
于是将g(x, y)对x求偏导:
g’(x,y) = (yTx)’ - (xTQx/2)’
因为xTQx对x求偏导的结果是2Qx,所以上式继续推导为:
=y - Qx
另偏导等于0,得:
x= Q-1y
因为是求偏导,所以得到的是上确界,于是把上式代入g(x, y)后就得f(x)的共轭函数:
f*(y)= yTQ-1y
Fenchel不等式
还记得共轭函数的定义式吗?不记得的话往上翻翻~
总之,根据共轭函数的定义,f*(x)是对yTx- f(x)求上确界,于是一定有f*(x)≥yTx - f(x),把f(x)移到左边于是就有了下面的式子:
f(x) + f*(y)≥xTy
这,就是Fenchel不等式。
但这有什么用呢?
你看啊,从小学开始我们就在学习一些奇怪的不等式,如:
两个正数的算术平均数大于等于几何平均数,即:
这个还蛮好证明的:因为对于两个正数x、y有x2+y2≥2xy,这时令a=x2、b=y2,就得出了上面的公式,但下面这个不等式你知道怎么证明吗?
给定可逆对称阵Q,对于任意的向量x、y,有:
xTQx+ yTQ-1y ≥ 2xTy
不知道吧。
其实这个用Fenchel不等式就可以证明。
还记得共轭函数里已经求得的f(x)= xTQx/2时f(x)的共轭函数是f*(y) = yTQ-1y吗?将其代入到Fenchel不等式中就立马得到了xTQx+ yTQ-1y ≥ 2xTy。
PS:xTQx+ yTQ-1y ≥ 2xTy退化到一维就是ax2 + y2/a ≥ 2xy。
相关阅读
在Gan生成对抗神经网络中会用到Jensen不等式,因此做下记录。Jensen不等式告诉我们:如果fff是在区间[a,b][a,b][a,b]上的凸函数(就是