链式法则:概率论描述语言模型

2023-09-14 19:55:07

目录

1.事件相互独立

2.链式法则

3.示例 

4.语言模型中的链式法则


1.事件相互独立

事件相互独立就是:一个事件的发生与否,不会影响另外一个事件的发生。

当a和b两个事件互相独立时,有:

P(a | b) = P(a)

推广到3个事件就有下面这个公式:

P(a | b, c) = P(a | c)

其中:P(a | b, c)表示在b和c事件都发生的情况下,a事件发生的概率

既然a与b相互独立,那b就不是a是否发生的条件,a就只与c有关


2.链式法则

2个事件同时发生的概率:

P(a, b) = P(a | b) * P(b)

其中:P(a, b)表示 a和b事件同时发生的概率, P(a | b)是一个条件概率,表示在b事件发生的条件下,a发生的概率

3个事件的概率链式法则:

P(a, b, c) = P(a | b, c) * P(b, c)  = P(a | b, c) * P(b | c) * P(c)

N个事件的概率链式法则:

P(X1, X2, ... Xn) = P(X1 | X2, X3 ... Xn) * P(X2 | X3, X4 ... Xn) ... P(Xn-1 | Xn) * P(Xn)

3.示例 

假设有事件ABCDE,它们之间的关系如下,求ABCDE同时发生的概率 P(A, B, C, D, E) 是多少?

所有的事件,只与它们的父节点有依赖关系,其中,E只和B有关,B只和AC有关,D只与C有关,A和C不依赖其他任何事件

P(A, B, C, D, E) = P(E | B, D, C, A) * P(B, D, C, A)

        = P(E | B, D, C, A) * P(B | D, C, A) *  P(D, C, A)

        = P(E | B, D, C, A) * P(B | D, C, A) *  P(D | C, A) * P(C, A)

        = P(E | B, D, C, A) * P(B | D, C, A) *  P(D | C, A) * P(C | A) * P(A)  

我们根据前面说的相互独立的事件关系,来分析下最后那个长长的式子:

E只与B有关,则 P(E | B, D, C, A) = P(E | B)
B只和AC有关,则 P(B | D, C, A) = P(B | C, A)
D只与C有关, 则 P(D | C, A) = P(D | C)
C与A无关,则 P(C | A) = P(C)

所以最后的式子简化成了这样:

P(A, B, C, D, E) = P(E | B) * P(B | C, A) * P(D | C) * P(C) * P(A)

4.语言模型中的链式法则

        用概率论来描述语言模型就是,为长度为的字符确定其概率分布,其中各x依次表示文本中的各个词语,一般采用链式法则计算其概率值:

        当序列长度增加时,计算和存储多个词共同出现的概率的复杂度会呈指数级增加。n元语法通过马尔可夫假设(虽然并不一定成立)简化了语言模型的计算。n元模型是在估算条件概率时,忽略距离大于等于n的上文词的影响,因此得以简化。这里的马尔可夫假设是指一个词的出现只与前面n个词相关,即n阶马尔可夫链(Markov chain of order nn)。当n分别等于1,2,3时,分别将其称作一元语法(unigram),二元语法(bigram)和三元语法(trigram)。

通过实例来解释这几种语法,

一元模型意味着各个词之间相互独立,这无疑损失了句中词序信息。

二元语法

三元文法

当n大于等于2时,该模型可以保留一定的词语信息,而且n越大,信息越丰富,但计算成本也呈指数增长。

更多推荐

树莓派使用Nginx 搭建轻量级网站远程访问

文章目录1.Nginx安装2.安装cpolar3.配置域名访问Nginx4.固定域名访问5.配置静态站点转载自cpolar极点云文章:树莓派使用Nginx搭建轻量级网站远程访问安装Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的Web服务器,可以用于托管网站或Web应用程序。相比其他Web服务器,

01_Bootstrap基础组件01

1什么是Bootstrap?Bootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript的,它简洁灵活,使Web开发更加快捷。它对HTML、CSS和JavaScript进行了封装,使它们使用起来更方便。我们只需要使用它已经设定好的类,或规则,即可快速应

[全家桶之SpringMVC]SpringMVC 的模块和结构

目录SpringMVC的模块Web模块WebMVC模块SpringMVC的结构SpringMVC的模块SpringMVC的模块主要包括以下几个:Web模块:这个模块提供了Spring对Web项目的支持,包括文件上传、异常处理、国际化、主题等功能。WebMVC模块:这个模块是SpringMVC的核心,它包含了前端控制器、

驱动开发--字符设备驱动的实现

一、字符设备驱动内部注册过程通过对register_chrdev内部的实现过程进行分析,其实注册字符设备驱动的过程就是下面几步:1.分配structcdev对象空间2.初始化structcdev对象3.注册cdev对象完成上面的三步,就完成了字符设备驱动的注册。二、通过字符设备驱动分步注册方式编写LED驱动,完成设备文

【LittleXi】第五章 Process API exercise

文章目录【LittleXi】第五章ProcessAPIexercise第五章(simulator)实验准备第五章(code)【LittleXi】第五章ProcessAPIexercise第五章(simulator)实验准备github下载对应代码https://github.com/remzi-arpacidussea

基于Python的微博舆论分析,微博情感分析可视化系统(V2.0)

简介Python基于微博的舆情分析,情感分析可视化系统微博舆情分析系统,项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。功能包括登陆注册用户管理热门事件展示舆情分析,包括舆情分析,情感分类,用户分布,关键词云图,热门帖子,热门评论排名舆情预警个人信息管理原文地址先后进行了数据获取和筛选存储,对存储后的

自然语言处理应用(三):微调BERT

微调BERT微调(Fine-tuning)BERT是指在预训练的BERT模型基础上,使用特定领域或任务相关的数据对其进行进一步训练以适应具体任务的需求。BERT(BidirectionalEncoderRepresentationsfromTransformers)是一种基于Transformer架构的深度双向预训练语

机器学习 day35(决策树)

决策树上图的数据集是一个特征值X采用分类值,即只取几个离散值,同时也是一个二元分类任务,即标签Y只有两个值上图为之前数据集对应的决策树,最顶层的节点称为根节点,椭圆形节点称为决策节点,矩形节点称为叶子节点决策树学习算法的工作是,在所有可能的决策树中,选择一个在训练集上能表现良好,并能很好的推广到新数据(即交叉验证集和测

CUDA小白 - NPP(9) 图像处理 Statistical Operations

cuda小白原始API链接NPPGPU架构近些年也有不少的变化,具体的可以参考别的博主的介绍,都比较详细。还有一些cuda中的专有名词的含义,可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》常见的NppStatus,可以看这里。本文主要介绍的是NPP的统计

今天开课,欢迎学习!公益课“14天学会统计学与SPSS”,课程结束赠送全套视频...

新一期的课程今天开课!来学习吧!我们精心整理的600页彩色纸质版教程就可以帮助你更好得掌握本课程!“14天学会医学统计学与SPSS”,是浙江中医药大学医学统计教研室、浙江省预防医学会卫生统计学专业委员会共同主持的公益网课!不是忽悠人的商业收费课程!高校公开课,免费的!自2021年起,浙江中医药大学医学统计教研室教研书主

【ijkplayer】编译 Android 版本的 ijkplayer ⑦ ( 使用 AS 打开源码 | 重新设置 AGP 和 Gradle 版本号 | 设置依赖仓库 | 设置依赖 | 编译运行 )

文章目录一、AndroidStudio打开编译后的ijkplayer源码二、重新设置AndroidGradle插件版本号和Gradle构建工具版本号三、设置依赖仓库1、取消jcenter仓库2、添加google和mavenCentral仓库3、添加阿里云仓库四、取消jcenter上传相关插件五、设置编译工具版本号六、取

热文推荐