模型和原理
朴素贝叶斯法
朴素贝叶斯(native Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。
对于给定的训练集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入$$x $$,利用贝叶斯定理求出后验概率最大的输出$$y$$。
基本方法
假设输入空间$$\mathcal{X}\subseteq Rn$$为$$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$$的生成关系,区别于判别模型)
模型的原理
首先,定义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损失函数的情况下,期望风险最小化准则得到了后验概率最大化准则,即朴素贝叶斯法的原理。