共轭函数

共轭函数在最近火的不行的Gan生成对抗神经网络进阶版本的数学推理中有着神奇的作用,因此在这边记录下。

共轭函数的定义为:
f∗(t)=max⁡x∈dom⁡(f){xt−f(x)} f ^ { * } ( t ) = \max _ { x \in \operatorname { dom } ( f ) } \{ x t - f ( x ) \} f(t)=xdom(f)max{xtf(x)}
当然如果去百度它不是这么写的,但这么写和一般的写法等价。

这个公式的x∈dom⁡(f)x \in \operatorname { dom } ( f )xdom(f)表示xxx要在fff的定义域内取值,这个蛮好理解的,不在定义域内就算不了。

那它具体在干一件什么事情呢?

可以看到式子的自变量是ttt,而当ttt定住后,式子希望在定义域内找到一个xxx使得右边大括号内的式子取得最大值。

它的物理意义是什么呢?

可以看到当ttt定住的时候,式子其实变成了y=xt−f(x)y=xt-f(x)y=xtf(x),如果高兴也可以再把左右拆开,这样就会发现左边其实是以ttt为斜率的一根直线,而右边则是xxx的函数,那么maxmaxmax这货就是要找到原函数f(x)f(x)f(x)和以ttt为斜率的直线的最大距离点对应的x∗x ^ { * }x

说实在的,上面的解释我一看就懂,但完全不知所谓,心中十万只草泥马。最核心的问题在于,这个物理意义一点都不直观,而且这个公式怎么来的也不大清楚,感觉就是数学家随便写出来,然后脑袋一拍发现这东西有奇效!后面百度发现错怪了数学家,是物理学家搞出来的。。。我相信肯定有原因让他们把式子列成这样,但没查到,如果有知道的老哥请告诉我,万分感谢!

那么来看看它有什么性质好了。有两个比较重要的:

1.无论f(t)f ( t )f(t)是不是凸函数,f∗(t)f ^ { * } ( t )f(t)是凸函数。

2.凸函数的共轭函数的共轭函数是它自己。

第一点其实蛮不明显的,尤其是看着f∗(t)f ^ { * } ( t )f(t)的表达式一晚上我也没想到怎么证明,但看到百度百科直接写"很明显能看出它是凸函数”然后半句解释都没有,而有些博客文章直接把这句话就抄了。。。给跪了。

那为什么呢?
在这里插入图片描述
上面是李宏毅大神的视频给出的图,因为在式子中ttt是自变量,因此{xt−f(x)}\{ x t - f ( x ) \}{xtf(x)}其实是一堆的直线。而我们取定一个ttt要使得式子最大,其实就是做ttt轴的垂线,看看和垂线相交的最上面的点是哪个那就是最大值。
在这里插入图片描述

这样当我们跑完整个ttt之后,就可以得到f∗(t)f ^ { * } ( t )f(t)的表达式。

在这里插入图片描述
这个时候通过观察可以直接看出,f∗(t)f ^ { * } ( t )f(t)的斜率一定是不断增大的!那么它就是凸函数。当然从图上看可能会觉得虽然斜率是一直在增大,但在有些地方是不变的,这里无法直接从图上看出它是严格的凸函数,因此在这里存疑。但凸函数这点是一定的。

再来看第二点。假设现在ttt固定,而我们要求xt−f(x)x t - f ( x )xtf(x)的最大值其实就是要求式子对xxx求导后为0的位置。很容易可以算出最大值在f′(x)=tf ^{'}( x )=tf(x)=t时取得。而因为f(x)f( x )f(x)是凸函数,因此只有唯一的一个xxx使得f′(x)=tf ^{'}( x )=tf(x)=t,也就是说从原函数到其共轭函数xxxttt是一对一一对应关系。又从性质一我们知道反过来也是成立的。结合两个函数都是凸函数且变量互相一一对应,可以得出凸函数的共轭函数的共轭函数一定是它自己,如下图:
在这里插入图片描述
假设x?̸=x1x_?\not=x_1x?̸=x1则虚线部分将存在无映射的情况,与已知相背。当然这解释有点抽象,但实在是水平有限,不知道怎么从公式本身来证明这件事情。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值