最大熵模型
2016-07-05 10:56
155 查看
信息熵介绍
例子:称硬币的问题,说有5个硬币,其中有一个是假的,这个假硬币的重量很轻,所以打算用一个天平称称,问需要最少称几次就能够保证把这个假硬币给找出来?假设x∈X={1,2,3,4,5}是那个假硬币的序号,y∈Y={1,2,3}是第i次称重时的结果。通过求解|X|=|Y|n中的n,可以获知需要n次才能找到假硬币。求解这个等式的过程如下:
n=log|X||Y|=log|X|log|Y|(1)
可以将(1)中的log|X|看成结果X的不确定程度,将log|Y|看成每一次称重结果Y的描述能力。
接下来,变形上述例子:已知第一个硬币是假硬币的概率是三分之一;第二个硬币是假硬币的概率也是三分之一,其他硬币是假硬币的概率都是九分之一,问需要最少称几次就能够保证把这个假硬币给找出来?
可想而知,
n′=∑i=04P(x=Xi)x=Xi时的不确定程度Y的描述能力(2)
在这里引入不确定性函数,根据香农的信息论,不确定函数需要满足以下两个条件:
不确定函数f是概率P的单调递减函数,即发生的概率越大,那么不确定性越小,反之,越大。
两个独立符号所产生的不确定性应等于各自不确定性之和,即f(P1,P2)=f(P1)+f(P2),这称为可加性。
同时满足这两个条件的函数为f(P)=log(1P)=−log(P)。
将不确定性函数代入(2),得到:
n′=∑i=04P(x=Xi)−log(P(x=Xi))log|Y|
=−∑4i=0P(x=Xi)log(P(x=Xi))log|Y|(3)
可以将(3)式中的分子看做整个问题的总不确定性,也就是信息熵。这样就可以理解信息熵为变量不确定性的期望。
假设离散随机变量X的概率分布式P(X),则其熵是H(P)
−H(P)=∑xP(x)logP(x)
熵满足下列不等式,
0≤−H(P)≤log|X|
式中,当X服从均匀分布时,右边的等号才成立,也就是说这时候熵最大。由此可以看出,在(1)式中用log|X|来描述均匀分布的X的不确定程度是有理可据的。
特征函数
用特征函数f(x,y)描述输入x和输出y之间的某一个事实。其定义是,
f(x,y)={1,x和y满足一定条件0,其他
我们可以将任何样本的统计表示成一个适当的二值指示函数的期望值,我们把这个函数叫做特征函数(feature function)或简称特征(feature)。假如有n个特征函数,那么就有n个约束条件。
条件熵
H(Y|X)=∑x∈χp(x)H(Y|X=x)=−∑x∈Xp(x)∑y∈Yp(y|x)logp(y|x)=−∑x∈X∑y∈Yp(x,y)log(p(y|x))=−∑x∈X y∈Yp(x,y)log(p(y|x))最大熵模型
假设满足所有约束条件的模型集合为C≡{P∈P|EP˘(fi)=EP(fi),i=1,2,⋯,n}
定义在条件概率分布上的P(Y|X)上的条件熵为
H(P)=−∑x,yP˘(x)P(y|x)logP(y|x)
则模型集合C中条件熵H(P)最大的模型成为最大熵模型。
参考文献
MaxEnt: 最大熵模型(Maximum Entropy Models)(一) http://www.zhizhihu.com/html/y2011/3489.html相关文章推荐
- Git服务器搭建
- Unity中读取安卓相册选择图片的方法
- windbg 常用命令详解
- Array.prototype.map()详解
- Xcode基本操作
- 一个小巧的C++Log输出到文件类
- Android - 常见的控件布局,左中右,左右等
- 值得订阅的Android 开发者博客
- Editing and Deleting Data
- 在WPF中动态加载XAML中的控件实例代码
- 如何成为一名数据科学家
- 不曾走过,怎会懂得
- Unity 中子弹弓箭射击脚本
- 关于${pageContext.request.contextPath }对于工程中的那个目录
- lua 随机数-转
- 技术成长四个阶段需要的架构知识
- nginx配置时的一些问题
- Delphi格式化输出函数(1): Format
- UICollectionView在Swift3.0中的用法
- ant用途及简单实现