ml
  • Introduction
  • 机器学习基础
    • 机器学习基础_距离
    • 机器学习基础_概率论基础
    • 机器学习基础_线性代数基础
    • 机器学习基础_微积分基础
    • 机器学习基础_最优化理论
    • 机器学习基础_损失函数
  • 特征工程
    • 特征工程_归一化
    • 特征工程_编码
    • 特征工程_特征组合
    • 特征工程_特征选择
    • 特征工程_文本表示模型
    • 特征工程_图像增强
  • 模型评估
    • 模型评估_评估指标
    • 模型评估_AB测试
    • 模型评估_过拟合和欠拟合
    • 模型评估_超参数选择
    • 模型评估_模型评估方法
  • 降维
    • 降维_PCA主成分分析
    • 降维_LDA线性判别分析
  • 监督学习
    • 监督学习_朴素贝叶斯分类
    • 监督学习_决策树
    • 监督学习_K近邻法
    • 监督学习_支持向量机
    • 监督学习_CRF
  • 非监督学习
    • 非监督学习_K均值
    • 非监督学习_Mean_Shift均值漂移聚类
    • 非监督学习_DBSCAN基于密度的聚类方法
    • 非监督学习_Hierarchical_Clustering层次聚类
    • 非监督学习_Spectral_Clustering谱聚类
  • 半监督学习
  • 集成学习
  • 强化学习
Powered by GitBook
On this page
  • 朴素贝叶斯分类(Naive Bayesian)
  • 贝叶斯定理
  • 全概率公式
  • 流程步骤
  • 例子
  • 朴素贝叶斯的概率模型

Was this helpful?

  1. 监督学习

监督学习_朴素贝叶斯分类

Previous监督学习Next监督学习_决策树

Last updated 3 years ago

Was this helpful?

[TOC]

朴素贝叶斯分类(Naive Bayesian)

贝叶斯定理是关于随机事件A和B的条件概率的一则定理。

通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的,但它们两者之间是有确定的关系的,贝叶斯定理陈述了这个关系。

贝叶斯定理的一个主要应用为贝叶斯推理,它是一种建立在主观判断基础之上的推理方法,也就是说,你只需要先预估一个值,然后再去根据实际结果去不断修正,不需要任何客观因素。

这种推理方式需要大量的计算,因此一直遭到其他人的诟病,无法得到广泛的应用,直到计算机的高速发展,并且人们发现很多事情都是无法事先进行客观判断的,因此贝叶斯推理才得以东山再起。

贝叶斯定理

P(A∣B)=P(B∣A)P(A)P(B)P(A|B)=\frac{P(B|A)P(A)}{P(B)}P(A∣B)=P(B)P(B∣A)P(A)​
  • P(A∣B)P(A|B)P(A∣B): 在BBB条件下的事件AAA的概率,在贝叶斯定理中,条件概率也被称为后验概率,即在事件BBB发生之后,我们对事件AAA概率的重新评估。

  • P(B∣A)P(B|A)P(B∣A): 在AAA条件下的事件BBB的概率,与上一条同理。

  • P(A)P(A)P(A)与P(B)P(B)P(B)被称为先验概率(也被称为边缘概率),即在事件BBB发生之前,对事件AAA概率的一个推断(不考虑任何事件BBB方面的因素),后面同理。

  • P(B∣A)P(B)\frac{P(B|A)}{P(B)}P(B)P(B∣A)​被称为标准相似度,它是一个调整因子,主要是为了保证预测概率更接近真实概率。

根据这些术语,贝叶斯定理表述为:后验概率=标准相似度∗先验概率后验概率=标准相似度*先验概率后验概率=标准相似度∗先验概率。

全概率公式

全概率公式是将边缘概率与条件概率关联起来的基本规则,它表示了一个结果的总概率

可以通过几个不同的事件来实现 全概率公式将对一复杂事件的概率求解问题转化为了在不同情况下发生的简单事件的概率的求和问题

P(B)=∑i=1nP(Ai)P(B∣Ai)P(B)=\sum_i=1{}^{n}{P(A_{i})P(B|A_i)}P(B)=i∑​=1nP(Ai​)P(B∣Ai​)

假定一个样本空间SSS,它是两个事件AAA与CCC之和,同时事件BBB与它们两个都有交集,如下图所示:

那么事件BBB的概率可以表示为P(B)=P(B∩A)+P(B∩C)P(B)=P(B \cap A)+P(B \cap C)P(B)=P(B∩A)+P(B∩C)

通过条件概率,可以推断出P(B∩A)=P(B∣A)P(A)P(B \cap A)=P(B|A)P(A)P(B∩A)=P(B∣A)P(A),所以P(B)=P(B∣A)P(A)+P(B∣C)P(C)P(B)=P(B|A)P(A)+P(B|C)P(C)P(B)=P(B∣A)P(A)+P(B∣C)P(C)

这就是全概率公式,即事件B的概率等于事件A与事件C的概率分别乘以B对这两个事件的条件概率之和。

流程步骤

输入:训练数据T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1 ),(x_2,y_2 ),...,(x_N,y_N )\}T={(x1​,y1​),(x2​,y2​),...,(xN​,yN​)},其中xi=(xi(1),xi(2),...,xi(N))Tx_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(N)})^Txi​=(xi(1)​,xi(2)​,...,xi(N)​)T,xi(j)x_i^{(j)}xi(j)​是第i个个个样本的第jjj个特征,xi(j)∈{aj1,aj2,...,ajSj}x_i^{(j)} \in \{ a_{j1},a_{j2},...,a_{jS_j} \}xi(j)​∈{aj1​,aj2​,...,ajSj​​},ajla_{jl}ajl​是第jjj个特征可能取的第lll个值,j=1,2,...,nj=1,2,...,nj=1,2,...,n,l=1,2,...,Sjl=1,2,...,S_jl=1,2,...,Sj​ ,yi∈{c1,c2,...cK}y_i \in \{c_1,c_2,...c_K \}yi​∈{c1​,c2​,...cK​};实例xxx;

输出:实例xxx的分类

  1. 计算先验概率及条件概率

P(Y=ck)=∑i=1NI(yi=ck)N,k=1,2,...,KP(X(j)=ajl∣Y=ck)=∑i=1NI(xi(j)=ajl,yi=ck)∑i=1NI(yi=ck)j=1,2,...n;l=1,2,...,Sj;k=1,2,...,KP(Y=c_k)=\frac{\sum_{i=1}^{N}{I(y_i=c_k)}}{N},k=1,2,...,K \\ P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}{I(x_i^{(j)}=a_{jl},y_i=c_k)}}{\sum_{i=1}^{N}{I(y_i=c_k)}} \\ j=1,2,...n;l=1,2,...,S_j;k=1,2,...,KP(Y=ck​)=N∑i=1N​I(yi​=ck​)​,k=1,2,...,KP(X(j)=ajl​∣Y=ck​)=∑i=1N​I(yi​=ck​)∑i=1N​I(xi(j)​=ajl​,yi​=ck​)​j=1,2,...n;l=1,2,...,Sj​;k=1,2,...,K
  1. 对于给定的实例x=(x(1),x(2),...,x(n))Tx=(x^{(1)},x^{(2)},...,x^{(n)})^Tx=(x(1),x(2),...,x(n))T,计算

P(Y=ck)∏j=1nP(X(j)=x(j)∣Y=ck),k=1,2,...,KP(Y=c_k)\prod_{j=1}^{n}{P(X^{(j)}=x^{(j)}|Y=c_k}),k=1,2,...,KP(Y=ck​)j=1∏n​P(X(j)=x(j)∣Y=ck​),k=1,2,...,K
  1. 确定实例xxx的类

y=arg⁡max⁡ckP(Y=ck∏j=1nP(X(j)=x(j)∣Y=ck)y=\arg\max_{c_k}P(Y=c_k\prod_{j=1}^{n}{P(X^{(j)}=x^{(j)}|Y=c_k)}y=argck​max​P(Y=ck​j=1∏n​P(X(j)=x(j)∣Y=ck​)

例子

Example1: 假设有两家工厂生产并对外提供电灯泡

工厂X生产的电灯泡在99%的情况下能够工作超过5000 小时,

工厂Y生产的电灯泡在95%的情况下能够工作超过5000小时。

工厂X在市场的占有率为60%,工厂Y为40%,

如何推测出购买的灯泡的工作时间超过5000小时的概率是多少呢?

运用全概率公式,可以得出:

Pr(A)=Pr(A∣Bx).Pr(Bx)+Pr(A∣By).Pr(By)=99100.610+95100.410=9741000Pr(A)=Pr(A|B_x).Pr(B_x)+Pr(A|B_y).Pr(B_y)=\frac{99}{100}.\frac{6}{10}+\frac{95}{100}.\frac{4}{10}=\frac{974}{1000}Pr(A)=Pr(A∣Bx​).Pr(Bx​)+Pr(A∣By​).Pr(By​)=10099​.106​+10095​.104​=1000974​
  • Pr(Bx)=610Pr(B_x)=\frac{6}{10}Pr(Bx​)=106​: 购买到工厂X制造的电灯泡的概率。

  • Pr(By)=410Pr(B_y)=\frac{4}{10}Pr(By​)=104​: 购买到工厂y制造的电灯泡的概率。

  • Pr(A∣Bx)=99100Pr(A|B_x)=\frac{99}{100}Pr(A∣Bx​)=10099​: 工厂x制造的电灯泡工作时间超过5000小时的概率。

  • Pr(A∣By)=95100Pr(A|B_y)=\frac{95}{100}Pr(A∣By​)=10095​ : 工厂y制造的电灯泡工作时间超过5000小时的概率。

因此,可以得知购买一个工作时间超过5000小时的电灯泡的概率为97.4%。

Example2: 试由表的训练数据学习一个朴素贝叶斯分类器并确定x=(2,S)Tx=(2,S)^Tx=(2,S)T的类标记yyy。

表中X(1)X^{(1)}X(1) ,X(2)X^{(2)}X(2)为特征,取值集合分别为A1={1,2,3}A_1=\{1,2,3\} A1​={1,2,3},A2={S,M,L}A_2=\{S,M,L\}A2​={S,M,L},YYY为类标记,Y∈C={1,−1}Y \in C =\{1,-1\}Y∈C={1,−1}。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

1

1

1

1

1

2

2

2

2

2

3

3

3

3

3

S

M

M

S

S

S

M

M

L

L

L

M

M

L

L

-1

-1

1

1

-1

-1

-1

1

1

1

1

1

1

1

-1

解  根据算法,由表容易计算下列概率:

P(Y=1)=1017,P(Y=−1)=717P(X(1)=1∣Y=1)=312,P(X(1)=2∣Y=1)=412,P(X(1)=3∣Y=1)=512P(X(2)=S∣Y=1)=212,P(X(2)=M∣Y=1)=512,P(X(2)=L∣Y=1)=512P(X(1)=1∣Y=−1)=49,P(X(1)=2∣Y=−1)=39,P(X(1)=3∣Y=−1)=29P(X(2)=S∣Y=−1)=49,P(X(2)=M∣Y=−1)=39,P(X(2)=L∣Y=−1)=29P(Y=1)=\frac{10}{17},P(Y=-1)=\frac{7}{17} \\ P(X^{(1)}=1|Y=1)=\frac{3}{12},P(X^{(1)}=2|Y=1)=\frac{4}{12},P(X^{(1)}=3|Y=1)=\frac{5}{12} \\ P(X^{(2)}=S|Y=1)=\frac{2}{12},P(X^{(2)}=M|Y=1)=\frac{5}{12},P(X^{(2)}=L|Y=1)=\frac{5}{12} \\ P(X^{(1)}=1|Y=-1)=\frac{4}{9},P(X^{(1)}=2|Y=-1)=\frac{3}{9},P(X^{(1)}=3|Y=-1)=\frac{2}{9} \\ P(X^{(2)}=S|Y=-1)=\frac{4}{9},P(X^{(2)}=M|Y=-1)=\frac{3}{9},P(X^{(2)}=L|Y=-1)=\frac{2}{9}P(Y=1)=1710​,P(Y=−1)=177​P(X(1)=1∣Y=1)=123​,P(X(1)=2∣Y=1)=124​,P(X(1)=3∣Y=1)=125​P(X(2)=S∣Y=1)=122​,P(X(2)=M∣Y=1)=125​,P(X(2)=L∣Y=1)=125​P(X(1)=1∣Y=−1)=94​,P(X(1)=2∣Y=−1)=93​,P(X(1)=3∣Y=−1)=92​P(X(2)=S∣Y=−1)=94​,P(X(2)=M∣Y=−1)=93​,P(X(2)=L∣Y=−1)=92​

对于给定的x=(2,S)Tx=(2,S)^Tx=(2,S)T计算:

P(Y=1)P(X(1)=2∣Y=1)P(X(2)=S∣Y=1)=915.39.19=145P(Y=−1)P(X(1)=2∣Y=−1)P(X(2)=S∣Y=−1)=615.26.36=115P(Y=1)P(X^{(1)}=2|Y=1)P(X^{(2)}=S|Y=1)=\frac{9}{15}.\frac{3}{9}.\frac{1}{9}=\frac{1}{45} \\ P(Y=-1)P(X^{(1)}=2|Y=-1)P(X^{(2)}=S|Y=-1)=\frac{6}{15}.\frac{2}{6}.\frac{3}{6}=\frac{1}{15}P(Y=1)P(X(1)=2∣Y=1)P(X(2)=S∣Y=1)=159​.93​.91​=451​P(Y=−1)P(X(1)=2∣Y=−1)P(X(2)=S∣Y=−1)=156​.62​.63​=151​

因为P(Y=−1)P(X(1)=2∣Y=−1)P(X(2)=S∣Y=−1)P(Y=-1)P(X^{(1)}=2|Y=-1)P(X^{(2)}=S|Y=-1)P(Y=−1)P(X(1)=2∣Y=−1)P(X(2)=S∣Y=−1)最大,所以y=−1y=-1y=−1。

朴素贝叶斯的概率模型

我们设一个待分类项X=f1,f2,...,fnX=f_1,f_2,...,f_nX=f1​,f2​,...,fn​,其中每个fff为xxx的一个特征属性,然后设一个类别集合C1,C2,...,CmC_1, C_2,...,C_mC1​,C2​,...,Cm​

然后需要计算P(C1∣X),P(C2∣X),...,P(Cm∣X)P(C_1|X),P(C_2|X),...,P(C_m|X)P(C1​∣X),P(C2​∣X),...,P(Cm​∣X),我们可以根据一个训练样本集合(已知分类的待分类项集合),然后统计得到在各类别下各个特征属性的条件概率:

P(f1∣C1),P(f1∣C1),...P(fn∣C1),...,P(f1∣C2),P(f2∣C2),...P(fn∣C2,...,P(f1∣Cm),P(f2∣Cm),...,P(fn∣Cm),P(f_1|C_1),P(f_1|C_1),...P(f_n|C_1),...,P(f_1|C_2),P(f_2|C_2), \\ ...P(f_n|C_2,...,P(f_1|C_m),P(f_2|C_m),...,P(f_n|C_m),P(f1​∣C1​),P(f1​∣C1​),...P(fn​∣C1​),...,P(f1​∣C2​),P(f2​∣C2​),...P(fn​∣C2​,...,P(f1​∣Cm​),P(f2​∣Cm​),...,P(fn​∣Cm​),

如果P(Ck∣X)=MAX(P(C1∣X),P(C2∣X),...,P(CmlX))P(C_k|X)=MAX(P(C_1|X),P(C_2|X),...,P(C_mlX))P(Ck​∣X)=MAX(P(C1​∣X),P(C2​∣X),...,P(Cm​lX)),则X∈CkX \in C_kX∈Ck​(贝叶斯分类其实就是取概率最大的那一个)。 朴素贝叶斯会假设每个特征都是独立的,根据贝叶斯定理可推得:

P(Ci∣X)=P(X∣Ci)P(Ci)P(X)P(C_i|X)=\frac{P(X|C_i)P(C_i)}{P(X)}P(Ci​∣X)=P(X)P(X∣Ci​)P(Ci​)​

由于分母对于所有类别为常数,因 此只需要将分子最大化即可,又因为各特征是互相独立的,所以最终推得:

P(X∣Ci)P(Ci)=P(f1∣Ci)P(f2∣Ci),...,P(fn∣Ci)P(Ci)=P(Ci)∏j=1nP(fj∣Ci)P(X|C_i)P(C_i)=P(f_1|C_i)P(f_2|C_i),...,P(f_n|C_i)P(C_i)=P(C_i)\prod_{j=1}^{n}{P(f_j|C_i)}P(X∣Ci​)P(Ci​)=P(f1​∣Ci​)P(f2​∣Ci​),...,P(fn​∣Ci​)P(Ci​)=P(Ci​)j=1∏n​P(fj​∣Ci​)

x(1)x^{(1)}x(1)
x(2)x^{(2)}x(2)
YYY
新手入门:带你搞懂朴素贝叶斯分类算法
异世界.png
1570013984975