Naive Bayes Classifier详解
第八次写博客,本人数学基础不是太好,如果有幸能得到读者指正,感激不尽,希望能借此机会向大家学习。这一篇的内容来自于各种书籍和网上资料,以及自己的一些见解。
预备知识:
这一部分主要是谈一谈概率论中的相关内容,以及贝叶斯决策论的介绍。
贝叶斯定理(Bayes’ theorem)
假设 X , Y X,Y X,Y是一对随机变量,他们的联合概率 P ( Y = y , X = x ) P\left(Y=y,X=x\right) P(Y=y,X=x)是指 X X X取值为 x x x且 Y Y Y取值为 y y y的概率,条件概率是指一随机变量在另一个随机变量取值已知的情况下取某一特定值的概率。例如,条件概率 P ( Y = y ∣ X = x ) P\left(Y=y|X=x\right) P(Y=y∣X=x)是指在变量 X X X取值为 x x x的情况下,变量 Y Y Y取值为 y y y的概率。 X X X和 Y Y Y的联合概率和条件概率满足如下关系:
其中 P ( X ∣ Y ) P\left(X|Y\right) P(X∣Y)( P ( Y ∣ X ) P\left(Y|X\right) P(Y∣X))为变量 X X X( Y Y Y)的后验概率, P ( X ) P\left(X\right) P(X)( P ( Y ) P\left(Y\right) P(Y))为变量 X X X( Y Y Y)的先验概率。上式还可以写成如下形式,称为贝叶斯定理:
极大似然估计
假设条件概率 P ( X ∣ Y = y ) P\left(X|Y=y\right) P(X∣Y=y)服从某一确定的概率分布模型,且该模型由参数 θ \theta θ唯一确定。为了确定 θ \theta θ的值,我们假设该参数的预测值为 θ ^ \hat{\theta} θ^,则存在条件概率 P ( X ∣ θ ^ ) P\left(X|\hat{\theta}\right) P(X∣θ^),可以定量的评价预测值与实际值的符合程度。
实际上概率分布模型的训练过程,就是参数估计过程。对于参数估计,统计学界的两个学派扥别提出了不同的解决方案:频率主义学派认为参数虽然未知,但却是客观存在的“固定值”,因此,可以通过优化似然函数等准则来确定参数值;贝叶斯学派则认为参数是未观察到的“随机变量”,其本身也可以符合某种特殊的分布,因此,可以假设参数服从某个先验分布,然后基于观测到的数据来计算参数的后验分布。下面对源自频率主义学派的极大似然估计(Maximum Likelihood Estimation,简称MLE)进行介绍,这是根据数据采样来估计概率分布参数的经典方法。
令 D y D_y Dy表示数据集 D D D中,随机变量 Y Y Y取值为 y y y的样本组成的集合,假设这些样本是独立同分布的,则参数 θ \theta θ对于数据集 D y D_y Dy的似然是
对参数 θ \theta θ进行极大似然估计,就是去寻找能最大化似然 P ( D y ∣ θ ) P\left(D_y|\theta\right) P(Dy∣θ)的参数值 θ ^ \hat{\theta} θ^。从直观上看,极大似然估计是试图在参数 θ \theta θ的所有可能的取值中,找到一个可以使数据 x x x( x ∈ D y x\in{D_y} x∈Dy)出现在集合( D y D_y Dy)中的可能性最大的值。
式(1)中条件概率的联乘操作容易导致下溢,故通常使用对数似然(log-likelihood)
此时参数 θ \theta θ的极大似然估计为
MLE估计条件概率密度函数
1.连续属性情况下
假设,条件概率密度函数 P ( X ∣ Y = y ) ∼ N ( μ c , σ c 2 ) P\left(X|Y=y\right){\thicksim}N\left(\mu_c,\sigma_c^2\right) P(X∣Y=y)∼N(μc,σc2),则参数 μ c \mu_c μc和 σ c \sigma_c σc的极大似然估计【2】为
这里假定 x x x为随机向量,从上式可以看出,通过极大似然法得到的正态分布均值就是样本均值,方差就是 ( x − μ c ) ( x − μ c ) T \left(x-\mu_c\right)\left(x-\mu_c\right)^T (x−μc)(x−μ