首页 > 技术文章 > 西瓜笔记(三上)--Bayes

melina-zh 2018-09-19 20:06 原文

一、Bayes理论

为了最小化决策风险,首先获得后验概率P(c|x)。通常有两种方法:

1、判别式模型(discriminative models):给定x,通过直接建模P(c|x)来预测c。

2、生成式模型(generative models):先对概率分布P(x,c)建模,再由此获得P(c|x)。

对生成式模型来说,必然有:

基于贝叶斯定理,

其中,P(c)是“先验(prior)”概率,P(x|c)是样本x相对于类标记c的条件概率,或称为“似然”,P(x)是用于归一化的“证据(evidence)”因子。先验概率表达了样本空间中各类样本所占的比例。

二、极大似然估计

极大似然估计是频率主义学派的根据数据采样来估计概率分布参数的经典方法。

假设这些样本是独立同分布的,对于数据集D来说,

P(Dcc)=P(x1|θc)*P(x2|θc)..

通过最大化P(Dcc)可以得到一个客观存在的固定的θ值。我们可以理解为使得这样的数据出现的“最大可能”的θ值为多少。

三、朴素贝叶斯

解释完P(c)和P(x|c),只剩P(x)。P(x)就是各个特征出现的概率,在各个特征之间独立的情况下,可以直接相乘。而且,由于我们在比较属于哪个类别的概率大的时候,选取的特征都是相同的,分母可以省略。

需要注意的一点是,若某个属性值在训练集中没有与某个类同时出现过,例如P清脆|是=P(敲声=清脆|好瓜=是)=0/8=0,在我们的训练样本中,没有一个好瓜是敲声清脆的。那么根据我们的连乘式,分类的结果都将是“好瓜=否”,即使它在其他很多特征上都像好瓜。于是,提出来“拉普拉斯修正(Laplacian correction)”。令N表示训练集D中可能的类别数,Ni表示第i个属性可能的取值数,则:

四、半朴素贝叶斯分类器

朴素贝叶斯的一个重要前提就是特征之间不会互相影响。但是在现实任务中往往很难成立,但是为了简化计算,我们假设一个属性最多依赖于一个其他属性,于是关键在于确定每个属性的父属性。有三个方法:SPOSDE,TAN和AODE

SOPODE(Super-parent ODE):假设所有属性都依赖于同一个属性,称为“超父”。

TAN(Tree Augmented naive Bayes):是在最大带权生成树算法的基础上,构建依赖关系的树形结构。具体算法如下:

1、计算任意两个属性之间的条件互信息

2、构建完全图,设置权重

3、生成最大带权生成树,挑选根变量并置为有向

4、加入类别节点(从y到每个属性的有向边)

TAN实际上仅保留了强相关属性之间的依赖性。

还有一个AODE是尝试将每个属性作为超父来构建SPODE。

 

推荐阅读