《MacTalk 跨越边界》一一3.4 大数据时代的贝叶斯定理

简介:

本节书摘来自异步社区出版社《MacTalk 跨越边界》一书中的第3章,第3.4节,作者: 池建强,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.4 大数据时代的贝叶斯定理

MacTalk 跨越边界
今天给大家说说大数据下的贝叶斯定理,算是科普。如果有朝一日你能以之推算出搭讪妹子的成功率,算我一份功劳。

每当有技术热点或新概念出来的时候,人群就会分成三种:炒作的、观望的和踏踏实实干活的。炒作的是不懂的,观望的是保守的,沉下来去研究那些浮萍下面的算法、引擎、框架和语言的人,才是最后吃到果子的人。云计算、大数据莫不如是。

随着搜索、社交网络、电子商务和移动互联网的发展,数据总量和增长速度已经到了常人(注:我这样的人)无法想象的地步。其中数学相关的知识是大数据应用和发展的原动力。

举个例子,比如贝叶斯定理。

搞数理统计如果不知道贝叶斯定理,那么你的人生肯定是不完整的。贝叶斯定理是贝叶斯推断的应用,是英国数学家托马斯·贝叶斯在1763年首次提出的。与其他统计学不同,贝叶斯定理是建立在主观判断的基础上,它需要有大量的样本数据,并在数据的基础上进行计算,数据量越大,计算结果越能反映现实世界。

在计算机诞生之前,这个前提条件是很难满足的,所以贝叶斯定理在历史上很长一段时间内都没有得到很好的应用。然后,互联网时代来临了……

现在贝叶斯定理广泛应用于中文分词、垃圾邮件处理、机器学习、图像识别、拼写检查和一些常用的分类算法上。可以说,我们现在最常用的互联网服务上,贝叶斯定理无处不在。贝老爷子没能挺到今天看到他提出的理论在互联网时代大放异彩,也算是憾事。其实做基础研究和艺术创作的人都非常不容易,每天徜徉在知识的小黑屋里冥思苦想,时时刻刻准备改变世界,结果很多学术成果和艺术成就都是自己挂了之后才流芳百世的,这种事随便想想也会让人感到悲伤。

当然,这些伟大的创造者和先知先觉的神人大都是以认知世界和发现规律为己任,他们注定是要去拯救和影响一代又一代的后人,所以早已超凡脱俗长袖飘飘,肯定不会有我等这些俗人俗想。

关于贝叶斯定理,刘未鹏和阮一峰的博客上都做过详细的介绍,大家可以去深入学习。我这里做个最简介绍,希望能够帮助大家入门。

贝叶斯定理主要是用来描述两个条件概率之间的关系,先介绍下条件概率。

P(A):表示事件A发生的概率。

P(B):表示事件B发生的概率。

P(A∩B):表示事件A和事件B同时发生的概率,也叫联合概率。

而条件概率的意思就是:事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。同理,P(B|A)就是事件A发生的情况下,事件B发生的概率。

用文氏图可以很容易地推导出贝叶斯公式,如图所示:

image

当事件B发生的情况下,事件A发生的概率就是P(A∩B)除以P(B),也就是: P(A|B) = P(A∩B)/P(B)

即:P(A∩B) = P(A|B)P(B)

同理可得:P(A∩B) = P(B|A)P(A)

换算一下就得到了贝叶斯公式:

P(A|B)P(B) = P(B|A)P(A)

也就是:

P(A|B) = P(B|A)P(A)/P(B)

image

用人话说出来就是:事件B发生的情况下事件A发生的概率等于事件A发生的情况下事件B发生的概率乘以事件A发生的概率,然后再除以事件B发生的概率。

我承认这句话更像是绕口令而不是人话,反正你们懂的,如果不懂竟然能看到这里,那么你赢了。

下面我们举个例子看看这个公式怎么用。有A、B两个一模一样的箱子,每个箱子里都放了很多黑球和白球。A箱子里有6个黑球,4个白球;B箱子里有1个黑球,9个白球。现在随机选择一个箱子拿出一个球,发现是黑球,请问这个球来自A箱子的概率是多少?

解题思路如下。

我们把“从A箱子拿出球”的事件设置为A事件,“拿出的球是黑球”设置为B事件。由于两个箱子是一模一样的,那么“从A箱子拿出球”的概率是二分之一,即:

P(A) = 0.5

“拿出是黑球”的概率也很容易算出来,把所有的黑球加起来除以球的总数,即:

P(B) = (6+1)/20 = 0.35

“从A箱中拿出黑球”的概率就更容易了,用A箱中的黑球数除以A箱中球的总数,即:

P(B|A) = 6/(4+6) = 0.6

那么根据公式,这个黑球来自A箱的概率就是:

P(A|B) = 0.6×0.5/0.35≈0.857

生活中,我们也常常会被类似的概率问题困扰,比如医患关系中常见的误诊问题,这些都是可以通过贝叶斯公式进行概率演算的,网络上有很多相关案例,有兴趣的可以去阅读学习(搜索“贝叶斯实例”即可)。

以前推荐过的书《黑客与画家》的第8章“防止垃圾邮件的一种方法”,就采用了贝叶斯原理实现垃圾邮件过滤器,其中有详细的描述和实现思路,有这本书的读者可以去看看。

另外,如果你想从事大数据领域相关的工作,R语言也是值得关注的一门语言,关于这门语言,我还没入门。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
分布式计算 Hadoop 大数据
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
548 0
|
运维 Devops Java
阿里巴巴DevOps实践指南(十三)| 测试提效
分布式测试为测试速度插上了翅膀,精准测试有效的识别出了测试的范围,增量覆盖率又为测试的不断完备提供了有利的指引,线上覆盖率帮助我们有效的进行应用瘦身。充分利用好这些技术手段进行测试提效,可以让持续交付的过程更加的顺畅
阿里巴巴DevOps实践指南(十三)| 测试提效
|
编解码 C++
Google Earth Engine ——1958-2020年TerraClimate 全球陆地表面每月气候和气候水平衡的数据集
Google Earth Engine ——1958-2020年TerraClimate 全球陆地表面每月气候和气候水平衡的数据集
2054 0
Google Earth Engine ——1958-2020年TerraClimate 全球陆地表面每月气候和气候水平衡的数据集
|
算法 安全 Ubuntu
Linux下的软件包管理器有哪些
Linux下的软件包管理器有哪些
839 5
|
11月前
|
数据采集 文字识别 供应链
易语言接单平台,易语言接单,易语言软件脚本工具定制
中小企业痛点:2025年仍有43%小微企业存在ERP/CRM定制需求但预算有限(数据来源:中国中小企业协会)
|
文字识别 Python
python做ocr卡证识别很简单
本示例展示了如何使用 `potencent` 库调用腾讯云 OCR 服务识别银行卡和身份证信息。代码中分别通过本地图片路径 (`img_path`) 和配置文件 (`potencent-config.toml`) 实现了银行卡和身份证的 OCR 识别,并输出结果。测试图片及结果显示了识别效果,需提前配置腾讯云的 `SECRET_ID` 和 `SECRET_KEY`。
578 8
|
机器学习/深度学习 人工智能 并行计算
NotaGen:中央音乐学院联合清华推出AI音乐生成模型,古典乐谱一键生成,音乐性接近人类!
NotaGen 是由中央音乐学院、北京航空航天大学、清华大学等机构联合推出的音乐生成模型,基于模仿大型语言模型的训练范式,能够生成高质量的古典乐谱。该模型通过预训练、微调和强化学习相结合的方式,显著提升了符号音乐生成的艺术性和可控性。
1556 15
NotaGen:中央音乐学院联合清华推出AI音乐生成模型,古典乐谱一键生成,音乐性接近人类!
|
SQL 流计算 关系型数据库
基于OpenLake的Flink+Paimon+EMR StarRocks流式湖仓分析
阿里云OpenLake解决方案建立在开放可控的OpenLake湖仓之上,提供大数据搜索与AI一体化服务。通过元数据管理平台DLF管理结构化、半结构化和非结构化数据,提供湖仓数据表和文件的安全访问及IO加速,并支持大数据、搜索和AI多引擎对接。本文为您介绍以Flink作为Openlake方案的核心计算引擎,通过流式数据湖仓Paimon(使用DLF 2.0存储)和EMR StarRocks搭建流式湖仓。
1420 5
基于OpenLake的Flink+Paimon+EMR StarRocks流式湖仓分析
|
人工智能
开启歌词创作之门:写歌词的技巧和方法详解,妙笔生词AI智能写歌词软件
歌词创作是通往音乐灵魂深处的大门。本文介绍了一些实用技巧,如借助《妙笔生词智能写歌词软件》的AI功能,捕捉生活中的灵感,确定主题,合理安排歌词结构,运用生动的语言和修辞手法,确保韵律和节奏,帮助你轻松开启创作之旅。
|
Java Maven
解决java:不支持发行版本5报错
解决java:不支持发行版本5报错 在使用maven运行javaweb项目时,出现了这个问题 原因:jdk版本被maven项目的配置覆盖了 解决方案:在maven的pol.xml文件中添加如下标识行即可(参数要写你自己的JDK版本,比如这里使用的是JDK17)
4941 5