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

news2024/12/25 22:26:31

目录

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越大,信息越丰富,但计算成本也呈指数增长。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1009964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows2003 IIS6.0解析漏洞

一、漏洞说明 (1)当建立*.asa、.asp格式的文件夹时,其目录下的任意文件都将被IIS当做asp文件解析。 (2)当文件.asp:1.jpg IIS6.0同样会将文件当做asp文件解析。 二、搭建环境 Windows server2003安装iis6.0…

内网隧道代理技术(二十五)之 ICMP隧道反弹SHELL

ICMP隧道反弹SHELL ICMP隧道原理 由于ICMP报文自身可以携带数据,而且ICMP报文是由系统内核处理的,不占用任何端口,因此具有很高的隐蔽性。把数据隐藏在ICMP数据包包头的data字段中,建立隐蔽通道,可以实现绕过防火墙和入侵检测系统的阻拦。 ICMP隧道有以下的优点: ICMP…

Mybatis sql参数自动填充

问题描述 在日常开发中,经常会遇到Mybatis sql语句的操作问题,由于Mybatis实现sql的动态拼接,开发过程中,为了验证sql是否书写正确,通常需要获取的控制台打印的sql语句来检查是否拼接正确。如下图所示: 那…

ClientDataSet运行中出现“ClientDataSet:dataset not in edit or insert mode”(二)

接前期《ClientDataSet运行中出现“ClientDataSet:dataset not in edit or insert mode”(一)》中,提出的解决方案,本人作进一步探索: 一、编写一个返回ClientDataSet的状态函数 function Get_Client_stat…

SpringBoot项目中使用poi-tl打成jar包后常见问题及解决

目录 前言 一、场景描述 1、打成jar包运行后模板找不到 2、文件只能下载一次 二、正确示范 1、Controller下载方法定义 2、文档生成 总结 前言 在前面的博客中,介绍了如何在Java中根据模板动态写入数据到word模板中,原文地址:Java使用…

Solidity 小白教程:15. 异常

Solidity 小白教程:15. 异常 这一讲,我们介绍solidity三种抛出异常的方法:error,require和assert,并比较三种方法的gas消耗。 异常 写智能合约经常会出bug,solidity中的异常命令帮助我们debug。 Error …

企业如何实时监管员工聊天红包转账记录?

1 你还在担心员工飞单吗? 2 你还在担心员工私单吗? 3 你还在担心员工辱骂删除客户吗? 4 你还在担心员工工作量无法统计吗? 5 你还在担心员工离职带走客户资源吗? 。。。。。。 互联网时代,微信应用…

QCustomPlot绘图类详解(大白话)

本文假定你会使用Qt开发,但未接触过QCustomPlot绘图类或者是刚接触。 如何往Qt中引入QCustomPlot 首先,去官网下载最新版本的源码,注意是QCustomPlot.tar.gz这个文件,里面包含源码和示例。实际上,我们只需要qcustompl…

Hadoop-Hive

1. hive安装部署 2. hive基础 3. hive高级查询 4. Hive函数及性能优化 1.hive安装部署 解压tar -xvf ./apache-hive-3.1.2-bin.tar.gz -C /opt/soft/ 改名mv apache-hive-3.1.2-bin/ hive312 配置环境变量:vim /etc/profile #hive export HIVE_HOME/opt/soft/hive…

【深度学习 AIGC】stablediffusion-infinity 在无界限画布中输出绘画 Outpainting

代码:https://github.com/lkwq007/stablediffusion-infinity/tree/master 启动环境: git clone --recurse-submodules https://github.com/lkwq007/stablediffusion-infinity cd stablediffusion-infinity conda env create -f environment.yml conda …

笔记(三)传统图机器学习的特征工程-节点

1、不同种类的任务 2、传统图机器学习的几个层面 (人工特征工程机器学习) 3、属性特征-节点本身的特征 4、连接特征-节点的结构信息 5、训练-预测 6、好模型需要好数据 -人工构造的特征(特征工程)-节点、连接、全图-无向图 7、节…

算法训练 第二周

一、赎金信 本题给出了两个字符串ransomNote和magazine,需要让我们判断ransomNote中的字符能不能由magazine中的字符构成,也就是说我们需要将所有ransomNote中的字符找到一个在magazine中与这个字符相同的字符,且每个字符只能使用一次&#x…

openssl websockets

1. HTTPS通信的C实现 - 知乎

【干货】Anaconda导出环境配置文件

【干货 | 项目导出安装环境要求】 方法yml文件req.txt文件 参考 方法 yml文件 激活虚拟环境(fyp是我的虚拟环境名称,请根据你自己的名称进行修改) conda activate fyp运行此代码 conda env export > environment.ymlreq.txt文件 激活…

runtime过程中,常见jar问题解决

io.netty java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.<init>此类问题报错&#xff0c;主要是io.netty 多个jar 冲突导致。、 使用以下命令查看同一个jar 有哪些版本 mvn dependency:resolve -Dclassifiersources对一些不愿意引入的依赖加上…

VIGC:自问自答,高质量视觉指令微调数据获取新思路

从今年四月份开始&#xff0c;随着MiniGPT-4, LLaVA, InstructBLIP等多模态大模型项目的开源&#xff0c;大模型的火从NLP领域烧到了计算机视觉及多模态领域。 多模态大模型需要高质量的图文对话数据进行指令微调&#xff0c;而当前多模态指令微调数据多基于纯文本GPT-4构建&am…

【Purple Pi OH RK3566鸿蒙开发板】OpenHarmony音频播放应用,真实体验感爆棚!

本文转载于Purple Pi OH开发爱好者&#xff0c;作者ITMING 。 原文链接&#xff1a;https://bbs.elecfans.com/jishu_2376383_1_1.html 01注意事项 DevEco Studio 4.0 Beta2&#xff08;Build Version: 4.0.0.400&#xff09; OpenHarmony SDK API 9 创建工程类型选择Appli…

华为云云耀云服务器L实例评测 | 部署H5 一起来吃月饼游戏

文章目录 前言一、云服务器相对传统服务器有什么优势1.1、可伸缩性&#xff08;Scalability&#xff09;1.2、灵活性&#xff08;Flexibility&#xff09;1.3、高可用性&#xff08;High Availability&#xff09;1.4、备份和恢复&#xff08;Backup and Recovery&#xff09;1…

Golang Gorm 创建HOOK

创建的时候&#xff0c;在插入数据之前&#xff0c;想要做一些事情。钩子函数比较简单&#xff0c;就是实现before create的一个方法。 package mainimport ("gorm.io/driver/mysql""gorm.io/gorm" )type Student struct {ID int64Name string gorm:&q…

redis深度历险 千帆竞发 —— 分布式锁

分布式应用进行逻辑处理时经常会遇到并发问题。 比如一个操作要修改用户的状态&#xff0c;修改状态需要先读出用户的状态&#xff0c;在内存里进行修改&#xff0c;改完了再存回去。如果这样的操作同时进行了&#xff0c;就会出现并发问题&#xff0c;因为读取和保存状态这两个…