在Gan生成对抗神经网络中会用到Jensen不等式,因此做下记录。
Jensen不等式告诉我们:如果fff是在区间[a,b][a,b][a,b]上的凸函数(就是导数一直增长的函数,或者说是导数的导数大于0的函数),xxx是随机变量,那么有:
E(f(x))≥f(E(x))
E(f(x))≥f(E(x))
E(f(x))≥f(E(x))
也就是说函数fff的期望大于等于期望的函数。
下面来看看怎么证明,我们假设x1,x2,......xnx _ { 1 } , x _ { 2 },......x _ { n }x1,x2,......xn都是区间[a,b][a,b][a,b]内的数,且x1≤x2≤,......≤xnx _ { 1 } \leq x _ { 2 }\leq,......\leq x _ { n }x1≤x2≤,......≤xn,则上式可以写成下面这个形式:
a1f(x1)+a2f(x2)+……+anf(xn)≥f(a1x1+a2x2+……+anxn)
a _ { 1 } f \left( x _ { 1 } \right) + a _ { 2 } f \left( x _ { 2 } \right) + \ldots \ldots + a _ { n } f \left( x _ { n } \right)\geq f \left( a _ { 1 } x _ { 1 } + a _ { 2 } x _ { 2 } + \ldots \ldots + a _ { n } x _ { n } \right)
a1f(x1)+a2f(x2)+……+anf(xn)≥f(a1x1+a2x2+……+anxn)
其中
∑i=1nai=1 且 ai>0
\sum _ { i = 1 } ^ { n } a _ { i } = 1\ 且\ a _ { i }\gt0
i=1∑nai=1 且 ai>0
当n=1n=1n=1时,式子显然成立。
当n=2n=2n=2时,可以构造一个式子如下:
F(x)=a1f(x1)+(1−a1)f(x)−f(a1x1+(1−a1)x)
F(x)=a_{1}f(x_{1})+(1-a_{1})f(x)-f(a_{1}x_{1}+(1-a_{1})x)
F(x)=a1f(x1)+(1−a1)f(x)−f(a1x1+(1−a1)x)
显然
F(x1)=a1f(x1)+(1−a1)f(x1)−f(a1x1+(1−a1)x1)=0
F(x_{1})=a_{1}f(x_{1})+(1-a_{1})f(x_{1})-f(a_{1}x_{1}+(1-a_{1})x_{1})=0
F(x1)=a1f(x1)+(1−a1)f(x1)−f(a1x1+(1−a1)x1)=0
F′(x)=(1−a1)f′(x)−f′[a1x1+(1−a1)x](1−a1) F^{'}(x)=(1-a_{1})f^{'}(x)-f^{'}[a_{1}x_{1}+(1-a_{1})x](1-a_{1}) F′(x)=(1−a1)f′(x)−f′[a1x1+(1−a1)x](1−a1)
=(1−a1)(f′(x)−f′(a1(x1−x)+x) =(1-a_{1})(f^{'}(x)-f^{'}(a_{1}(x_{1}-x)+x) =(1−a1)(f′(x)−f′(a1(x1−x)+x)
由于是凸函数,当x>x1x>x_{1}x>x1的时候,a1(x1−x)+x<xa_{1}(x_{1}-x)+x<xa1(x1−x)+x<x, 故F′(x)>0F^{'}(x)>0F′(x)>0
等式成立。
假设n=kn=kn=k的时候等式成立,即
a1f(x1)+a2f(x2)+……+akf(xk)≥f(a1x1+a2x2+……+akxk) ∑i=1nai=1 且 ai>0
a _ { 1 } f \left( x _ { 1 } \right) + a _ { 2 } f \left( x _ { 2 } \right) + \ldots \ldots + a _ { k } f \left( x _ { k } \right)\geq f \left( a _ { 1 } x _ { 1 } + a _ { 2 } x _ { 2 } + \ldots \ldots + a _ { k } x _ { k } \right)\ \sum _ { i = 1 } ^ { n } a _ { i } = 1\ 且\ \ a _ { i }\gt0
a1f(x1)+a2f(x2)+……+akf(xk)≥f(a1x1+a2x2+……+akxk) i=1∑nai=1 且 ai>0
那么当n=k+1n=k+1n=k+1时,有
a1f(x1)+a2f(x2)+……+akf(xk)+ak+1f(xk+1)
a _ { 1 } f \left( x _ { 1 } \right) + a _ { 2 } f \left( x _ { 2 } \right) + \ldots \ldots + a _ { k } f \left( x _ { k } \right)+a _ { k+1 } f \left( x _ { k+1 } \right)
a1f(x1)+a2f(x2)+……+akf(xk)+ak+1f(xk+1)
=(1−ak+1)1(1−ak+1)[a1f(x1)+a2f(x2)+……+akf(xk)]+ak+1f(xk+1) =\left( 1 - a _ { k + 1 } \right) \frac { 1 } { \left( 1 - a _ { k + 1 } \right) } \left[ a _ { 1 } f \left( x _ { 1 } \right) + a _ { 2 } f \left( x _ { 2 } \right) + \ldots \ldots + a _ { k } f \left( x _ { k } \right) \right] + a _ { k + 1 } f \left( x _ { k + 1 } \right) =(1−ak+1)(1−ak+1)1[a1f(x1)+a2f(x2)+……+akf(xk)]+ak+1f(xk+1)
这里有
1(1−ak+1)∑i=1nai=1
\frac { 1 } { \left( 1 - a _ { k + 1 } \right) }\sum _ { i = 1 } ^ { n } a _ { i } = 1
(1−ak+1)1i=1∑nai=1
故上式
≥(1−ak+1)f(a1x1+…akxk1−ak+1)+ak+1f(xk+1)
\geq\left( 1 - a _ { k + 1 } \right) f \left( \frac { a _ { 1 } x _ { 1 } + \ldots a _ { k } x _ { k } } { 1 - a _ { k + 1 } } \right) + a _ { k + 1 } f \left( x _ { k + 1 } \right)
≥(1−ak+1)f(1−ak+1a1x1+…akxk)+ak+1f(xk+1)
刚刚好满足n=2n=2n=2时的情况,有
≥f(a1x1+a2x2+……+akxk+ak+1xk+1)
\geq f \left( a _ { 1 } x _ { 1 } + a _ { 2 } x _ { 2 } + \ldots \ldots + a _ { k } x _ { k }+ a _ { k+1 } x _ { k+1 } \right)
≥f(a1x1+a2x2+……+akxk+ak+1xk+1)
等式成立!而且从证明的过程我们也可以看出,等于号只有在x1,x2,......xnx _ { 1 } , x _ { 2 },......x _ { n }x1,x2,......xn都相等的情况下才能取得。