本文主要是介绍信息论中的不等式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 凸函数定义
凸函数 f(x) 定义有两个方法:
1) f′′(x)≥0
2) λf(x1)+(1−λf(x2)≥f(λx1+(1−λ)xx)
用这两种定义来证明函数凸性各有利弊。
常用的凸函数有: −logx, xlogx, ex, 11+e−x
2. Jessen不等式
Ef(x)≥f(Ex)
其中 f(x) 为凸函数。
将其中期望值E函数改为更容易理解的形式为:
∑ipif(xi)≥f(∑ipixi)
其中 pi 为概率分布,即 ∑pi=1, pi≥0 。
如果 f(x)=logt ,则很容易推导KL散度或者互熵大于零。
如果 f(x)=tlogt ,则很容易推导对数和不等式。
进一步,只要 f(x) 是凸函数,可能有很多变种,譬如 f1(x)f2(x), f1(x)f2(x), f1(x)f2(x), ... 等复杂形式。
对于 ∑f≥f(∑) 类,或者积分类的不等式证明都可能通过构造方法应用Jessen不等式来证明。
3. 对数和不等式
ai>0, bi>0 `,则` ∑iailogaibi≥(∑iai)log∑iai∑ibi
用Jessen不等式来证明,关键在于构造 f(x) 和E中的 Qi ,左侧为 Ef(x) ,右侧为 f(Ex) ,所以构造的 f(x)=tlogt, ti=aibi ,于是要求 ∑iQiaibi=∑iai∑ibi ,因此, Qi=bi∑ibi ,最终展开如下:
∑ibi∑ibiaibilogaibi≥(∑ibi∑ibiaibi)log∑iai∑ibi
这篇关于信息论中的不等式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!