热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

统计自然语言处理----数学基础(二)

前言在上一部分我们介绍了概率论的基础,本节我们介绍一些信息论里面需要了解的基本概念。信息论基础熵(entropy)香农(ClaudeElwoodShannon)于19

前言

  在上一部分我们介绍了概率论的基础,本节我们介绍一些信息论里面需要了解的基本概念。
  

信息论基础

熵(entropy)

  香农(Claude Elwood Shannon)于1940年获得麻省理工学院数学博士学位和电子工程硕士学位后,于1941年加入了贝尔实验室数学部,并在那里工作了15年。1948年6月和10月,由贝尔实验室出版的《贝尔系统技术》杂志连载了香农博士的文章《通讯的数学原理》,该文奠定了香农信息论的基础。熵是信息论中重要的基本概念。
  如果X 是一个离散型随机变量,其概率分布为:p(x) = P(X = x),。X 的熵H(X) 为:
  这里写图片描述
  其中,约定0log 0 = 0。H(X) 可以写为H(p)。通常熵的单位为二进制位(bits)。
  熵又称为自信息(self-information),表示信源X每发一个符号(不论发什么符号)所提供的平均信息量。熵也可以被视为描述一个随机变量的不确定性的数量。一个随机变量的熵越大,它的不确定性越大,那么,正确的估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。
这里写图片描述
这里写图片描述

说明:考虑了英文字母和空格实际出现的概率后,英文信源的平均不确定性,比把字母和空格看作等概率出现时英文信源的平均不确定性要小。

联合熵(joint entropy)

  如果X,Y是一对离散型随机变量X,Y~P(x,y),X,Y的联合熵H(X,Y)为:
  这里写图片描述
  联合熵实际上就是描述一对随机变量平均所需的信息量。

条件熵 (conditional entropy)

给定随机变量X的情况下,随机变量Y的条件熵定义为:
这里写图片描述
这里写图片描述

 互信息(matual information)

如果( X, Y ) ~ p(x, y),X, Y 之间的互信息I(X; Y) 为:I (X; Y) = H(X) –H( X | Y )。
根据定义,展开H(X) 和H(X|Y) 容易得到:
这里写图片描述
互信息I (X; Y) 是在知道了Y 的值后X 的不确定性的减少量。即,Y 的值透露了多少关于X 的信息量。
这里写图片描述
由于H(X, X) = 0, 所以,H(X) = H(X) –H(X|X) = I(X; X)。这一方面说明了为什么熵又称自信息,另一方面说明了两个完全相互依赖的变量之间的互信息并不是一个常量,而是取决于它们的熵。

交叉熵

如果一个随机变量X ~ p (x),q(x)为用于近似p(x)的概率分布,那么随机变量X和模型q之间的交叉熵定义为:
这里写图片描述
交叉熵的概念是用来衡量估计模型与真实概率分布之间差异情况的。对于语言L = (Xi) ~ p(x) 与其模型q的交叉熵定义为:
这里写图片描述
其中, 为语言L的语句, 为L中语句的概率,为模型q对的概率估计。
 我们可以假设这种语言是“理想的”,即n趋于无穷大的时候,其全部“单词”的概率和为1。也就是说,根据信息论的定理:假定语言L是稳态的(stataionary)ergodic随机过程,L与其模型q的交叉熵计算公式就变为:
 这里写图片描述
 由此,我们可以根据模型q和一个含有大量数据的L的样本来计算交叉熵。在设计模型q时,我们的目的是使交叉熵最小,从而使模型最接近真实的概率分布p(x)。

困惑度(preplexity)

  在设计语言模型的时候,我们通常用困惑度来代替交叉熵衡量语言模型的好坏。给定语言L的样本,L的困惑度定义为:
  这里写图片描述
  语言模型设计的任务就是寻找困惑度最小的模型,使其最接近真实的语言。

噪声信道模型(noisy cahnnel model)

  在信号传输的过程中都要进行双重性处理:一方面要通过压缩消除所有的冗余,另一方面又要通过增加一定的可控冗余以保障输入信号经过噪声信道后可以很好的恢复原状。这样的话,信息编码时要尽量占有少量的空间,但又必须保持足够的冗余以便能够检测和校验错误。而接收到的信号需要被解码使其尽量恢复到原始的输入信号。
  噪声信道模型的目标就是优化噪声信道中信号传输的吞吐量和准确率,其基本假设是一个信道的输出以一定的概率依赖于输入。
  这里写图片描述

例如:一个二进制的对称信道(binary symmetric channel, BSC)的输入符号集X:{0, 1},输出符号集Y:{0, 1}。在传输过程中如果输入符号被误传的概率为p,那么,被正确传输的概率就是1-p。这个过程我们可以用一个对称的图型表示如下:
这里写图片描述
信息论中很重要的一个概念就是信道容量(capacity),其基本思想是用降低传输速率来换取高保真通讯的可能性。其定义可以根据互信息给出:
这里写图片描述
根据这个定义,如果我们能够设计一个输入编码X,其概率分布为p(X),使其输入与输出之间的互信息达到最大值,那么,我们的设计就达到了信道的最大传输容量。在自然语言处理中,我们不需要进行编码,只需要进行解码,使系统的输出更接近于输入。
这里写图片描述
这里写图片描述
这里写图片描述

也就是说,如果我们要建立一个源语言f 到目标语言e的统计翻译系统,我们必须解决三个关键的问题:

(1)估计语言模型概率P(e);
(2)估计翻译概率P(f | e);
(3)设计有效快速的搜索算法求解 eˆ使得P(e)×P(f | e)最大。

推荐阅读
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
author-avatar
姚若薇_453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有