贝叶斯公式简单解释及其运用

article/2025/9/24 10:18:57

简介

贝叶斯定理是18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出得重要概率论理论。以下摘一段 wikipedia 上的简介:

所谓的贝叶斯定理源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出
来的。在贝叶斯写这篇文章之前,人们已经能够计算“正向概率”,如“假设袋子里面有 N 个白球,M 个黑球,你伸手
进去摸一把,摸出黑球的概率是多大”。而一个自然而然的问题是反过来:“如果我们事先并不知道袋子里面黑白球
的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里
面的黑白球的比例作出什么样的推测”。这个问题,就是所谓的逆向概率问题。

概率复习

在正式介绍公式前,先通过几道简单的概率题来复习概率相关的知识

职业体型女神是否喜欢
程序员超重不喜欢
产品匀称喜欢
程序员匀称喜欢
程序员超重喜欢
美工匀称不喜欢
美工超重不喜欢
产品匀称喜欢

1.女神喜欢的概率?
2.职业是程序员并且体型匀称的概率?
3.在女神喜欢的条件下,职业是程序员的概率?
4.在女神喜欢的条件下,职业是产品,体重是超重的概率?

在解答前先引入几个概念
事件A发生的概率记作P(A)
联合概率:事件A与事件B同时成立的概率
记作:P(A,B)=P(A)P(B)
条件概率:事件A在另一个事件B已经发生条件下的成立概率
记作:P(A|B)
特性:P(A1,A2|B)=P(A1|B)P(A2|B)

代入公式分别为
1.P(女神喜欢)
2.P(程序员,体型匀称)
3.P(程序员|女神喜欢)
4.P(产品,超重|女神喜欢)

公式定义

贝叶斯定理是关于随机事件 A 和 B 的条件概率:
在这里插入图片描述
先根据上面的例子核对公式
3.P(程序员|女神喜欢)=P(女神喜欢|程序员)P(程序员)/P(女神喜欢)=?
2/3*3/7 / 4/7

其中P(A|B)是在 B 发生的情况下 A 发生的可能性。
在贝叶斯定理中,每个名词都有约定俗成的名称:

P(A)是 A 的先验概率,之所以称为“先验”是因为它不考虑任何 B 方面的因素。
P(A|B)是已知 B 发生后 A 的条件概率,也由于得自 B 的取值而被称作 A 的后验概率。
P(B|A)是已知 A 发生后 B 的条件概率,也由于得自 A 的取值而被称作 B 的后验概率。
P(B)是 B 的先验概率,也作标淮化常量(normalizing constant)。

按这些术语,贝叶斯定理可表述为:
后验概率 = (相似度 * 先验概率)/标淮化常量
也就是说,后验概率与先验概率和相似度的乘积成正比。
另外,比例P(B|A)/P(B)也有时被称作标淮相似度(standardised likelihood),Bayes定理可表述为:
后验概率 = 标淮相似度 * 先验概率
条件概率就是事件 A 在另外一个事件 B 已经发生条件下的发生概率。条件概率表示为P(A|B),
读作“在 B 发生的条件下 A 发生的概率”。

联合概率表示两个事件共同发生(数学概念上的交集)的概率。A 与 B 的联合概率表示为

在这里插入图片描述

推导

我们可以从条件概率的定义推导出贝叶斯定理。

根据条件概率的定义,在事件 B 发生的条件下事件 A 发生的概率为:
在这里插入图片描述
同样地,在事件 A 发生的条件下事件 B 发生的概率为:
在这里插入图片描述

结合这两个方程式,我们可以得到:
在这里插入图片描述

这个引理有时称作概率乘法规则。上式两边同除以 P(A),若P(A)是非零的,我们可以得到贝叶斯定理:

在这里插入图片描述

实际应用

问题替换
P(科技|文档)=P(科技|词1,词2,词3)=P(词1,词2,词3|科技)*P(科技) / P(词1,词2,词3)
P(水果税收编码|商品名称)=P(水果税收编码|词1,词2,词3)

在这里插入图片描述
现有一篇被预测文档:出现了影院,支付宝,云计算,计算属于科技、娱乐的类别概率?
在这里插入图片描述
思考:属于某个类别为0,合适吗?
在这里插入图片描述

根据名称判断男女

所需要训练集下载地址
http://sofasofa.io/competition.php?id=3#c1

import pandas as pd
from collections import defaultdict
import math# 处理名称中的空格和特殊字符
def handleName(name):name.strip()name = ''.join(name.split())name.replace(' ', '')name = name[1:]first = name.find("(")last = name.find(")")if first != -1 and last != -1:name = name[0:first]return nametest = pd.read_csv("name.csv")
test['chuLiNmae'] = test['name'].apply(handleName)# 读取train.txt
train = pd.read_csv('train.txt')# 把数据分为男女两部分
names_female = train[train['gender'] == 0]
names_male = train[train['gender'] == 1]# 统计男女的人数
totals = {'f': len(names_female),'m': len(names_male)}# 女性词汇累积发生概率
frequency_list_f = defaultdict(int)
for name in names_female['name']:for char in name:frequency_list_f[char] += 1. / totals['f']# 男性词汇累积发生概率
frequency_list_m = defaultdict(int)
for name in names_male['name']:for char in name:frequency_list_m[char] += 1. / totals['m']# 计算时增加默认拉普拉斯平滑系数alpha
def LaplaceSmooth(char, frequency_list, total, alpha=1.0):count = frequency_list[char] * totaldistinct_chars = len(frequency_list)freq_smooth = (count + alpha) / (total + distinct_chars * alpha)return freq_smooth# 运用贝叶斯公式计算其某种性别的概率
def GetLogProb(char, frequency_list, total):freq_smooth = LaplaceSmooth(char, frequency_list, total)return math.log(freq_smooth) - math.log(1 - freq_smooth)# 累积每个词汇对应性别的概率
def ComputeLogProb(name, bases, totals, frequency_list_m, frequency_list_f):logprob_m = bases['m']logprob_f = bases['f']for char in name:logprob_m += GetLogProb(char, frequency_list_m, totals['m'])logprob_f += GetLogProb(char, frequency_list_f, totals['f'])return {'male': logprob_m, 'female': logprob_f}# 得到最终答案
def GetGender(LogProbs):return LogProbs['male'] > LogProbs['female']# 求女生的概率的自然对数
base_f = math.log(1 - train['gender'].mean())
# 求女生所有词汇发生概率之和
base_f += sum([math.log(1 - frequency_list_f[char]) for char in frequency_list_f])# 求男的概率的自然对数
base_m = math.log(train['gender'].mean())
# 求男生所有词汇发生概率之和
base_m += sum([math.log(1 - frequency_list_m[char]) for char in frequency_list_m])# 得到男女所有词汇发生的概率值的自然对数
bases = {'f': base_f, 'm': base_m}
result = []
for name in test['chuLiNmae']:# 得到一个名字准备预测性别LogProbs = ComputeLogProb(name, bases, totals, frequency_list_m, frequency_list_f)gender = GetGender(LogProbs)result.append(int(gender))test['gender'] = resulttest.to_csv('MyXingBie.csv', index=False)

最终结果

一平,1
昶胜,1
馨,0
星驰,1
梦媛,0
陈,1
忠良,1
浪,1
建,1
小惠,0

http://chatgpt.dhexx.cn/article/aAavHAE4.shtml

相关文章

贝叶斯公式推导及意义

条件概率公式 设A,B是两个事件,且P(B)>0,则在事件B发生的条件下,事件A发生的条件概率(conditional probability)为: P(A|B)P(AB)/P(B)乘法公式 1.由条件概率公式得: P(AB)P(A|B)P(B)P(B|A)P(A) 上式即为乘法公…

浅谈全概率公式和贝叶斯公式

一、条件概率公式 举个例子,比如让你背对着一个人,让你猜猜背后这个人是女孩的概率是多少?直接猜测,肯定是只有50%的概率,假如现在告诉你背后这个人是个长头发,那么女的概…

贝叶斯公式基本推导

基础知识: ①条件概率 :P(B|A) P(AB) / P(A) 其中P(AB) P(A∩B) 即事件A 和事件B同时发生的概率 由上式变形可知 P(AB) P(A) * P(B|A)。 ②全概率公式 : 在计算一个比较复杂事件的概率时,我们总是希望从已知的简单地…

神奇的贝叶斯公式

引言 贝叶斯法则以托马斯.贝叶斯命名,他研究如何计算二项分布的概率参数的分布。贝叶斯法则被世界广泛认识,得益于Richard Price的推广和宣传。Price编辑了贝叶斯的主要著作《An Essay towards solving a Problem in the Doctrine of Chances》&#xf…

贝叶斯公式

1、贝叶斯要解决的问题 贝叶斯公式就是已知先验概率,估计后验概率。 2、贝叶斯公式 条件概率公式: 全概率公式: 贝叶斯公式: 其中:p(w):为先验概率,表示每种类别分布的概率;&#…

教你如何理解贝叶斯公式

贝叶斯公式 定理贝叶斯的英文概率论中的一个定理,跟它随机变量的条件概率以及边缘概率分布有关。 下面是贝叶斯的公式: 其中P(A | B)。是指在事件乙发生的情况下事件甲发生的概率其中甲代表的是所属的类别(Y&#xf…

贝叶斯公式与全概率公式的理解。

1.贝叶斯与全概率公式解释 1.全概率公式定义 即若在某个场景下,可找到一个完备事件组 Ai ( i 1,2,3…n)。 则对任一与该场景有关的事件 B,都可以分割成无数个小事件(由不同因素引起的事件) 有:   B B ∩ A1 ∪ A2…

条件概率、贝叶斯公式理解

1、条件概率 条件概率是指事件A在事件B发生的条件下发生的概率,记作:P(A|B)。如下图所示:整个样本空间为Ω,事件A和事件B包含在Ω中。事件A和事件B同时发生的情况,即A、B交集记作AB。事件A的概率记作&…

简单理解贝叶斯公式

贝叶斯公式:给定一组所关心事件的先验概率,如果你收到新的信息,那么更新你对于事件发生概率的法则为: 某城市发生了一起汽车撞人逃跑事件,该城市只有两种颜色的车,蓝色15%,绿色85%,事…

[work*] 贝叶斯公式的通俗解释

本文节选自《人类最美的54个公式》 转自量子位 我思故我在 引 我思故我在 AI背后的神秘公式 近代哲学奠基人,伟大的笛卡尔说出“我思故我在”时,上帝震惊了。 第一个被赋予公民身份的机器人Sophia(索菲娅)被问到:你…

贝叶斯公式详解

概率论只不过是把常识用数学公式表达了出来。 ——拉普拉斯 记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时;有一次,在书店看到一本书,名叫贝叶斯方法。当时数学系的课程还没有学到概率统计…

通俗易懂讲解贝叶斯

0. 前言 这是一篇关于贝叶斯方法的科普文,我会尽量少用公式,多用平白的语言叙述,多举实际例子。更严格的公式和计算我会在相应的地方注明参考资料。贝叶斯方法被证明是非常 general 且强大的推理框架,文中你会看到很多有趣的应用…

贝叶斯公式的理解

作者:知乎用户 链接:https://www.zhihu.com/question/21134457/answer/169523403 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 最近我自己在学习一些关于机器学习的东西,目前学到…

贝叶斯定理的通俗理解

朴素贝叶斯是一种基于贝叶斯定理的简单概率分类器(分类又被称为监督式学习,所谓监督式学习即从已知样本数据中的特征信息去推测可能出现的输出以完成分类,反之聚类问题被称为非监督式学习),朴素贝叶斯在处理文本数据时…

贝叶斯通俗易懂推导

简介 贝叶斯定理是18世纪英国数学家托马斯贝叶斯(Thomas Bayes)提出得重要概率论理论。以下摘一段 wikipedia 上的简介: 所谓的贝叶斯定理源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发…

贝叶斯公式的通俗理解

概述 贝叶斯分析是整个机器学习的基础框架 中学课本里说概率这个东西表述是一件事情发生的频率, 或者说这叫做客观概率。 贝叶斯框架下的概率理论确从另一个角度给我们展开了答案, 它认为概率是我们个人的一个主观概念, 表明我们对某个事物发…

贝叶斯公式的最通俗解释

本质上,贝叶斯公式描述了在给定新信息的情况下如何更新我们的模型。 为了理解原因,我们将看一个简单的例子:用不公平的硬币抛硬币。 假设我们有一个神奇的硬币! 抛掷时可能出现正面或反面,但概率不一定相等。 问题是&…

贝叶斯公式:通俗的理解

如上文提到的贝叶斯公式,《朴素贝叶斯分类: 使用案例》,可以使用它来做文本分类: 【已知:样本中每个分类下的单词概率ceilPencent, 样本的分类占比(也即概率分布)bodyPencent】 来了一篇文章&am…

用通俗的语言解释贝叶斯公式

传统的机器学习离不开贝叶斯,网上讲的都不够通俗。我就来用白话阐释一下。 先上公式: ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 这个公式讲了一个什么故事呢? 指的是,当新的…

关于贝叶斯公式的解释,通俗易懂(转载)

from: ttps://baijiahao.baidu.com/s?id1578164183121521878&wfrspider&forpc 首先,对于贝叶斯定理,还是要先了解各个概率所对应的事件。 P(A|B) 是在 B 发生的情况下 A 发生的概率; P(A) 是 A 发生的概率; P(B|A) 是…