朴素贝叶斯法

朴素贝叶斯(native Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。

对于给定的训练集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入$x $,利用贝叶斯定理求出后验概率最大的输出$y$。

1. 基本方法

假设输入空间$\mathcal{X}\subseteq R^n$为$n$维向量的集合,输出空间为类标记集合$\mathcal{Y}={c_1, c_2,...,c_K}$。输入为特征向量$x\in \mathcal{X}$,输出为类标记$y\in \mathcal{Y}$。$X$是定义在输入空间$\mathcal{X}$上的随机向量,$Y$是定义在输出空间$\mathcal{Y}$上的随机变量。$P(X,Y)$是$X$和$Y$的联合概率分布。训练数据集$T={(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)})}$是由$P(X,Y)$独立同分布产生的,其中每个$x=(x_1, x_2,...,x_n)$是$n$维向量。

朴素贝叶斯法通过对给定的输入$x$,通过学习到的模型计算后验概率分布$P(Y=c_k|X=x)$,然后将后验概率最大的类作为$x $的输出。计算后验概率:

$$ P(Y=c_k|X=x)=\dfrac{P(Y=c_k, X=x)}{P(X=x)}=\dfrac{P(X=x|Y=c_k)P(Y=c_k)}{\displaystyle\sum_{k=1}^KP(X=x|Y=c_k)P(Y=c_k)} $$

其中$k=1,2,...,K$,可以看到分母对于所有的类标记$c_k$都是相同的,则可以得到输出

$$ y=\arg \max_{c_k}P(X=x|Y=c_k)P(Y=c_k) $$

其中

$$ P(Y=c_k), \ k=1,2,...,K $$

先验概率分布。

$$ P(X=x|Y=c_k)=P(X_1=x_1, X_2=x_2,...,X_n=x_n|Y=c_k), \ k=1,2,...,K $$

是条件概率分布(似然函数)。假定条件概率分布中的每个特征是条件独立的,则

$$ P(X=x|Y=c_k)=\prod_{j=1}^n P(X_j=x_j|Y=c_k) $$

这一假设使得朴素贝叶斯法变得简单,但是会牺牲一定的分类准确率。

于是代入,可以得到:

$$ y=f(x)=\arg \max_{c_k}\prod_{j=1}^n P(X_j=x_j|Y=c_k)P(Y=c_k) $$

朴素贝叶斯法属于生成模型(模型给定了输入$X$产生输出$Y$的生成关系,区别于判别模型

2. 模型的原理

首先,定义0-1损失函数:

$$ L(Y,f(X)) = \begin{cases} 1 &\text{if }Y{\neq}f(X) \ 0 &\text{if }Y{=}f(X) \end{cases} $$

其中$f(X)$是分类决策函数的预测值,$Y$是真实值。这时,损失函数的期望是

$$ R_{exp}(f)=E[L(Y,f(X))] $$

对于输入$X=x$,计算$X=x$条件下的期望损失函数,即条件期望

$$ E[L(Y,f(X=x))|X=x]=\displaystyle\sum_{k=1}^KL(c_k, f(X=x))P(c_k|X=x) $$

则在$X=x$条件下,求得期望风险最小化,

$$ f(x)=\arg\min_{y\in \mathcal{Y}}\displaystyle\sum_{k=1}^KL(c_k, y)P(c_k|X=x) $$

也就是计算每一个$y\in \mathcal{Y}$,计算其条件期望,并找出其中的最小值时的$y$作为输出。

同时$y=c_k$时,$L(c_k, y)=0$,则

$$ f(x)=\arg\min_{y\in \mathcal{Y}}\displaystyle\sum_{c_k\neq y}P(c_k|X=x) $$

然后条件概率对于所有可能的类标签总和为1,即$\displaystyle\sum_{k=1}^KP(c_k|X=x)=1$,于是得到:

$$ f(x)=\arg\min_{c_k\in \mathcal{Y}}\big(1-P(c_k|X=x)\big) $$

转换成求最大:

$$ f(x)=\arg\max_{c_k\in \mathcal{Y}}P(c_k|X=x) $$

这样便是在0-1损失函数的情况下,期望风险最小化准则得到了后验概率最大化准则,即朴素贝叶斯法的原理。


Copyright 2017-2019, All Rights Reserved.
粤ICP备18085907号 深圳市磐创网络科技有限公司

Documentation built with MkDocs.