6.2 最大熵模型
2015-03-04 15:58
176 查看
6.2 Maximum Entropy Model
最大熵原理
学习的目的就是在可能的模型中选择最优模型。最大熵原理何许人也?它是概率模型的学习准则,就是选择一系列符合当下条件的概率模型的依据,这个准则就是熵最大的模型就是好模型。熵是信息大小的一个度量,MIT还有专门一门课信息与熵。离散随机变量XX的熵是H(P)=∑xP(x)logP(x)H(P)=\sum_x{P(x)\log P(x)}
当随机变量XX服从均匀分布 时,熵最大
上升到意识流,最大熵原理就是让我们首先尽可能利用已知的信息,对于未知的部分,就等可能对待
这里推荐一个TED视频如何不对世界感到无知,视频里告诉了我们面对未知的三条准则
最大熵模型定义
最大熵模型就是应用最大熵原理为模型选择准则的分类模型。其分类模型和logistic model一样,是条件概率P(Y/X)P(Y/X)。logistic model中的条件概率已经明确给出,而在最大熵模型中这个概率是由满足最大熵原理为条件求出,即选择最大化条件概率P(Y/X)P(Y/X)上的条件熵对应的条件概率:H(P)=−∑x,yP¯(x)P(y|x)logP(y|x)H(P)=-\sum_{x,y}{\bar P(x)P(y|x)\log P(y|x)}
其中P(X)P(X)是训练书籍中XX的经验分布
我们不仅希望条件概率的熵最大,我们还希望其满足一定的条件。
第一:条件概率自身的性质
∑yP(y|x)=1{\sum_yP(y|x)}=1
第二:模型能够获取训练数据中的信息,也就是求解出的模型要对训练集的效果尽可能的好
引入特征函数f(x,y)f(x,y)描述输入xx和输出yy之间的某一个事实,它是一个二值函数,当输入和输出满足某一事实时,值为1,否则值为0
特征函数关于训练集的期望值是
Ep¯(f)=∑x,yP¯(x,y)f(x,y)E_{\bar p}(f)=\sum_{x,y}\bar P(x,y)f(x,y)
其中P¯(x,y)\bar P(x,y)是训练数据集的联合概率分布
要学习的模型对此特征函数的期望值
Ep(f)=∑x,yP¯(x)P(y|x)f(x,y)E_{p}(f)=\sum_{x,y}\bar P(x)P(y|x)f(x,y)
我们希望训练数据集的这两个期望值相等
所以最大熵模型就是一个约束优化问题,条件概率为变量,目标函数是熵最大,满足以上两个条件
最大熵模型的学习
最大熵模型和logistic model
求解最大熵模型,我们可以得到有约束优化的对偶问题,条件概率的显示表达Pw(y|x)=1Zw(x)e∑ni=1wifi(x,y)P_w(y|x)=\frac1{Z_w(x)}e^{\sum_{i=1}^nw_if_i(x,y)}
其中Zw(x)Z_w(x)是归一化因子。该条件概率中也有参数ww,则求解最大熵模型就转为了参数估计问题。这个思想和logistic回归一样,两者不同的是条件概率的形式
相关文章推荐
- 转载 最大熵模型介绍及实现
- [ML] 逻辑斯谛回归与最大熵模型
- 最大熵模型
- 最大熵模型总结
- UVA - 1161 Objective: Berlin(最大流+时序模型)
- 最大熵模型
- 最大熵模型
- 最大熵模型python实现
- HDU 1505 City Game-dp-(最大子矩阵模型)
- 最大熵原理/最大熵原则/最大熵模型(the maximum entropy principle,MEP)
- 最大熵模型介绍及实现
- [ACM] hdu 1003 Max Sum(最大子段和模型)
- 最大熵模型The Maximum Entropy
- 最大熵模型
- python实现最大熵模型
- 最大熵模型通俗理解和例子
- 最大熵模型简介- 4000 -----写得很好,
- HDU 4307 Matrix 最小割模型求未知矩阵最大值
- 最大熵模型文献阅读指南
- 使用正向最大匹配算法实现中文分词简单模型-用trie树实现