朴素贝叶斯发学习与分类
- 基本概念
- 先验概率分布:$P(Y=c_k),k=1,2..K(c_1,c_2…为类分类标签)$
- 条件概率分布:$P(X=x|Y=c_k)$
- 贝叶斯定理:有了先验概率分布和条件概率分布,就能够得到联合概率分布$P(X,Y)=P(Y)P(X|Y)$
- 后验概率分布:$P(Y=c_k|X=x)$
- 意义:对给定输入x,通过学习到的模型计算后延概率分布,将后验概率最大的类作为x的类输出
- 所以基于贝叶斯定理的后验概率:$P(Y=c_k|X=x)=\frac {P(Y=c_k,X)}{P(X)}=\frac {P(Y=c_k)P(X|Y=c_k)}{P(X)}$
- 基于条件独立性假设的朴素贝叶斯法:
$P(X=x|Y=c_k)=P(X=x^{(1)},X=x^{(2)}…X=x^{(n)}|Y=c_k)=\prod_{j=1}^{n}P(X=x^{(j)})|Y=c_k$
贝叶斯&朴素贝叶斯法
- 背景:
- 贝叶斯决策论(Bayesian decision theory)是概率框架下的基本方法。
- 假设有N种可能的类别标记,即$y={c_1,c_2,…,c_N},λ_{ij}$是一个将真实标记为cj的样本误分类为ci产生的期望损失(expected loss),即在样本x上的“条件风险”(conditional rsik)
- 任务:我们的任务是寻找一个判断准则,以最小化总体风险
- 解决方法:贝叶斯判断准则
- 使用贝叶斯判定准则来最小化决策风险,首先要获得后验概率P(c|x)
- 然而,在现实任务中这通常难以直接获得。从这个角度来看,机器学习所要实现的是基于有限的训练样本尽可能准确的估计出后验证概率P(c|x)。大体来说主要有两种策略:
- 判别式模型:给定x,可通过直接建模P(y|x)来预测c
- 生成式模型:先对联合概率分布P(x,c)建模,然后再由此获得P(y|x):
$P(Y=c_k|X=x)=\frac {P(Y=c_k,X)}{P(X)}=\frac {P(Y=c_k)P(X|Y=c_k)}{P(X)}$(贝叶斯公式)- 因为P(X)都是一样的,于是生成式转换为问题:$y=arg maxP(Y=c_k)P(X|Y=c_k)$
- 朴素贝叶斯分类器
- 基于贝叶斯公式来估计后验概率P(y|x)的主要困难在于:类条件概率P(x|y)是所有属性(x取值有多个)上的联合概率,难以从有限的训练样本直接估计而得。
- 为了避开这个障碍,朴素贝叶斯分类器(naive Bayes classifier)采用了“属性条件独立性假设”(attribute conditional independence assumption)
- 即对已知类别,假设所有属性$(x^{(j)})$相互独立。换言之,假设每个属性独立地对分类结果发生影响。即$P(X=x|Y=c_k)=P(X=x^{(1)},X=x^{(2)}…X=x^{(n)}|Y=c_k)=\prod_{j=1}^{n}P(X=x^{(j)})|Y=c_k$
朴素贝叶斯的参数估计(概率估计方法)
在朴素贝叶斯法中,学习意味着估计$P(Y=c_k)和P(X=x^{(i)}|Y=c_k)$这里有多种方法进行估计:
- 极大释然估计
- 先验概率计算:
- 条件概率计算:
- 贝叶斯估计
上面的极大释然估计可能会出现要估计的概率值为0的情况,这时会影响到后验概率等的计算,使分类产生偏差贝叶斯估计会适当加一个极小系数$(\lambda)$来避免这种情况- 当$(\lambda)=0$时,就是极大释然估计
- 当$(\lambda)=1$时,称为拉普拉斯平滑
- 先验概率计算:
- 条件概率计算: