熵的定义
熵的范围
熵大于0很显然。下面证明后半部分
即
则
其中, KL(p|u) 是KL divergence,表示概率分布p和u之间的相似程度,也叫相对熵(relative entropy)。定义如下
这里的u定义为均匀分布,即 u(x)=1/|X| 。
以上证明过程来自MLAPP 第二章。
上述证明说明均匀分布的熵最大。
其实后半部分的证明可以直接用拉格朗日法,约束是概率之和为1,对拉格朗日函数求偏导,令偏导为0,得到每个概率的值。然后再求此时的熵就得到相应的最大值了。
最大熵原理认为在所有满足条件的模型中熵最大的模型是最优的。将最大熵原理应用到分类上就是最大熵模型了。
在分类时我们的求解目标是后验分布
P(y|x)
。
假设满足所有约束条件的模型集合为C,定义在条件概率分布p(y|x)上的条件熵为
最大熵模型就是集合C中条件熵 H(P) 最大的模型。
那么最大熵模型都有哪些约束条件呢
首先定义特征函数f(x,y)
特征函数关于经验分布 P̂ (x,y) 的期望值 Ep̂ (f) 定义为
特征函数关于模型
p(y|x)
与经验分布
p̂ (x)
的期望
Ep(f)
定义为
最大熵模型的约束条件就是
这个约束条件的含义就是模型跟数据表达的信息是一致的。
最大熵模型的学习就是满足以上条件的约束最优化问题,定义如下:
将上述问题转化为等价的最小化问题:
这里将上述问题转化为无约束最优化的对偶问题,通过求解对偶问题求解原始问题。
原始问题为
对偶问题为
因为拉格朗日函数是P的凸函数,所以原始问题和对偶问题的解是等价的,这样可以通过求解对偶问题来求解原始问题。
下面求解对偶问题。
将对偶问题中内部的函数表示为
这个函数称为 对偶函数。将其解记为
下面对拉格朗日函数求关于 p(y|x) 的偏导。
令偏导为0,求得
然后再求对偶问题外面的最大化问题
其解记为 w∗ ,即
后面书上证明了对偶函数其实就是对数似然函数。所以对偶函数极大化等价于最大熵模型的极大似然估计。
最大熵模型的一般形式为:
其中,
从这里可以看出,最大熵模型跟逻辑回归模型形式很像,都是对数线性模型。