一、概念

信息熵:熵这个概念是香农从热力学中引进的,热力学中的熵是代表分子状态混乱程度,在信息论中熵又称为自信息,可以视为描述一个随机变量的不确定性的数量。它表示信源X每发一个符号(不论发什么符号)所提供的平均信息量。一个随机变量的熵越大,它的不确定性越大,那么,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。

这是宗成庆老师的书《统计自然语言处理》里面的解释,光看这些高深莫测的话,我反正是一知半解,举一个例子来解释一下

明天的太阳仍然升起,这个事件发生的概率极其大,因此这件事的不确定性就很小,所以这件事所对应的熵很小,这件事的判断根本不需要其他信息,我们不需要看SCI论文,不需要查阅太阳的资料。所以熵越小,不确定性越小,我们所需要的信息就少。再比如明天下雨这个事件,这个的不确定性就比较大,气象站就需要通过观测云量,温度等信息来确定这个事件发生的概率。显而易见,这个事件的熵就会变大。以上就是关于熵的阐述,那么熵的大小到底怎么计算,自然也有公式:

H(x) =—() 。以下的例子是宗成庆老师书上的例子,也比较容易看懂,这里就不再细细道来。只是最后的编码,原则就是出现概率大的可以少用几位数,出现概率小的,多用几位数,这样就可以保证最终用的编码长度最短。

联合熵和条件熵:同熵类似,联合熵的计算方法和熵的计算方法思想相同,不同的知识联合熵多了一个随机变量。公式如下:

X,Y是两个离散型随机变量X,Y~P(x)。那么X,Y的联合熵H(X,Y) = 

条件熵H(Y | X) = 

最后,联合熵可以通过条件熵推导出,具体过程就不细细道来,直接上公式,联合熵的计算第二个公式:
H(X,Y) = H(X) + H(Y | X)

将上述公式推广到一般情况如下图:

相对熵:这个概念是用来衡量两个概率分布之间的差异。p(x)是理想的模型,q(x)是用来逼近的,相对熵越接近0越好。计算如下:

设 p(x)、q(x) 是 离散随机变量 X中取值的两个概率分布,则 p 和 q 的相对熵是:

交叉熵:交叉熵越小,语言模型越好。首先,交叉熵的理想计算公式为

H(X,q) = 

近似逼近后:

困惑度:困惑度这个指标顾名思义,困惑度越小,说明这个语言模型越好,计算方法是:

最后,本片文章并没有举出具体的概率分布来求各个指标,只是罗列总结一下各指标的计算方法和所代表的意义。具体例子下一篇再进行计算。

参考的书目:《统计自然语言处理》宗成庆

自然语言处理(八)——语言模型性能评价相关推荐

  1. 自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)

    分类目录:<自然语言处理从入门到应用>总目录 语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务.利用语 ...

  2. 自然语言处理之语言模型与词向量

    自然语言处理之语言模型与词向量原理 语言模型 基于语法的语言模型   在研究机器如何"理解"自然语言之前,不妨先看看人们是怎么理解自己的语言的.根据语言学(Linguistics) ...

  3. 【LM】(八)语言模型评价指标——困惑度Perplexity原理及代码

    0.语言模型 语言模型(Language Model,LM),基于统计的语言模型,给出一句话的前k个词,预测第k+1个词,即求第k+1个词出现的概率p(xk+1|x1,x2,...,xk).在深度网络 ...

  4. 自然语言处理(NLP)-语言模型【用来判断一句话语法上是否通顺】:N-gram语言模型(基于语料库的统计结果)--> N-gram神经网络语言模型 【语言模型的评估(①:PPL困惑度;②:BPC)】

    统计语言模型实际上是一个概率模型,所以常见的概率模型都可以用于求解这些参数 常见的概率模型有:N-gram 模型.决策树.最大熵模型.隐马尔可夫模型.条件随机场.神经网络等 目前常用于语言模型的是 N ...

  5. 【自然语言处理】自然语言处理(NLP)知识结构总结

    感谢原创博主,转自:https://blog.csdn.net/meihao5/article/details/79592667 自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些 ...

  6. 如何学习自然语言处理:一本书和一门课

    关于"如何学习自然语言处理",有很多同学通过不同的途径留过言,这方面虽然很早之前写过几篇小文章:<如何学习自然语言处理>和<几本自然语言处理入门书>,但是更 ...

  7. 自然语言处理基本问题

    自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是我自己总结了一份知识体系结构,不足之处,欢迎指正.内容来源主要参考黄志洪老师的自然语言 ...

  8. python自然语言处理路线图_python自然语言处理(一)

    自言语言处理基础知识 参考:https://blog.csdn.net/meihao5/article/details/79592667 英文资料: http://github.com/lovesof ...

  9. 《统计自然语言处理》知识结构总结

    一.自然语言处理概述 1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容. 2) ...

  10. 自然语言处理训练营NLP--笔记

    一.分词 1.1 规则分词 目的:按照最大匹配法(最长字数)分词 参考网址:https://blog.csdn.net/weixin_44735126/article/details/10094182 ...

最新文章

  1. 解决“安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法
  2. Mybatis 使用的 9 种设计模式,真是太有用了~
  3. 追加内容到文件末尾的几种常用方法
  4. 玩转python(2)多线程的历史2
  5. 【LeetCode】【HOT】31. 下一个排列
  6. 微软发布 PowerToys 0.12.0,带来批量处理工具和暗黑模式
  7. python 计算机程序设计-计算机程序设计(Python)
  8. centos7 禁止ip访问_centos7下使用iptables屏蔽所有中国IP
  9. 海量数据处理 算法总结
  10. 软件工程——数据字典
  11. 计算机用户里的AppData,AppData是什么意思,Appdata文件夹可以删除吗?
  12. Mac outlook设置自动回复
  13. 微型计算机能直接识别并执行的语言,微处理器能直接识别并执行的命令语言称为...
  14. wordpress插件_您应该知道的2018年10个高级WordPress插件
  15. macbook卡在进度条开不了机_苹果电脑开机一直停留在加载进度条当中是怎么回事...
  16. 常用MIME类型(Mp4的mime类型设置)
  17. 如何把产品打造成有生命的品牌
  18. MTK平台开机初始化时 camera驱动流程|MTK camera调试常见几十种问题处理方法
  19. Localizing oscillatory sources using beamformer techniques:part 1
  20. 13/6/21 Hella Intern Interview

热门文章

  1. 提供SCDN基础版本售卖
  2. Acronis Disk Director 11 Home下载,分区之王
  3. 使用apache.commons.fileupload 进行文件上传
  4. 网页切图的CSS和布局经验与要点
  5. 汽车传感器:车载雷达与摄像头
  6. Java菜鸟教程 for循环和while循环
  7. CentOS 6虚拟机Hadoop安装教程
  8. Java关键字与保留字
  9. 设计模式之模板方法模式
  10. QCA9531方案双通道嵌入式无线AP模块应用选型参考