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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

本节书摘来自异步社区出版社《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语言也是值得关注的一门语言,关于这门语言,我还没入门。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
8月前
|
机器学习/深度学习 存储 人工智能
《量子计算硬件:关键指标对人工智能应用性能的影响》
量子计算硬件的关键技术指标对人工智能性能至关重要。量子比特数量决定信息处理规模,更多量子比特可加速机器学习、提升模型精度;相干时间保障量子态稳定,延长其能提高计算可靠性;门保真度确保操作准确,高保真度增强计算精度与容错能力。其他如耦合强度、噪声水平等也协同作用,共同影响性能。优化这些指标将推动AI发展。
264 66
|
领域建模 数据库 数据安全/隐私保护
DailyMart03:如何基于DDD设计商城的领域模型?
DailyMart03:如何基于DDD设计商城的领域模型?
1385 0
|
7月前
|
机器学习/深度学习 人工智能 API
上新!支持100万Tokens上下文的Qwen2.5-1M 开源模型来了
上新!支持100万Tokens上下文的Qwen2.5-1M 开源模型来了
搭建一个简单的直播网站
我是一个比较爱看直播的人,经常空闲的时候会看一看LOL、吃鸡的直播。正好最近在研究阿里云的视频直播服务,突发奇想,自己来搭建一个简单的直播平台!主要会用到的东西有:视频直播、ECS、OBS、阿里播放器。
10387 1
|
9月前
|
Kubernetes 容灾 调度
阿里云 ACK 高可用稳定性最佳实践
本文整理自2024云栖大会刘佳旭的演讲,主题为《ACK高可用稳定性最佳实践》。文章探讨了云原生高可用架构的重要性,通过Kubernetes的高可用案例分析,介绍了ACK在单集群高可用架构设计、产品能力和最佳实践方面的方法,包括控制面和数据面的高可用策略、工作负载高可用配置、企业版容器镜像服务高可用配置等内容,旨在帮助企业构建更加可靠和高效的应用运行环境。
|
10月前
|
弹性计算 监控 Cloud Native
云原生架构下的性能优化实践与策略####
在数字化转型加速的今天,云原生技术以其弹性、敏捷和高效的特点成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,通过具体案例分析,揭示了性能优化的关键路径与策略,为开发者和企业提供了可操作的实践指南。 ####
|
11月前
|
缓存 监控 安全
电商行业中 API 接口的常见问题和解决方法?
电商行业中 API 接口面临的常见问题包括安全性问题、性能问题、兼容性问题、可靠性问题和可维护性问题。针对这些问题,可以采取相应的解决方法,如采用加密技术、优化数据库查询、制定统一的接口规范、进行容错处理、采用良好的代码结构等。
382 0
|
前端开发 应用服务中间件 Linux
使用阿里云服务器部署前端项目
使用阿里云服务器部署前端项目,完成后可通过服务器域名访问网页
2623 0
使用阿里云服务器部署前端项目
|
SQL 分布式计算 监控
美团优选大数据开发岗面试真题-附答案详细解析(一)
美团优选大数据开发岗面试真题-附答案详细解析
1094 0
美团优选大数据开发岗面试真题-附答案详细解析(一)
|
Linux 容器 Kubernetes
环境异常解决方案-CentOS 7 网络异常【Failed to start LSB: Bring up/down networking】
问题呈现 今天启动Kubernetes集群的时候发现部署的zookeeper集群有一个节点始终启动不成功,然后查看了一下日志发现报错信息是【getsockopt: no route to host】: error 根据以前的经验,这多半是...
8768 0