四、贝叶斯分类器

贝叶斯决策论 (Bayesian decision theory)是概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都己知的理想情形,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。贝叶斯模型的基本形式为

\[P(c|{\bf{x}}) = \frac{{P(c)P({\bf{x}}|c)}}{{P({\bf{x}})}}\]

根据条件概率公式可推得样本$\bf{x}$属于c类的概率的表示形式。其中$P(c)$和$P(\bf{x})$可通过样本集中的发生频率估计,那怎么估计${P({\bf{x}}|c)}$呢?

1. 极大似然估计

估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于已有的训练样本对该概率分布形式的参数进行调整。具体地,记关于类别 c 的类条件概率为${P({\bf{x}}|c)}$, 假设${P({\bf{x}}|c)}$具有确定的形式并且被参数向量。c 唯一确定,则我们的任务就是利用训练集D估计参数$\theta_c$。为明确起见我们将 ${P({\bf{x}}|c)}$记为$P(\bf{x}|\theta_c)$。

事实上,概率模型的训练过程就是参数估计过程。对于参数估计统计学界的两个学派分别提供了不同的解决方案:
频率主义学派(Frequentist)认为参数虽然未知,但却是客观存在的固定值,因此,可通过优化似然函数等准则来确定参数值;贝叶斯学派 (Bayesian)则认为参数是未观察到的随机变量,其本身也可有分布,因此,可假定参数服从一个先验分布,然后基于观测到的数据来计算参数的后验分布。

本节介绍源自频率主义学派的极大似然估计(Maximum Likelihood Estimation,简称 MLE) ,参数未知且固定,根据训练集来估计参数的经典方法。极大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。
令$D_c$表示训练集D中第c类样本组成的集合,假设这些样本是独立同分布的,则c类样本的类条件概率的参数$\theta_c$对于数据集$D_c$的似然是,

$P({D_c}|{\theta _c}) = \mathop \prod \limits_{\bf{x} \in {D_c}} P(\bf{x}|{\theta _c})$

其中,$P(\bf{x}|{\theta _c})$表示每一个样本\bf{x}属于c类的概率,也就是按照我们假设的参数为$\theta_c$属于c类的类条件概率p。对每一个$\bf{x} \in {D_c}$样本的类条件概率累乘即是每一个样本都属于c类的概率$P({D_c}|{\theta _c})$。

对$\theta_c$进行极大似然估计,就是去找到参数值$\hat{\theta_c}$能够使最大化似然$P({D_c}|\theta _c)$。直观上看,极大似然估计是试图在$\theta_c$所有可能的取值中,找到一个能使该样本集出现的"可能性"最大的值。

小于1的概率不断连乘操作易造成下溢,通常使用对数似然 (log-likelihood)

$\begin{array}{l}
LL({\theta _c}) = \log P({D_c}|{\theta _c})\\
= \sum\limits_{\bf{x} \in {D_c}} {\log P(\bf{x}|{\theta _c})}
\end{array}$

此时参数$\theta_c$的极大似然估计$\hat{\theta_c}$为

$\widehat {{\theta _c}} = \mathop {\arg \max \bf{x} }\limits_{{\theta _c}} LL({\theta _c})$

需注意的是,这种参数化的方法虽能使类条件概率估计变得相对简单,只需要通过样本分布估计参数就好了。但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。在现实应用中,欲做出能较好地接近潜在真实分布的假设,往往需在一定程度上利用关于应用任务本身的经验知讽,否则若仅凭"猜测"来假设概率分布形式,很可能产生误导性的结果。也就是现实应用中,很难假设概率分布形式。

2. 朴素贝叶斯分类器

基于贝叶斯公式来估计后验概率${P({\bf{x}}|c)}$的主要用难在于:类条件概率$P(\bf{x}|{\theta _c})$是所有属性上的联合概率,难以从有限的训练样本直接估计而得。为避开这个障碍,朴素贝叶斯分类器 (naÏve Bayes classifier)采用了"属性条件独立性假设" (attribute conditional i时ependence assu'mption):对已知类别,假设所有属性相互独立.换言之,假设每个属性独立地对分类结果发生影响。基于属性条件独立性假设,贝叶斯公式可重写为

$P(c|{\bf{x}}) = \frac{{P(c)P({\bf{x}}|c)}}{{P({\bf{x}})}} = \frac{{P(c)}}{{P({\bf{x}})}}\prod\limits_{i = 1}^d {P({x_i}|c)} $
其中d为属性数目,$x_i$为$\bf{x}$在第i个属性上的取值。

显然,朴素贝叶斯分类器的训练过程就是基于训练集 D 来估计类先验概率$P(c)$ , 并为每个属性估计条件概率 $P(x_i |c)$.
令 Dc 表示训练集 D 中第 c 类样本组成的集合,若有充足的独立同分布样本,则可容易地估计出类先验概率
$P(c) = \frac{{|{D_c}|}}{D}$

对离散属性而言,令${{D_{c,{x_i}}}}$表示$D_c$中在第i个属性上取值为$x_i$的样本组成的集合,则条件概率$P({x_i}|c)$可估计为 

$P({x_i}|c) = \frac{{|{D_{c,{x_i}}}|}}{D}$

对连续属性可考虑概率密度函数,则有

3. EM算法

在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是完整的,但在现实应用中,往往会遇到某些属性值确实的“不完整”的训练样本。直接把这些不完整的样本丢弃是不可取的,那么在这种存在缺失变量的情形下,怎么进行贝叶斯估计呢?

 

 

猜你喜欢

转载自www.cnblogs.com/yijuncheng/p/10013808.html