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