朴素贝叶斯分类器

定义

存在变量集 U = { U 0 , U 1 , . . . U n } U=\left \{ U_{0},U_{1},...U_{n} \right \} U={U0,U1,...Un},其中 U i = { A 0 , A 1 , . . . , A n , C } U_{i}=\left \{ A_{0},A_{1},...,A_{n},C \right \} Ui={A0,A1,...,An,C},为对象实例, A i A_{i} Ai 为属性变量, C C C 为分类变量。
假定各属性变量独立的作用于分类变量,即各属性变量对分类变量的作用各自独立,这一假定称作类条件独立。这一假定为了简化计算,在此意义下称为“朴素”的。

工作过程

贝叶斯分类的工作过程如下:

**1.**每个数据样本用一个 n 维特征向量 X = ( x 1 , x 2 , . . . , x n ) X=\left ( x_{1},x_{2},...,x_{n} \right ) X=(x1,x2,...,xn) 表示,分别描述该样本的 n 个属性 A 1 , A 2 , . . . , A n A_{1},A_{2},...,A_{n} A1,A2,...,An的度量值。

**2.**假定有 m 个类 C 1 , C 2 , . . . C n C_{1},C_{2},...C_{n} C1,C2,...Cn,给定一个未分类的数据样本 X = ( x 1 , x 2 , . . . , x n ) X=\left ( x_{1},x_{2},...,x_{n} \right ) X=(x1,x2,...,xn)(即没有类标号,但存在类变量),朴素贝叶斯分类将该数据样本分配给类 C i C_{i} Ci,当且仅当 P ( C i ∣ X ) > P ( C j ∣ X ) P\left ( C_{i}|X \right ) > P\left ( C_{j}|X \right ) P(CiX)>P(CjX) 1 ≤ j ≤ m , j ≠ i 1\le j\le m,j\ne i 1jm,j=i
根据贝叶斯定理 P ( C i ∣ X ) = P ( X ∣ C i ) P ( C i ) P ( X ) P\left ( C_{i}|X \right ) =\frac{P\left ( X|C_{i} \right )P\left ( C_{i} \right ) }{P\left ( X \right ) } P(CiX)=P(X)P(XCi)P(Ci),最大化 P ( C i ∣ X ) P\left ( C_{i}|X \right ) P(CiX) 即可对数据样本进行分类, P ( C i ∣ X ) P\left ( C_{i}|X \right ) P(CiX) 最大的类 C i C_{i} Ci称为最大后验假定。

**3.**其中, P ( X ) P\left ( X \right ) P(X) 代表属性集 ( A 1 , A 2 , . . . , A n ) \left ( A_{1},A_{2},...,A_{n} \right ) (A1,A2,...,An) 取值为 ( x 1 , x 2 , . . . , x n ) \left ( x_{1},x_{2},...,x_{n} \right ) (x1,x2,...,xn) 的联合概率,为常数。所以最大化时只需对 P ( X ∣ C i ) P ( C i ) P\left ( X|C_{i} \right ) P\left ( C_{i} \right ) P(XCi)P(Ci)最大化即可。类的先验概率(已知数据样本集中求概率)用 P ( C i ) = s i s P\left ( C_{i} \right ) = \frac{s_{i}}{s} P(Ci)=ssi计算,其中 s i s_{i} si是训练集中类 C C C变量值为 C i C_{i} Ci的样本个数,而 s s s是训练集中的样本总数。

**4.**给定具有许多属性的数据样本集,计算 P ( X ∣ C i ) P\left ( X|C_{i} \right ) P(XCi)的开销可能非常大。为降低计算 P ( X ∣ C i ) P\left ( X|C_{i} \right ) P(XCi)的开销,可以做类条件独立的朴素假设。给定样本的类标号 C i C_{i} Ci(即给出一个类变量的值 C i C_{i} Ci,假定属性值相互条件独立,即在属性间不存在依赖关系。这样,
P ( X ∣ C i ) = ∏ k = 1 n p ( x k ∣ C i ) P\left ( X|C_{i} \right ) = \prod_{k=1}^{n} p\left ( x_{k}|C_{i} \right ) P(XCi)=k=1np(xkCi)

  • A k A_{k} Ak为离散属性,则 P ( x k ∣ C i ) = N ( A K = x k , C = C i ) N ( C = C i ) P\left ( x_{k}|C_{i} \right ) = \frac{N\left ( A_{K}=x_{k},C=C_{i} \right ) }{N\left ( C=C_{i} \right ) } P(xkCi)=N(C=Ci)N(AK=xk,C=Ci),其中 N ( C = C i ) N\left ( C=C_{i} \right ) N(C=Ci)为训练集中类变量值为 C i C_{i} Ci的样本个数, N ( A K = x k , C = C i ) N\left ( A_{K}=x_{k},C=C_{i} \right ) N(AK=xk,C=Ci)为训练集中类变量值为 C i C_{i} Ci且属性 A k A_{k} Ak值为 x k x_{k} xk的样本个数。
  • A k A_{k} Ak为连续值属性,常用的处理方法有两种:一是对其离散化,然后按照离散值处理;另一种是假定这一属性服从某一分布,通常假定该属性服从高斯分布,因而有
    P ( x k ∣ C i ) = g ( x k , u c i , σ c i ) = 1 2 π σ c i e ( x k − u c i ) 2 2 σ c i 2 P\left ( x_{k}|C_{i} \right ) = g\left ( x_{k},u_{c_{i}},\sigma_{c_{i}} \right ) = \frac{1}{\sqrt{2\pi \sigma_{c_{i}}} }e^{\frac{\left ( x_{k} - u_{c_{i}} \right )^{2} }{2\sigma_{c_{i}}^{2} } } P(xkCi)=g(xk,uci,σci)=2πσci 1e2σci2(xkuci)2
    其中 x k x_{k} xk为训练集中所属 C i C_{i} Ci类的样本属性 A k A_{k} Ak的属性值, g ( x k , u c i , σ c i ) g\left ( x_{k},u_{c_{i}},\sigma_{c_{i}} \right ) g(xk,uci,σci)是属性 A k A_{k} Ak的高斯密度函数,而 u c i , σ c i u_{c_{i}},\sigma_{c_{i}} uci,σci分别为期望和标准差。

对未知所属类的样本分类,对每个类 C i C_{i} Ci,计算 P ( X ∣ C i ) P ( C i ) P\left ( X|C_{i} \right ) P\left ( C_{i} \right ) P(XCi)P(Ci)(上述4步算出来的),样本 X X X被指派到类 C i C_{i} Ci,当且仅当 P ( X ∣ C i ) P ( C i ) > P ( X ∣ C j ) P ( C j ) , 1 ≤ i , j ≤ m , j ≠ i P\left ( X|C_{i} \right ) P\left ( C_{i} \right ) > P\left ( X|C_{j} \right ) P\left ( C_{j} \right ),1\le i,j\le m,j\ne i P(XCi)P(Ci)>P(XCj)P(Cj),1i,jm,j=i,换言之, X X X被指派到其 P ( X ∣ C i ) P ( C i ) P\left ( X|C_{i} \right ) P\left ( C_{i} \right ) P(XCi)P(Ci)最大的类 C i C_{i} Ci.
经过以上步骤后,新样本分类完毕。

算法优点

朴素贝叶斯分类模型的优点:

  • 算法逻辑简单,易于实现;
  • 算法实施的时间、空间开销小;
  • 算法性能稳定,对于不同特点的数据其分类性能差别不大,即模型的健壮性比较好。

本文链接:https://my.lmcjl.com/post/1739.html

展开阅读全文

4 评论

留下您的评论.