自然语言处理(NLP) - 数学基础(3) - 概率论基本概念与随机事件
2019-12-21 22:37 叶伟民 阅读(937) 评论(0) 编辑 收藏 举报好像所有讲概率论的文章\视频都离不开抛骰子或抛硬币这两个例子, 因为抛骰子的确是概率论产生的基础, 赌徒们为了赢钱就不在乎上帝了才导致概率论能突破宗教的绞杀, 所以我们这里也以抛骰子和抛硬币这两个例子.
我们先来过一遍基本概念:
- 随机试验. 在抛骰子的过程中,我们注意到,在相同条件下,我们每一次抛骰子的时候,我们无法得知骰子最后静止时,骰子的哪一面向上,但是我们通过不断的抛骰子的过程中发现,结果无非是1,2,3,4,5,6六个点之一。随机试验:
1. 试验可以在相同条件下重复地进行。
2. 试验的结果不止一个,且事先可以明确实验的所有可能结果,
3. 试验之前无法预知会出现哪一个结果。
- 样本空间. 已知一个随机事件,其所有可能结果组成的集合称为样本空间。在抛骰子这个例子中, 样本空间s={1,2,3,4,5,6}
- 样本点. 随机事件可能的结果称为样本点。在抛骰子这个例子中, 1,2,3,4,5,6六个点之中的每个点都称为样本点, 可见, 样本空间由样本点组成.
- 随机事件,样本空间中满足某些条件的子集,称为随机事件。比如"出现偶数"
- 基本事件. 一个样本点
- 不可能事件. 空集, 比如出现0点
- 随机事件发生. 所发生的随机事件在随机事件集合内
- 完备事件组.事件之间所包含元素互不相同,所有事件组加起来刚好构成样本空间全集
随机事件关系有如下几种(其实就是集合, 1933年,俄国数学家Andrei N. Kolmogorov建立了概率论的公理化体系,严格定义了概率论的语言。正如现代数学的其他学科一样,概率论的公理化体系同样基于集合论。公理化的概率论体系基于几条简单易懂的公理,衍生出整个概率论的体系。学习这个公理化的体系,可以消除直觉中的许多混淆。这一公理体系的核心是“概率测度”。):
- 包含关系:A⊂B 即事件B包含事件A, 事件A发生必然会导致事件B发生
- 相等关系:A=B A⊂B,B⊂A
- 和关系 :A∪B 事件A与事件B至少发生一个
- 积事件: A∩B 即A交B 事件A与事件B同时发生。所谓的事件同时发生,由于随机事件是样本空间的子集,也就是它由一系列的样本点组成。所以,两个事件的样本点有交集时,相同的样本点发生,即为事件A与事件B同时发生。
- 并集. D=A∪B
- 差事件:A−B B不发生而A发生。
- 逆事件或对立事件:
- 互斥事件. 空集Φ是一个不包含任何元素的集合。如果两个集合的交集为空集,即M∩N=Φ,那么这两个集合不相交。在概率论中,不相交的两个事件互斥。
事件的运算(其实就是集合的运算,和加法一样,集合的交并集运算同样有运算法则。):
- 交换律. A∪B=B∪A 和 A∩B=B∩A
- 结合律. (A∪B)∪C=A∪(B∪C)和(A∩B)∩C=A∩(B∩C)
- 分配律. (A∪B)∩C=(A∩C)∪(B∩C)和 (A∩B)∪C=(A∪C)∩(B∪C)
- 德摩根律.
接来下我们继续用python来进行讲解.
下面我们使用python实现集合的运算:
1 2 3 4 5 6 7 | A = set ([ 1 , 2 , 3 , 4 , 5 , 6 ]) B = set ([ 3 , 4 , 5 , 6 , 7 , 8 ]) print (A & B) # 交集 intersection print (A | B) # 并集 union print (A - B) # 求差集(项在A中,但不在B中) difference, element in A, and not in B print (A ^ B) # 对称差集(项在A或B中,但不会同时出现在二者中 symmetric difference, (A | B) - (A & B) |
下面我们使用in来判断元素是否属于集合,以及用>, >=, <, <=来判断两个集合的归属关系,比如一个集合是另一个集合的子集。
1 2 3 4 5 | A = set ([ 1 , 2 , 3 ,]) B = set ([ 1 , 2 , 3 , 4 , 5 , 6 ]) print ( 1 in A) # element print (A < B) # subset |
下面我们返回集合中元素总数,集合最大值,集合最小值, 增加和删除元素. 注意根据概率论, 集合中是不会有重复的元素的:
1 2 3 4 5 6 7 8 9 10 11 12 13 | A = set ([ 1 , 2 , 3 , 4 , 5 , 6 ]) set_len = len (A) print (set_len) A.add( 6 ) # add an element print (A) A.remove( 2 ) # remove an element print (A) A.add( 1 ) print (A) # a set has no repeated elements |
当不方便用python时, 很遗憾微软数学app不支持集合操作, 这里是微软数学所支持的数学计算.
有用链接:
为了方便搜索资料, 现在列出本节所用到的英文术语名词:
- 集合 - set
- 随机试验 - Random experiment
- 样本空间 - sample space 一般用Ω表示
- 样本点 - 待确认
- 随机事件 - Random event
- 基本事件 - Elementary event
- 不可能事件 - Impossible event
- 随机事件发生 - 待确认
- 完备事件组 - 待确认
- A⊂B - 待确认
- A=B - 待确认
- A∪B - 待确认
- A∩B - 待确认
- 交换律. - 待确认
- 结合律. - 待确认
- 分配律 -待确认
- 德摩根律 - 待确认
本文来自博客园,作者:叶伟民,转载请注明原文链接:https://www.cnblogs.com/adalovelacer/p/NLP-Math-3-basic-concept.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2014-12-21 使用jqgrid的C#/asp.net mvc开发者的福音 jqgrid-asp.net-mvc