理解机器学习中的朴素贝叶斯方法,Naive Bayes

栏目:基础教育  时间:2023-07-07
手机版

  朴素贝叶斯方法

  朴素贝叶斯方法是一种基于贝叶斯定理的分类算法,用于预测和分类问题。它的原理相对简单,下面这个赌桌比喻(书上看到的)可能会帮助你来理解贝叶斯方法。

  想象一家赌场,里面有两张赌桌,我们可以选择其中一张来玩一些需要靠运气取胜的游戏。无论选择哪张赌桌,我们都可以玩掷骰子和扑克牌游戏。其中一张赌桌是公平的,另一张赌桌则设置了一些作弊机关。我们将这两张赌桌分别称为"公平赌桌"和"有机关赌桌"。在有机关赌桌上,骰子被调整过,只有10%的概率会掷出6点,其余的概率在1、2、3、4和5点之间均匀分布。而在玩扑克牌时,有机关赌桌上的牌中根本没有带有人像的花牌。尽管骰子看起来都是一样的,扑克牌放在不透明盒子中,我们无法直接触摸骰子或扑克牌,但对于一些人来说,他们可能无法发现其中的诡计。

  假设我们坐在有机关赌桌前。玩了一段时间的扑克牌后,我们发现从未看到过任何一张花牌,我们并不会感到惊讶。同样的道理,我们也不会频繁地掷出骰子的6点。但是,如果我们事先知道我们坐在有机关赌桌前,那么无论掷骰子还是玩扑克牌,这些结果并不会给我们带来任何新的信息。因为我们已经知道自己坐在有机关赌桌前,所以我们可以推断结果会受到操控,但这并不会为我们的知识增加任何新的事实,尽管在现实世界中,确实得到事实确认是一件好事。

  假设我们不知道自己坐在哪张赌桌前,当我们开始观察结果时,我们会收到一些指示来告诉我们自己所坐的赌桌。这相当于对骰子和扑克牌进行具体预测。如果我们事先知道自己坐在哪张赌桌上,我们就不需要去猜测具体是哪张赌桌,而可以直接对骰子和扑克牌进行预测。了解赌桌的信息削弱了对骰子和扑克牌结果的影响。对于公平赌桌来说,情况也类似。如果我们被告知自己坐在公平赌桌前,我们会期望骰子的每个面出现的概率相同,并且花牌会经常出现。

  现在,假设我们被蒙上眼睛,然后被带到一张赌桌前。我们只知道有两张赌桌,并且知道这两张赌桌的区别:一张是公平赌桌,一张是有机关赌桌。然而,我们并不知道自己坐在公平赌桌还是有机关赌桌前。我们坐下,取下眼罩。如果我们手里拿到一张花牌,我们就能立刻判断自己坐在公平赌桌前。一旦知道自己所坐的赌桌类型,即使知道关于骰子的信息,也无法获得更多关于扑克牌的额外信息,反之亦然。如果我们不知道赌桌的类型,从扑克牌的信息中可能推断出一些关于骰子的信息。如果我们看到一张花牌,因为在有机关赌桌上根本没有花牌,我们就知道自己并不坐在有机关赌桌前,所以一定是坐在公平赌桌前。(这是双重否定逻辑的完美应用)。因此,我们知道骰子掷出6点的结果一定会发生。

  这个场景的关键在于,赌桌上的骰子和扑克牌之间没有因果关系。一旦我们坐在有机关赌桌前,选择一张扑克牌并不能改变骰子出现点数的概率。数学家描述这一点的方式是,在给定的赌桌上,扑克牌和骰子是条件独立的。

  这个场景可以用来讨论朴素贝叶斯(Naive Bayes,NB)的主要思想。朴素贝叶斯的关键组成部分是,在给定具体的类别的情况下,各个特征之间是条件独立的,就像赌桌上的骰子和扑克牌一样。知道类别类型巩固了对特征值的认识。同样地,了解一个类别可以让我们明确期望看到的特征值。

  朴素贝叶斯算法就是基于这个思想。它假设每个特征在类别确定的情况下都是相互独立的(这就是"朴素"的含义),并使用贝叶斯定理来计算在给定特征情况下属于每个类别的概率。具体来说,它通过计算后验概率来进行分类,选择具有最高后验概率的类别作为预测结果。

  代码演示

  下面是使用鸢尾花数据集进行朴素贝叶斯方法的代码演示和预测结果评估的示例:

  在上述示例代码中,我们首先导入所需的库。然后,加载鸢尾花数据集,将特征矩阵赋值给 ,目标向量赋值给 。

  接下来,使用 函数将数据集分为训练集和测试集。在本例中,我们选择将20%的数据作为测试集,设置了随机种子()以确保可重复的划分。

  然后,我们创建了一个朴素贝叶斯分类器对象(),这里使用了高斯朴素贝叶斯算法,适用于处理连续特征。

  接下来,使用训练集数据(和 )训练朴素贝叶斯模型。

  然后,我们使用训练好的模型对测试集数据()进行预测,得到预测结果()。

  最后,使用 函数计算预测准确率,并将结果打印出来。

  这样,我们就完成了对鸢尾花数据集的朴素贝叶斯方法的实际应用和预测结果的评估。

  朴素贝叶斯方法的应用场景

  朴素贝叶斯方法在很多领域都有广泛的应用,特别是在以下几个方面:

  文本分类:朴素贝叶斯方法在文本分类中广泛应用,例如垃圾邮件分类、情感分析等。推荐系统:朴素贝叶斯方法可以用于推荐系统中的用户行为预测和个性化推荐。医学诊断:朴素贝叶斯方法可用于医学诊断,例如基于症状和疾病关系的患者病情预测。欺诈检测:朴素贝叶斯方法可以用于欺诈检测,例如信用卡交易欺诈的检测。情感分析:朴素贝叶斯方法在情感分析中可以用于判断文本的情感倾向,如正面、负面或中性。这些只是朴素贝叶斯方法应用的一些示例,它在实际问题中具有很强的灵活性和适用性,尤其适用于特征之间相互独立的情况下。

上一篇:去天津玩住哪里好?
下一篇:退休金10级表,从1级到6级“衣食无忧”,看你处于“哪一级”?

最近更新基础教育