最大熵模型

  以前看最大熵模型感觉是懵懵懂懂,最近看完条件随机场(CRF)之后,再来看最大熵模型,发现两者关联很大,再结合逻辑斯蒂回归,理解起来就比较容易,这里是整理笔记。

  最大熵模型由最大熵原理推导实现

1.最大熵原理

  最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,所以,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型。

  假设离散随机变量X的概率分布式P(X),则其熵是:

  熵满足下列不等式:
 

  式中,|X|是X的取值个数,当且仅当X的分布是均匀分布时右边的等号成立。这就是说,当X服从均匀分布时,熵最大。

  下面通过一个例子来介绍一下最大熵原理:

  问题:假设随机变量X有5个取值{A,B,C,D,E},要估计取各个值的概率P(A),P(B),P(C),P(D),P(E)。
  解:这些概率值满足以下约束条件:

P(A)+P(B)+P(C)+P(D)+P(E) = 1

  满足这个约束条件的概率分布有无穷多个。如果没有任务其他信息,仍要对概率分布进行估计,一个办法就是认为这个分布中各个值是相等的:

P(A) = P(B) = P(C) = P(D) = P(E) = 1/5

  有时,能从一些先验知识中得到一些对概率值的约束条件,例如

P(A) + P(B) = 3/10

  满足上面两个约束条件的概率分布仍然有无穷多个。在缺少其他信息的情况下,可认为A和B是等概率的,C,D与E是等概率的,于是

P(A) = P(B) = 3/20
P(C) = P(D) = P(E) = 7/30

2.最大熵模型的定义

  最大熵原理是统计学习的一般原理,将它应用到分类得到最大熵模型。

  (1)给定一个训练数据集

  学习的目标是用最大熵原理选择最好的分类模型

  (2)给定训练数据集,可以确定联合分布P(X,Y)的经验分布边缘分布P(X)的经验分布

  其中,v(X=x,Y=y)表示训练数据中样本(x,y)出现的频次,v(X=x)表示训练数据中输入x出现的频数,N表示训练样本容量。
  
  (3)用特征函数f(x,y)描述输入x和输出y之间的某一个事实。其定义是

  特征函数f(x,y)关于经验分布的期望值:

  特征函数f(x,y)关于模型P(Y|X)与经验分布的期望值:

  如果有n个特征函数,那么就有n个约束条件。

  定义:最大熵模型

  假设满足所有约束条件的模型集合为:

  定义在条件概率分布P(Y|X)上的条件熵为:

  则模型集合C中条件熵H(P)最大的模型称为最大熵模型。式中的对数为自然对数。

3.最大熵模型的学习

  最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。

  对于给定的训练数据集以及特征函数,最大熵模型的学习等价于约束最优化问题:

  按照最优化问题的习惯,将求最大值问题改写成等价的求最小值问题:

  将约束最优化的原始问题转换为无约束最优化的对偶问题,通过求解对偶问题求解原始问题

  (1)首先,引进拉格朗日乘子,定义拉格朗日函数L(P,w):

  最优化的原始问题是:

  对偶问题是:

  由于拉格朗日函数L(P,w)是P的凸函数,原始问题的解与对偶问题的解释等价的。

  (2)然后求解对偶问题内部的极小化问题L(P,w)。L(P,w)是w的函数,将其记作

  同时,将其解记作:

  求偏导数:

  偏导数等于0,在>0的情况下,解得:

  由于,得

  其中,

  (3)之后,求解对偶问题外部的极大化问题

  得到其解

  此时,就可以利用梯度下降、拟牛顿等最优化方法进行学习了,类似于逻辑斯蒂回归求解参数w。

4.极大似然估计

  证明对偶函数的极大化等价于最大熵模型的极大似然估计

  (1)已知训练数据的经验概率分布,条件概率分布P(Y|X)的对数似然函数表示为:

  当条件概率分布P(y|x)是最大熵模型时,对数似然函数为

  (2)对偶函数

  最后一步用到

  (3)最终可得

5.模型学习的最优化算法

  最大熵模型学习归结为以似然函数为目标函数的最优化问题,通常通过迭代算法求解。从最优化的观点看,这时的目标函数具有很好的性质。它是光滑的凸函数,因此多种优化方法都适用,保证能找到全局最优解。

  下面以拟牛顿法为例

  对于最大熵模型而言,

  目标函数:

  梯度:

  其中

  相应的拟牛顿法BFGS算法如下


参考文献
(1)《统计学习方法》

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
最大熵模型(MaxEnt,Maximum Entropy Model)是一种用于分类和回归的统计模型。它的核心思想是,在给定一些已知约束条件下,选择一种概率分布,使得该分布在未知的部分尽可能的均匀。最大熵模型的名称来源于信息论中的熵的概念。 最大熵模型可以应用于多种领域,比如自然语言处理、文本分类、图像识别等。在自然语言处理中,最大熵模型可用于解决词性标注、命名实体识别和情感分析等问题。 最大熵模型主要有以下特点: 1. 非参数化模型:最大熵模型不对概率分布做出过多的假设,可以在给定约束条件下找到唯一的概率分布。 2. 最大化熵:在给定约束条件下,选择具备最大熵概率分布。这是因为最大熵的分布是最均匀的,对未知的部分缺乏偏见。 3. 使用拉格朗日乘子法:通过引入拉格朗日乘子,将约束条件转化为优化问题,求解最大熵模型的参数。 根据最大熵原理,最大熵模型可以用来进行分类和回归任务。通过对已知数据进行特征提取和约束条件的定义,可以得到最大熵模型的参数。在预测阶段,根据数据的特征,计算出类别的概率,并选择概率最大的类别作为预测结果。 最大熵模型相对于其他分类模型,具备更好的泛化能力和适应能力。它可以灵活地兼容多种特征和约束条件,适用于不同的问题和数据。然而,最大熵模型的训练过程相对较复杂,需要根据具体问题选择合适的特征和约束条件,并进行参数优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值