文章目录
- 7.贝叶斯分类器
- 7.1 贝叶斯决策论
- 7.2朴素贝叶斯分类器
- 7.3 半朴素贝叶斯
- 7.3.1 SPODE(super parent one dependent estimator)
- 7.3.2 AODE(averaged obe-dependent estimator)
- 7.3.3 TAN(tree augmented naive bayes)
7.贝叶斯分类器
7.1 贝叶斯决策论
- 是在概率框架下实施决策的基本方法。
- 对于分类任务,在所有的相关概率都已知的情况下,考虑如何基于这些概率和误判损失选择最优的类别标记
7.1.1原理
设有N种可能类标记, y = { c 1 , c 2 , ⋯   , c N } y=\{c_1,c_2,\cdots,c_N\} y={c1,c2,⋯,cN}; λ i j \lambda_{ij} λij是将真实标记 c j c_j cj样本误标记为 c i c_i ci产生的误差。
样本条件风险
由于误标记产生的期望损失,即在样本上的“条件风险”为
R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i|x)=\sum_{j=1}^N\lambda_{ij}P(c_j|x) R(ci∣x)=j=1∑NλijP(cj∣x)
其中 λ i j \lambda_{ij} λij可以写作
λ i j = { 0 , i f i = j 1 , o t h e r w i s e \lambda_{ij} = \begin{cases} 0,& if \quad i=j \\1, &otherwise\end{cases} λij={0,1,ifi=jotherwise
那么条件风险可以表示为
R ( c i ∣ x ) = 1 − P ( c i ∣ x ) R(c_i|x) = 1- P(c_i|x) R(ci∣x)=1−P(ci∣x)
总体风险最小化
需要找到一个将样本x判定为类别 h ( x ) h(x) h(x)的判定准则,使得总体风险最小化
min R ( h ) = E x [ R ( h ( x ) ∣ x ) ] \min R(h)=E_x[R(h(x)|x)] minR(h)=Ex[R(h(x)∣x)]
贝叶斯判定准则
贝叶斯判定准则(bayes decision rules):为了最小化总体风险,每个样本选择能使自身条件风险最小的类别标记,即
h ∗ ( x ) = arg c ∈ y min R ( c ∣ x ) = a r g c ∈ y max P ( c ∣ x ) h^*(x) = \arg_{c \in y} \min R(c|x) = arg_{c \in y} \max P(c|x) h∗(x)=argc∈yminR(c∣x)=argc∈ymaxP(c∣x)
即每个样本选择能使后验概率 P ( c ∣ x ) P(c|x) P(c∣x)最大的类标记
7.1.2获得后验概率的两种策略
- 判别模式:给定x,通过直接建模 p ( c ∣ x ) p(c|x) p(c∣x)来预测c
- 生成模式:对联合概率分布 p ( x , c ) p(x,c) p(x,c)建模,再由此获得 p ( c ∣ x ) p(c|x) p(c∣x)
基于贝叶斯定理:
p ( c ∣ x ) = p ( c ) p ( x ∣ c ) p ( x ) p(c|x) = \frac{p(c)p(x|c)}{p(x)} p(c∣x)=p(x)p(c)p(x∣c)
根据大数定律,当训练集中包括足够的独立同分布样本时, p ( c ) p(c) p(c)可通过个类样本出现的频率来进行估计
7.2朴素贝叶斯分类器
采用了属性条件独立假设:假设所有的属性相互独立。
p ( c ∣ x ) = p ( c ) p ( x ) ∏ i = 1 d p ( x i ∣ c ) p(c|x) = \frac{p(c)}{p(x)}\prod_{i=1}^dp(x_i|c) p(c∣x)=p(x)p(c)i=1∏dp(xi∣c)
其中d是属性数目, x i x_i xi是样本x在第i个属性上的取值。根据贝叶斯判定准则有
h ( x ) = arg max p ( c ) ∏ i = 1 d p ( x i ∣ c ) h(x) = \arg \max p(c)\prod_{i=1}^dp(x_i|c) h(x)=argmaxp(c)i=1∏dp(xi∣c)
- 对于离散属性
p ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ p(x_i|c) = \frac{|D_{c,x_i}|}{|D_c|} p(xi∣c)=∣Dc∣∣Dc,xi∣
- 对于连续属性
举例:假设 p ( x i ∣ c ) ∼ N ( μ c , i , σ c , i 2 ) p(x_i|c) \sim N(\mu_{c,i},\sigma_{c,i}^2) p(xi∣c)∼N(μc,i,σc,i2),其中 μ c , i , σ c , i 2 \mu_{c,i},\sigma_{c,i}^2 μc,i,σc,i2是第c类样本在属性i上的均值和方差
p ( x i ∣ c ) = 1 2 π σ c , i e x p ( − ( x i − μ c , i ) 2 2 σ c , i 2 ) p(x_i|c) = \frac{1}{\sqrt{2\pi}\sigma_{c,i}}exp(-\frac{(x_i - \mu_{c,i})^2}{2 \sigma_{c,i}^2}) p(xi∣c)=2π σc,i1exp(−2σc,i2(xi−μc,i)2)
- 拉普拉斯修正:
有时某个属性值与某个类没有同时出现,此时由于样本不充分导致概率估值为0。因此在估计概率值时进行“平滑”。
P ^ ( c ) = ∣ D c ∣ + 1 ∣ D ∣ + N P ^ ( x i ∣ c ) = ∣ D c , x i ∣ + 1 ∣ D c ∣ + N i \begin{aligned} \hat P(c) &= \frac{|D_c| + 1}{|D|+N}\\ \hat P(x_i|c) &= \frac{|D_{c,x_i}|+1}{|D_c|+N_i} \end{aligned} P^(c)P^(xi∣c)=∣D∣+N∣Dc∣+1=∣Dc∣+Ni∣Dc,xi∣+1
其中N时训练集中可能的类别数目, N i N_i Ni是第i个属性可能的取值数目。
当训练集变大时,修正过程引入的先验影响也会逐渐可忽略。
7.3 半朴素贝叶斯
- 朴素贝叶斯假设属性条件独立
- 半朴素贝叶斯适当考虑一部分属性间的相互依赖信息。
- 独依赖估计(one-dependent estimator,ODE):假设每个属性在类别外最多依赖一个其他属性。即
P ( c ∣ x ) ∝ P ( c ) ∏ i = 1 d P ( x i ∣ c , p a i ) P(c|x) \propto P(c)\prod_{i=1}^dP(x_i|c,pa_i) P(c∣x)∝P(c)i=1∏dP(xi∣c,pai)
其中 p a i pa_i pai是属性 x i x_i xi所依赖的属性,称为其父属性。
下图是朴素贝叶斯与SPODE和TAN半朴素贝叶斯考虑的属性依赖关系。
7.3.1 SPODE(super parent one dependent estimator)
假设所有的属性都依赖于同一个属性,称为“超父”
7.3.2 AODE(averaged obe-dependent estimator)
尝试将每个属性作为超父构建SPODE,将有足够训练数据支撑的SPODE集成起来作为最终结果。
P ( c ∣ x ) ∝ ∑ i = 1 , ∣ D x i ∣ ≥ m ′ d P ( c , x i ) ∏ j = 1 d P ( x j ∣ c , x i ) P(c|x) \propto \sum_{i=1,|D_{x_i}|\geq m\prime}^d P(c,x_i)\prod_{j=1}^d P(x_j|c,x_i) P(c∣x)∝i=1,∣Dxi∣≥m′∑dP(c,xi)j=1∏dP(xj∣c,xi)
其中 D x i D_{x_i} Dxi是在i属性上取值 x i x_i xi的样本集合, m ′ m\prime m′是阈值常数,大于此阈值时认为有足够的训练数据支撑。
P ( c ∣ x i ) = ∣ D c , x i ∣ + 1 ∣ D ∣ + N i P ^ ( x j ∣ c , x i ) = ∣ D c , x i , x j ∣ + 1 ∣ D c , x i ∣ + N j \begin{aligned} P(c|x_i)&=\frac{|D_{c,x_i}|+1}{|D|+N_i} \\ \hat P(x_j|c,x_i)&=\frac{|D_{c,x_i,x_j}|+1}{|D_{c,x_i}|+N_j} \end{aligned} P(c∣xi)P^(xj∣c,xi)=∣D∣+Ni∣Dc,xi∣+1=∣Dc,xi∣+Nj∣Dc,xi,xj∣+1
7.3.3 TAN(tree augmented naive bayes)
在最大带权生成树的基础上,将属性间的依赖关系约减为树形结构。
- 计算任意两属性间的条件互信息
I ( x i , x j ∣ c ) = ∑ 属 性 i , j , 类 别 c 的 所 有 可 能 取 值 P ( x i , x j ∣ c ) log P ( x i , x j ∣ c ) P ( x i ∣ c ) P ( x j ∣ c ) I(x_i,x_j|c) = \sum_{属性i,j,类别c的所有可能取值} P(x_i,x_j|c)\log\frac{P(x_i,x_j|c)}{P(x_i|c)P(x_j|c)} I(xi,xj∣c)=属性i,j,类别c的所有可能取值∑P(xi,xj∣c)logP(xi∣c)P(xj∣c)P(xi,xj∣c)
- 以属性为结点构建完全图,将任意两个节点间边的权重设为 I ( x i , x j ∣ y ) I(x_i,x_j|y) I(xi,xj∣y)
- 构建此完全图的最大带权生成树,挑选根变量,将边设为有向
- 加入类别节点y,增加y到每个属性的有向边。