首页 > 其他分享 >最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼

时间:2023-05-31 12:32:13浏览次数:37  
标签:en 最大 均匀分布 模型 dans 问题 pendant 蛋疼

1.熵与最大熵原理

熵是随机变量不确定性的度量,不确定性越大,熵值就越大;若随机变量退化成定值,熵为0。均匀分布是“最不确定”的分布

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

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵模型

联合熵和条件熵

两个随机变量的X,Y的联合分布,可以形成联合熵,用H(X,Y)表示

条件熵H(X|Y) = H(X,Y) - H(Y)

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_02

 相对熵与互信息


 设p(x),q(x)是X中取值的两个概率分布,则p对q的相对熵是:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_03

两个随机变量X,Y的互信息,定义为X,Y的联合分布和独立分布乘积的相对熵。

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_04

最大熵原理是统计学的一般原理,也是概率模型学习的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。

2.最大熵模型

2.1最大熵模型的实例(参考[1])

 

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵模型_05

在英汉翻译中,take有多种解释例如上文中存在7中,在没有任何限制的条件下,最大熵原理认为翻译成任何一种解释都是等概率的。

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵模型_06

实际中总有或多的限制条件,例如t1,t2比较常见,假设满足

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_07

同样根据最大熵原理,可以得出:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_08

实际的统计模型中,还需要引入特征提高准确率。例如take翻译为乘坐的概率小,但是当后面跟着交通工具的名词“bus",概率就变得非常大。

特征函数f(x,y)描述输入x,输出y之间的某一个事实,只有0和1两种值,称为二值函数。例如:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵模型_09

最大熵模型根据最大熵原理在类似上面的特征限制下选择最优的概率分布。

 

 再一个例子

我们通过一个简单的例子来了解最大熵的概念。假设现在需要做一个自动将英语到法语的翻译模型,为了方便说明,我们将这个问题简化为将英文句子中的单词{in}翻译成法语词汇。那么翻译模型p就是对于给定包含单词”in”的英文句子,需要给出选择某个法语单词f做为”in”的翻译结果的概率p(f)。为了帮助开发这个模型,需要收集大量已经翻译好的样本数据。收集好样本之后,接下来需要做两件事情:一是从样本中抽取规则(特征),二是基于这些规则建立模型。
从样本中我们能得到的第一个规则就是in可能被翻译成的法语词汇有:

{dans, en, à, aucours de, pendant}。

也就是说,我们可以给模型p施加第一个约束条件:

p(dans)+p(en)+ p(à)+p(aucours de)+p(pendant)= 1。

这个等式是翻译模型可以用到的第一个对样本的统计信息。显然,有无数可以满足上面约束的模型p可供选择,例如:

p(dans)=1,即这个模型总是预测dans

或者

p(pendant)=1/2and p(à)=1/2,即模型要么选择预测pendant,要么预测à。

这两个模型都只是在没有足够经验数据的情况下,做的大胆假设。事实上我们只知道当前可能的选项是5个法语词汇,没法确定究竟哪个概率分布式正确。那么,一个更合理的模型假设可能是:

p(dans)= 1/5

p(en)= 1/5

p(à)= 1/5

p(aucours de) = 1/5

p(pendant)= 1/5

即该模型将概率均等地分给5个词汇。但现实情况下,肯定不会这么简单,所以我们尝试收集更多的经验知识。假设我们从语料中发现有30%的情况下,in会被翻译成dans 或者en,那么运用这个知识来更新我们的模型,得到2模型约束:

p(dans)+ p(en)= 3/10

p(dans)+p(en)+ p(à)+p(aucours de)+p(pendant)= 1

同样,还是有很多概率分布满足这两个约束。在没有其他知识的情况下,最直观的模型p应该是最均匀的模型(例如,我拿出一个色子问你丢出5的概率是多少,你肯定会回答1/6),也就是在满足约束条件的情况下,将概率均等分配:

p(dans)= 3/20

p(en)= 3/20

p(à)= 7/30

p(aucours de) = 7/30

p(pendant)= 7/30

假设我们再一次观察样本数据,发现:有一半的情况,in被翻译成了dans 或 à。这样,我们有就了3个模型约束:

p(dans)+ p(en)= 3/10

p(dans)+p(en)+ p(à)+p(aucours de)+p(pendant)= 1

p(dans)+ p(à)=1/2

我们可以再一次选择满足3个约束的最均匀的模型p,但这一次结果没有那么明显。由于经验知识的增加,问题的复杂度也增加了,归结起来,我们要解决两组问题:第一,均匀(uniform)究竟是什么意思?我们怎样度量一个模型的均匀度(uniformity)?第二,有了上述两个问题的答案,我们如何找到满足所有约束并且均匀的模型?

最大熵算法可以回答上面的2组问题。直观上来将,很简单,即:对已知的知识建模,对未知的知识不做任何假设。换句话说,在给定一组事实(features+output)的情况下,选择符合所有事实,且在其他方面尽可能均匀的模型。这也是我们在上面的例子中,每次选择最恰当的模型用到的原理。俗话说,不把鸡蛋放在一个篮子里,正是运用的这个原理来规避风险。

 2.2 最大熵模型的数学推导(参考[2])

对于给定的训练数据集T={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)}以及特征函数fi(x,y),i=1,2,3...n,最大熵模型的学习等价于约束的最优化问题:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_10

 引入朗格朗日算子W,定义拉格朗日函数L(P,w)

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_11

最优化的原始问题:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_12

对偶问题是:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_13

由于L(P,W)是P的凸函数,原始问题的解与对偶问题的解是等价的。这里通过求对偶问题的解来求原始问题的解。

第一步求解内部极小化问题,记为:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_14

通过微分求导,得出P的解是:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_15

第二步求外部的极大化问题:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_16

最后的解记为:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_17

第三步可以证明对偶函数的极大化等价于第一步求解出的P的极大似然估计,所以将最大熵模型写成更一般的形式.

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_18

 

案例:

已知有A,B,C,D,E五种可能出现的情况,已知A,B出现的概率之和是3/10,所有五个出现概率之和为1,使用最大熵模型进行优化获得这五种情况的概率分布。==》最后答案是P(A)=P(B)=3/20,P(C)=P(D)=P(E)=7/30,使用了复杂的最大熵推导,最后确得出了简单清晰的结论。

该问题主要通过使用拉格朗日的对偶性,然后通过求解对偶最优化问题得到解。

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_19

所以我们有:

第一步,求解原始问题:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_20

第二步,利用拉格朗日乘子法:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_21

第三步:对偶问题求解:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_22

最终结果为:
这里我们先固定w0和w1,然后对L(P,w)求偏导数,可以带入得到

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_23

后我们可以通过另这些偏导为0,解得:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_算法_24

然后将P(y1)-- P(y5)全部代入L(P,w),然后可以获得最小值,再去求解极大化问题:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_25

再去对这个函数进行对w0、w1的求偏导并=0,可以得到

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_最大熵_26

所以得到:

最大熵模型原理——选择符合所有事实,在其他方面尽可能均匀分布(熵最大)的模型,其实思想很简单,只是数学推导蛋疼_概率分布_27

就得到最后的结果了。

 

标签:en,最大,均匀分布,模型,dans,问题,pendant,蛋疼
From: https://blog.51cto.com/u_11908275/6386048

相关文章

  • 聚类算法:ISODATA算法 ——kmeans算法升级版,不知道k也可以,但是需要你自己指定其他参数
    当K值的大小不确定时,可以使用ISODATA算法。ISODATA的全称是迭代自组织数据分析法。在K均值算法中,聚类个数K的值需要预先人为地确定,并且在整个算法过程中无法更改。而当遇到高维度、海量的数据集时,人们往往很难准确地估计出K的大小。ISODATA算法就是针对这个问题进行了改进,它的思想......
  • 原来ROC曲线更加健壮地反映模型的效果,看来还是比较关键的(就像逻辑回归,你总是希望模型
    《白面机器学习》 ......
  • R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模
    原文链接:http://tecdat.cn/?p=26271最近我们被客户要求撰写关于GARCH的研究报告,包括一些图形和统计输出。Box等人的开创性工作(1994)在自回归移动平均模型领域的相关工作为波动率建模领域的相关工作铺平了道路,分别由Engle(1982)和Bollerslev(1986)引入了ARCH和GARCH......
  • Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
    全文下载:http://tecdat.cn/?p=22319最近我们被客户要求撰写关于偏最小二乘法(PLS)回归的研究报告,包括一些图形和统计输出。本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方法,可以去除潜在的离群点和只......
  • Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|附代码
    全文链接:http://tecdat.cn/?p=26184最近我们被客户要求撰写关于信贷风控模型的研究报告,包括一些图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?有25个变量:ID: 每个客户......
  • 机器学习模型的生命周期
    动动发财的小手,点个赞吧!您的模型如何变化?Source诞生当我们构建、训练、拟合或估计我们的模型时,这些数字工具就诞生了。这个阶段几乎从拥有分析目标、数据、计算机、算法以及数据科学家现在已经非常了解的其他一切开始。无论您收集什么其他工具,永远不要忘记分析或科学目标,以便......
  • 比Transformer快4成!Meta发布全新Megabyte模型,解决算力损耗硬伤
    前言 本文介绍了vanillaKD方法,它在ImageNet数据集上刷新了多个模型的精度记录。本文转载自新智元作者|Joey欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全......
  • SpecInfer:小模型撬动大模型高效推理
    近日,来自卡耐基梅隆大学(CMU)的CatalystGroup团队发布了一款「投机式推理」引擎SpecInfer,可以借助轻量化的小模型来帮助大模型,在完全不影响生成内容准确度的情况下,实现两到三倍的推理加速。随着ChatGPT的出现,大规模语言模型(LLM)研究及其应用得到学术界和工业界的广泛关注......
  • 随机森林模型 的数学原理
    随机森林是一种基于决策树的集成学习方法,其基本思想是通过构建多个决策树来进行分类和回归。随机森林中的每一棵决策树都是在随机样本和随机特征的条件下构建出来的,整个建模过程相当于将多个弱分类器组合成一个强分类器。其主要数学原理如下:1.决策树:随机森林是由多个决策树构成......
  • 在树莓派上实现numpy的conv2d卷积神经网络做图像分类,加载pytorch的模型参数,推理mnist
    这几天又在玩树莓派,先是搞了个物联网,又在尝试在树莓派上搞一些简单的神经网络,这次搞得是卷积识别mnist手写数字识别训练代码在电脑上,cpu就能训练,很快的:importtorchimporttorch.nnasnnimporttorch.optimasoptimfromtorchvisionimportdatasets,transformsimportn......