基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_朴素贝叶斯——机器学习实战 (Peter Harrington)...

基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_朴素贝叶斯——机器学习实战 (Peter Harrington)..._第1张图片

本文阅读预计用时:15分钟

主要针对Machine Learning in Action(Peter Harrington)一书第四章解读


这个专栏主要对《机器学习实战》Machine Learning in Action(Peter Harrington)一书进行解读。在本专栏的第一篇文章中,笔者列举了几个对于ML学习者而言比较清晰的ML学习网站,有兴趣的学习者可以去自行探索。不同角度学习ML的途径还有很多,笔者在此就不一一详述。


  • 引语

在前两章的分类分析中,我们基于分类器的运用,得到了“数据实例属于哪一类”问题的解答。有时分类器会出现错误答案,所以我们可以让分类器给出一个最优的分类猜测结果,同时给出这个猜测的概率估算值。

概率论是很多机器学习算法的基础,所以我们从最简单的一个概率分类器开始,然后基于假设来学习朴素贝叶斯(Naive Bayes)分类器。

在图1中,假设我们有一个数据集,它包含了两类数据(三角形和圆形)。

基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_朴素贝叶斯——机器学习实战 (Peter Harrington)..._第2张图片
图1. 两个参数已知的概率分布,参数决定了数据的分布情况

设我们已经了解了它们的统计参数,我们用

表示数据点
属于类别1的概率,我们用
来表示数据点
属于类别2的概率。对于一个新的数据点
,我们用下面的判别方法来判断它的数据类型:
  • 如果
    ,那么其为类别1。
  • 如果
    ,那么其为类别2。

换言之,我们会选择高概率对应的类别,这就是贝叶斯决策理论的核心思想。

换一个角度,如果我们使用KNN分类方法对这两个数据集进行分类,那我们需要计算一万次的距离计算;如果我们使用决策树,沿x轴和y轴进行数据划分,我们得到的分类并不理想。因此,我们的最佳选择是计算数据点属于每个类别的概率,并进行比较。

1) 朴素贝叶斯的主要优点有:

  • 算法简单,有稳定的分类效率。
  • 对小规模的数据表现很好,能个处理多分类任务。
  • 对缺失数据不太敏感。

2) 朴素贝叶斯的主要缺点有:  

  • “朴素”的假设如果与实际情况不符,会影响模型效果。
  • 输入特征数据的表现形式(连续特征,离散特征),其会影响概率计算和模型的分类效果。
  • 深入

1.1分类问题

首先,我们来看一下朴素贝叶斯针对的分类问题的形式。

已知

个样本
是特征变量,
是对应的类别。要求一个模型函数
,使得对于新的输入样本
,能够准确预测出

1.2 条件概率

基于数学的条件概率,我们知道

表示事件B已经发生的前提下,事件A发生的概率。

根据

,所以

2.1 贝叶斯分类中的条件概率

在贝叶斯分类器应用的学习任务中,每个实例

可由属性值的集合描述,而目标函数
从某有限集合
中取值。在分类器学习了一系列关于目标函数的训练样例后,我们输入含有
属性元组的新实例
,然后要求预测新实例的分类
  • 对于具有属性
    的实例
    ,我们设对于
    最有可能的分类为

  • 根据贝叶斯条件概率公式,可知

因此,在理论上,我们在对上式进行计算后,就可以得出最有可能的分类

2.2 朴素贝叶斯分类中的假定

由于贝叶斯概率论的理论与实际的出入,我们对其进行进行简化,构造朴素贝叶斯分类

  • 朴素贝叶斯分类器的构造基于一个重要假定(Assumption):实例
    中的不同属性值
    之间相互条件独立。

因此,

  • 由于对于同一个实例
    的值相同,因此我们在
    的过程中可以将其省略。在简化目标值的分类函数后,我们需要考虑:

2.3.1 对

的讨论

1)分类

的先验概率未知

如果分类的先验概率未知,则通常假设这些类是等概率的:

,因此我们只需要得知具有最大值的

2)分类

的先验概率已知

分类的先验概率可以通过训练集中各类样本出现的次数来估计。

因此,为了得到最有可能的目标值

,我们需要确定的是对于每个
乘积的大小。因此,我们可以根据离散属性或是连续属性,分两种情况对其进行讨论。

2.3.2 对

的讨论
  • 1)离散属性的讨论

对于离散的属性,分类的条件概率

可以根据分类
中的属性值等于实例中
属性值的比例来估计。
  • 2)连续属性的讨论

对于连续的属性,我们有两种方法对

进行估计:

1)用离散区间替换连续属性值,进而通过比例估计,但是其决策边界划分的精度比较低。

2)引入高斯分布,得知训练数据中已知特征的均值和标准差后,使用高斯函数来评估一个给定的特征值的概率。换言之,用高斯概率密度函数来表示条件概率。

3. 拉普拉斯修正(Laplacian correction)

中,如果其中一个属性概率
为0,那么其他属性会被抹去。因此,为了避免其他属性携带的信息被训练集中未出现的属性值“抹去”,通常在计算中的先验概率和类条件概率的时候进行拉普拉斯修正。

拉普拉斯修正避免了因训练集样本不充分而导致概率估值为零的问题,并且在训练集变大时,修正过程所引入的先验影响逐渐变得可忽略,使得估值渐趋向于实际概率值。

  • 结语

在某些领域,朴素贝叶斯分类法足以和决策树和神经网络分类相媲美。基于理论而言,与其他所有分类算法相比,贝叶斯分类法具有最小的错误率(Error rate)。但是,在实践之中并非一直如此,这是因为实例中对朴素贝叶斯分类假定属性独立性的不确定性造成的。在实例中,属性之间毕竟是有关联的,某个属性可能依赖于另外的属性,因此半朴素贝叶斯分类器在分析中应该更为准确。

参考书籍:

Harrington, Peter. Machine Learning in Action. Manning Publications, 2012.

PS:鄙人不才,欢迎各位大佬指正!如果觉得本篇本章对您有所帮助,欢迎关注、评论、赞!

你可能感兴趣的:(2.0,预测分类)