最大熵理论推导

1,758次阅读
没有评论

最大熵理论推导

先给出一个例子抛出最大熵的问题。。

掷骰子,骰子总共有6个点数,现在你觉得每个点数掷到的概率多大? 你毫不犹豫的说1/6,此时你就使用了最大熵模型来解决这个问题,只是你自己不知道。 在没有任何约束的情况下,你认为等概率事件是最好的结果,如果现在继续告诉你1点和2点的概率占比1/2, 那么剩下的四个点数的总规律是1/2,此时你又要做均分了,你认为3点到6点掷到的概率是1/8,此处再次使用了最大熵 并且是在有约束的情况下给出答案。 实践经验和理论计算都告诉我们,在完全无约束状态下,均匀分布等价于熵最大(有约束的情况下,不一定是概率相等的均匀分布。 比如,给定均值和方差,熵最大的分布就变成了正态分布 )。 因此,也就引出了最大熵模型的本质,它要解决的问题就是已知X,计算Y的概率,且尽可能让Y的概率最大(实践中,掷骰子和拿到不同颜色的球),从而根据已有信息,尽可能最准确的推测未知信息,这就是最大熵模型所要解决的问题。 相当于已知X,计算Y的最大可能的概率,转换成公式,便是要最大化下述式子H(Y|X): \[ max H(Y|X) =\sum_{}p(x,y)*log\frac{1}{p(y|x)} \] 且满足以下4个约束条件: \[ \begin{align} p(1)+p(2) &=\frac{1}{2} \\ p(3)+p(4)+p(5)+p(6) &=\frac{1}{2} \end{align} \] 现在给出一个特征函数的概念,是反映输入与输出之间的一个事实,值只有0和1 继续拿上面的掷骰子来说明,现在你要是 (1)掷骰子是1点和2点我就给你一个红色的球 (2)掷骰子是3点和4点我就给你一个黄色的球 (3)掷骰子是5点和6点我就给你一个蓝色的球 Ok,那么的输入x就是骰子的点数1到6,y输出就是红黄蓝球 因此可以定义下面的公式 \[y = \begin{cases} 1,\quad if \quad x=1 \quad and \quad y=red ball \\ 0 ,\quad else \end{cases} \] 根据以上信息我们给出最大熵的定义 \[ max H(Y|X) =\sum_{}p(x,y)*log\frac{1}{p(y|x)} \] 特征函数在样本中的期望为 \[ \tilde{E}(f)=\sum_{x,y} \tilde{p}(x,y) f(x,y) \] 实际的 \[ \begin{align} E(f) &=\sum_{x,y} p(x,y) f(x,y) \\ &=\sum_{x,y} p(y|x)p(x)f(x,y) \\ &=\sum_{x,y} py|x)\tilde{p}(x) f(x,y) \end{align} \] 换言之,如果能够获取训练数据中的信息,那么上述这两个期望值相等,即: \[ E(f)=\tilde{E}(f) \] 所以最大熵的模型公式最终确定如下所示: \[ argmax H(Y|X) =\sum_{x,y}p(y|x)*\tilde{p}(x)*log\frac{1}{p(y|x)} \] 约束条件如下 \begin{align} E(f) &=\tilde{E}(f) \sum_{y}p(y|x)=1 \end{align} 求解上面模型的方法与svm类似,使用拉格朗日求解,获取对偶模型求解,下面给出手写推导公式过程,

使用latex编辑实在是公事太多了。。。。原谅我偷懒了

最大熵理论推导

admin
版权声明:本站原创文章,由admin2018-03-16发表,共计1354字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)