最大熵模型
熵的概念在统计学习与机器学习中真是很重要,熵的介绍在这里:信息熵 Information Theory 。今天的主题是最大熵模型(Maximum Entropy Model,以下简称MaxEnt),MaxEnt 是概率模型学习中一个准则,其思想为:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则最大熵原理就是在满足已知约束的条件集合中选择熵最大模型。最大熵原理指出,对一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。
直观理解 MaxEnt
在求解概率模型时,当没有任何约束条件则只需找到熵最大的模型,比如预测一个骰子的点数,每个面为 16, 是, 当模型有一些约束条件之后,首先要满足这些约束条件, 然后在满足约束的集合中寻找熵最大的模型,该模型对未知的情况不做任何假设,未知情况的分布是最均匀的。举例来说对于随机变量 𝑋 ,其可能的取值为 {𝐴,𝐵,𝐶} ,没有任何约束的情况下下,各个值等概率得到的 MaxEnt 模型为:
𝑃(𝐴)=𝑃(𝐵)=𝑃(𝐶)=13
当给定一个约束 𝑃(𝐴)=12 , 满足该约束条件下的 MaxEnt 模型是:
𝑃(𝐴)=12
𝑃(𝐵)=𝑃(𝐶)=14
如果用欧式空间中的 simplex 来表示随机变量 𝑋 的话,则 simplex 中三个顶点分别代表随机变量 𝑋 的三个取值 A, B, C , 这里定义 simplex 中任意一点 𝑝 到三条边的距离之和(恒等于三角形的高)为 1,点到其所对的边为该取值的概率,比如任给一点 𝑝 ,则𝑃(𝐴) 等于 𝑝 到 边 BC 的距离,如果给定如下概率:
𝑃(𝐴)=1,𝑃(𝐵)=𝑃(𝐶)=0
𝑃(𝐴)=𝑃(𝐵)=𝑃(𝐶)=13
分别用下图表示以上两种情况:
12明白了 simplex 的定义之后,将其与概率模型联系起来,在 simplex 中,不加任何约束,整个概率空间的取值可以是 simplex 中的任意一点,只需找到满足最大熵条件的的即可;当引入一个约束条件 𝐶1 后,如下图中 (b),模型被限制在 𝐶1 表示的直线上,则应在满足约束 𝐶1 的条件下来找到熵最大的模型;当继续引入条件 𝐶2 后,如图(c),模型被限制在一点上,即此时有唯一的解;当 𝐶1 与 𝐶2 不一致时,如图(d),此时模型无法满足约束,即无解。在 MaxEnt 模型中,由于约束从训练数据中取得,所以不会出现不一致。即不会出现(d) 的情况。1
接下来以统计建模的形式来描述 MaxEnt 模型,给定训练数据 {(𝑥𝑖,𝑦𝑖)}𝑁𝑖=1 ,现在要通过Maximum Entrop 来建立一个概率判别模型,该模型的任务是对于给定的 𝑋=𝑥 以条件概率分布 𝑃(𝑌|𝑋=𝑥) 预测 𝑌 的取值。根据训练语料能得出 (𝑋,𝑌) 的经验分布, 得出部分 (𝑋,𝑌) 的概率值,或某些概率需要满足的条件,即问题变成求部分信息下的最大熵或满足一定约束的最优解,约束条件是靠特征函数来引入的,首先先回忆一下函数期望的概念
对于随机变量 𝑋=𝑥𝑖,𝑖=1,2,…,则可以得到:
随机变量期望: 对于随机变量 𝑋 ,其数学期望的形式为 𝐸(𝑋)=∑𝑖𝑥𝑖𝑝𝑖
随机变量函数期望:若 𝑌=𝑓(𝑋) , 则关于 𝑋 的函数 𝑌 的期望: 𝐸(𝑌)=∑𝑖𝑓(𝑥𝑖)𝑝𝑖.
浙公网安备 33010602011771号