《机器学习》-周志华 第七章:贝叶斯分类器 读书笔记

文章目录

      • 7.贝叶斯分类器
        • 7.1 贝叶斯决策论
          • 7.1.1原理
          • 7.1.2获得后验概率的两种策略
        • 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(cix)=j=1NλijP(cjx)
其中 λ 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(cix)=1P(cix)
总体风险最小化

需要找到一个将样本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)=argcyminR(cx)=argcymaxP(cx)
即每个样本选择能使后验概率 P ( c ∣ x ) P(c|x) P(cx)最大的类标记

7.1.2获得后验概率的两种策略
  • 判别模式:给定x,通过直接建模 p ( c ∣ x ) p(c|x) p(cx)来预测c
  • 生成模式:对联合概率分布 p ( x , c ) p(x,c) p(x,c)建模,再由此获得 p ( c ∣ x ) p(c|x) p(cx)
    基于贝叶斯定理:
    p ( c ∣ x ) = p ( c ) p ( x ∣ c ) p ( x ) p(c|x) = \frac{p(c)p(x|c)}{p(x)} p(cx)=p(x)p(c)p(xc)
    根据大数定律,当训练集中包括足够的独立同分布样本时, 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(cx)=p(x)p(c)i=1dp(xic)
其中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=1dp(xic)

  • 对于离散属性
    p ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ p(x_i|c) = \frac{|D_{c,x_i}|}{|D_c|} p(xic)=DcDc,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(xic)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(xic)=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^(xic)=D+NDc+1=Dc+NiDc,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(cx)P(c)i=1dP(xic,pai)
    其中 p a i pa_i pai是属性 x i x_i xi所依赖的属性,称为其父属性。

下图是朴素贝叶斯与SPODE和TAN半朴素贝叶斯考虑的属性依赖关系。

《机器学习》-周志华 第七章:贝叶斯分类器 读书笔记_第1张图片
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(cx)i=1,DximdP(c,xi)j=1dP(xjc,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(cxi)P^(xjc,xi)=D+NiDc,xi+1=Dc,xi+NjDc,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,xjc)=i,j,cP(xi,xjc)logP(xic)P(xjc)P(xi,xjc)
  • 以属性为结点构建完全图,将任意两个节点间边的权重设为 I ( x i , x j ∣ y ) I(x_i,x_j|y) I(xi,xjy)
  • 构建此完全图的最大带权生成树,挑选根变量,将边设为有向
  • 加入类别节点y,增加y到每个属性的有向边。

你可能感兴趣的:(《机器学习》-周志华)