阅读 113

贝叶斯分类器的基本思想,贝叶斯分类的一般过程

目录

1.1、何谓“纯真”

1.2、极大似然估计

1.3、安奈斯贝叶斯分类器

1.4、朴素贝叶斯算法的到来

1.5、朴素贝叶斯的优缺点

1.1、朴素贝叶斯是什么在所有机器学习分类算法中,朴素贝叶斯和其他大多数分类算法都是不同的。 决策树、KNN、逻辑回归、支持向量机等多种分类算法直接学习特征输出y与特征x的关系,是决策函数或决策条件分布,而朴素贝叶斯是直接生成方法,即特征输出y与特征x的联合分布

贝叶斯决策论(Bayesian decision theory )是在概率框架下进行决策的基本方法,对于分类问题,基于贝叶斯的分类器都是在概率已知的理想情况下,贝叶斯决策论如何基于概率和误判损失对数据进行分类对给定的训练数据集,首先基于特征条件独立假设学习输入/输出联合概率分布; 然后,基于该模型,对给定的输入利用贝叶斯定理求出后验概率最大的输出。

假设有可能的类别表示。 也就是说,这是由于对实际标记的样品进行了错误分类而引起的损失。 根据后验概率,可以得到对样本进行分类所导致的预期损失,即样本上方的“条件风险”。 这里的事后概率可以理解为在知道西瓜的颜色、根茎等的情况下,将该西瓜分类为的条件概率。

条件风险:这是将西瓜样品错误分类的条件风险。 对于所有数据集,目标是将示例数据集的总体风险降至最低。 整个样本集的风险:即条件风险的期望值。 那么,对于每个样本数据集的条件风险,如果最小化每个样本的风险,我们的整体风险也必然最小,也就是最小。 于是,就产生了贝叶斯判定标准。 为了将整体风险最小化,只需在每个样本中选择能够将条件风险最小化的类别标记即可。 被称为我们的最佳贝叶斯分类器,相应的整体风险被称为贝叶斯风险,1-可以反映分类器所能达到的类别标记

现在,假设我们的误判损失可以写成以下形式。现在我们数据集整体样本的条件风险,这个公式是根据我们单个样本的条件风险得到的。 (证明过程如下)

但请不要忘记,在目前我们所做的工作中,我们假设所有概率都是已知情况。 但是,由于现实数据集特征多,每个特征中取的值也多,所以很难计算出后验概率。 计算后验概率有两种方法。 第一,对于给定的数据集,我们可以直接通过建模直接预测我们的标签类别。 这种预测方式称为判别式,另一种是首先对联合概率建模,再从中得到我们的后验概率。 这种预测方式称为生成式模型。 对于生成的模型,必须考虑以下事项:

条件:贝叶斯定理在这里被称为先验概率,也可以写成可以根据频率从我们的数据集直接计算。 例如西瓜的好坏,我们可以用统计个数来统计。 这是样本对类标记的条件概率。 例如,在我确认现在我们的西瓜是好甜瓜的基础上,我们的西瓜颜色是蓝绿色的概率与我们的班级标志物无关。 因此,尽管估计的问题最终由我们转换为基于训练的数据集估计(根据我们大多数定律,在样本数据集较多的情况下,可使用频率来估计),但对于我们的后验概率,我们的样本有很多

一个特征对应于很多的取值,但是在每一个取值的样本对应的数量可能不是很多,所以我们此时不能使用频率进行估计。下面介绍如何估计我们的条件概率。


1.2,极大似然估计

估计类条件概率,一种常用的策略是先假设数据集具有某一种概率分布,在基于训练的样本对概率分布的参数进行估计,关于类别的类条件概率是,假设具有确定的形式并且被参数向量唯一确定,那么我们的任务就是利用训练集估计参数。

令标示训练集中第类样本组成的集合,假设样本是独立同分布的,那么估计参数对于数据集的似然是:

,之所以采用连乘,是因为假设我们各个样本之间式相互独立的。现在我们要对进行似然估计,就是要寻找能最大化似然函数的的参数值。数据计算过程中,可能造成数据产生下溢,所以我们常常采用对数似然。,此时参数的极大似然估计是:,通过极大似然估计,我们可以求得样本的均值和方差,然后对于连续性属性,我们可以直接带入公式求得概率。

1.3,朴素贝叶斯分类器 基于贝叶斯公式来估计后验概率的困难在于类条件概率是所有属性的联合概率,很难从有限的训练数据集上直接获得,所以朴素贝叶斯采用了“属性条件的独立性假设”来估计,也就是对于所有的属性,假设为相互的独立,不对分类的结果产生任何的影响。基于属性独立性假设,:,其中标示属性的个数,为在第个属性上面的取值。对于所有的类别来说,是相同的,我们的最小化分类错误率的贝叶斯最优分类器可以表示为:。朴素贝叶斯的训练过程就是基于训练数据集,先根据大数定律估算先验概率,在为每一个属性估算条件概率。表示训练集中第类样本组成的集合(其实就是代表我们的每一种类别),如果样本足够充分,那么我们的先验概率可以表示为:,对于离散的属性而言,让表示中在第个属性上取值为的样本组成的集合,我们可以表示出后验概率:,如果是对于连续性数值,我们可以考虑密度函数,假定,其中的和代表第类样本在第个属性上面的均值和方差。。

特别注意,如果某个属性的值在训练数据集中没有与某一个类同时出现过,根据我们上面的条件概率估计,会出现概率为0的情况,因此无论该样本的其他属性的情况是什么样,结果可能都不是很合理,为了避免这种情况,在我们估计概率的值的时候,通常要进行平滑处理,常用dqdyb修正的方法,令标示训练集中可能出现的类别数目,标示第个属性可能的取值数,因此我们的先验概率和后验概率被标示为:

先验概率:,对于我们某一种类别,令其样本的个数+1,但是对于总体的样本,每一个分类都要+1,也就是分母需要加,这个就代表分类的个数。条件概率:,在这里分母上加的也是第个属性的分类的总数量。1.4,朴素贝叶斯算法就程

我们假设训练的数据集有个样本和个维度,一共有个特征的输出类别,分别是,每一个特征输出的类别的样本个数为,在第个类别中,如果是离散的特征,那么特征各个类别的取值为,取值为1,2,3....,为特征不同的取值数。算法输出为样本集的分类结果。

算法流程:

如果没有先验概率,那么就先计算的个先验概率。,否则输出为先验概率。分别计算第个类别的第维特征的第个取值的条件概率。 如果是离散值,,可以取值为1或者其他大于0的数字。如果是稀疏二项离散值,,此时只有两种取值。入过是连续值不需要计算各个的取值概率,直接求正态分布的参数。,需要求出和,这两个量分别代表均值和方差。对于数据集,分别计算的概率。最后确定数据集的分类结果,.在整个的计算过程中,没有复杂的矩阵运算,所以贝叶斯算法运算速度很快。


1.5,朴素贝叶斯的优缺点

优点:

在较少数据集的情况下仍然可以处理数据,可以处理多分类问题。朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。对缺失数据不太敏感,算法也比较简单,常用于文本分类。

缺点:

理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。对输入数据的表达形式很敏感。

参考资料:

[1]《机器学习》周志华著

[2] https://www.cnblogs.com/pinard/p/6069267.html

[3] https://www.cnblogs.com/pinard/p/6069267.html


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐