最大熵理论推导

3,717次阅读
没有评论

共计 1354 个字符,预计需要花费 4 分钟才能阅读完成。

最大熵理论推导

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

掷骰子,骰子总共有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编辑实在是公事太多了。。。。原谅我偷懒了

最大熵理论推导

正文完
请博主喝杯咖啡吧!
post-qrcode
 
admin
版权声明:本站原创文章,由 admin 2018-03-16发表,共计1354字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码