机器学习算法系列(十三)-朴素贝叶斯分类算法(Naive Bayes Classifier Algorithm)

阅读本文需要的背景知识点:一丢丢编程知识

一、引言

  前面几节介绍了一类分类算法——线性判别分析、二次判别分析,接下来介绍另一类分类算法——朴素贝叶斯分类算法1 (Naive Bayes Classifier Algorithm/NB)。朴素贝叶斯分类算法在文本分类和自动医疗诊断的领域中有应用到。

二、模型介绍

条件独立2

  在学习朴素贝叶斯分类算法之前,先来看下在概率论中的一个概念——条件独立(conditional independence)

两个随机变量 X 和 Y 在给定第三个随机变量 Z 的情况下条件独立当且仅当它们在给定 Z 时的条件概率分布互相独立,也就是说,给定Z的任一值,X 的概率分布和Y的值无关,Y 的概率分布也和X的值无关。

  根据维基百科中给出的定义,可以表示为如下式子:

P ( X , Y ∣ Z ) = P ( X ∣ Z ) P ( Y ∣ Z ) P(X, Y \mid Z)=P(X \mid Z) P(Y \mid Z) P(X,YZ)=P(XZ)P(YZ)

  同时上式又等价于下式,在(1)中Y对 X 的条件概率没有影响,同理在(2)中 X 对 Y 的条件概率也没有影响:

P ( X ∣ Y , Z ) = P ( X ∣ Z ) P ( Y ∣ X , Z ) = P ( Y ∣ Z ) \begin{aligned} P(X \mid Y, Z)=P(X \mid Z) \\ P(Y \mid X, Z)=P(Y \mid Z) \end{aligned} P(XY,Z)=P(XZ)P(YX,Z)=P(YZ)

朴素贝叶斯分类

  同概率分布角度的判别分析一样,也是使用最大后验概率估计。朴素贝叶斯分类算法有一个前提条件——假设各特征变量之间是条件独立的,这也是被称为“朴素”的原因。

(1)假设函数表达式

(2)改写一下,特征变量 x 为 p 维

(3)用贝叶斯定理变换一下

(4)由于分母对最后的结果不影响,不依赖与分类,可以认为是一个常数

(5)根据假设各特征变量之间是条件独立的,所以可以改写成乘积的形式

(6)用连乘符号简化一下

h ( x ) = argmax ⁡ k P ( k ∣ x ) ( 1 ) = argmax ⁡ k P ( k ∣ x 1 , x 2 , … , x p ) ( 2 ) = argmax ⁡ k P ( k ) P ( x 1 , x 2 , … , x p ∣ k ) P ( x 1 , x 2 , … , x p ) ( 3 ) = argmax ⁡ k P ( k ) P ( x 1 , x 2 , … , x p ∣ k ) ( 4 ) = argmax ⁡ k P ( k ) P ( x 1 ∣ k ) P ( x 2 ∣ k ) … P ( x p ∣ k ) ( 5 ) = argmax ⁡ k P ( k ) ∏ i = 1 p P ( x i ∣ k ) ( 6 ) \begin{aligned} h(x) &=\underset{k}{\operatorname{argmax}} P(k \mid x) & (1) \\ &=\underset{k}{\operatorname{argmax}} P\left(k \mid x_{1}, x_{2}, \ldots, x_{p}\right) & (2) \\ &=\underset{k}{\operatorname{argmax}} \frac{P(k) P\left(x_{1}, x_{2}, \ldots, x_{p} \mid k\right)}{P\left(x_{1}, x_{2}, \ldots, x_{p}\right)} & (3) \\ &=\underset{k}{\operatorname{argmax}} P(k) P\left(x_{1}, x_{2}, \ldots, x_{p} \mid k\right) & (4) \\ &=\underset{k}{\operatorname{argmax}} P(k) P\left(x_{1} \mid k\right) P\left(x_{2} \mid k\right) \ldots P\left(x_{p} \mid k\right) & (5) \\ &=\underset{k}{\operatorname{argmax}} P(k) \prod_{i=1}^{p} P\left(x_{i} \mid k\right) & (6) \end{aligned} h(x)=kargmaxP(kx)=kargmaxP(kx1,x2,,xp)=kargmaxP(x1,x2,,xp)P(k)P(x1,x2,,xpk)=kargmaxP(k)P(x1,x2,,xpk)=kargmaxP(k)P(x1k)P(x2k)P(xpk)=kargmaxP(k)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值