当你开始学习人工智能时,你首先遇到的是奈何贝叶斯算法。为什么Naive Bayes分类器对人工智能和ML如此重要?让我们来了解一下。
机器学习中的不确定性和概率
人工智能必须用数据进行操作,这些数据在很多情况下是很大的,但无论如何,都是不完整的。就像人类一样,计算机必须承担风险,思考不确定的未来。
不确定性对人类来说是难以承受的。但在机器学习中,有某些算法可以帮助你找到绕过这一限制的方法。Naive Bayes机器学习算法是在概率方法的帮助下处理不确定性的工具之一。
概率是一个数学领域,使我们能够对不确定性进行推理,评估一些结果或事件的可能性。当你使用预测性ML建模时,你必须预测不确定的未来。例如,你可以尝试根据过去的结果来预测一个奥运冠军在下一届奥运会期间的表现。即使他们以前赢了,也不意味着他们这次会赢。不可预测的因素,如今天早上与他们的伙伴发生争执或没有时间吃早餐,可能会也可能不会影响他们的成绩。
因此,不确定性是机器学习建模的组成部分,因为,生活是复杂的,没有什么是完美的。机器学习中不确定性的三个主要来源是嘈杂的数据,对问题的不完全覆盖,以及不完善的模型。
计算概率
在机器学习中,我们对条件概率感兴趣。我们感兴趣的不是某事发生的一般概率,而是在其他事情发生的情况下,它发生的可能性。例如,通过使用条件概率,我们可以尝试回答这样一个问题:考虑到运动员过去10年的成绩,他们赢得比赛的概率§是多少。
条件概率是这样定义的:鉴于b,a的概率=a和b同时发生的联合概率,除以b的概率。

通过对条件概率方程的一点点玩弄,你可以得出另一个方程,这就是更著名的贝叶斯定理。
.jpg)
贝叶斯概率
贝叶斯定理使我们能够计算出条件概率。它非常方便,因为它使我们能够使用我们已经拥有的一些知识(称为先验)来计算相关事件的概率。它被用于开发分类和预测建模问题的模型,如Naive Bayes。
贝叶斯规则在概率论中常用于计算条件概率。
例如,假设我们正在为一名运动员提供赛前饮食咨询,她提出了这个数据:
- 80%的情况下,如果她在比赛中获胜,她的早餐吃得好。这就是P(早餐|赢)。
- 60%的时候,她的早餐很好P(早餐)。这就是我们的B。
- 20%的情况下,她赢得了比赛P(赢)。这就是我们的a。
通过应用贝叶斯法则,我们可以计算出P(赢|早餐)是0.2乘以0.8,再除以0.6=0.26。也就是说,如果吃了丰盛的早餐,她赢得比赛的概率是26%。显然,额外负载的碳水化合物使她在整个比赛过程中具有耐力。
重要的是,我们不仅可以发现证据是如何影响事件的概率的,而且可以发现影响的程度。
天真贝叶斯
天真贝叶斯是一种简单的监督式机器学习算法,它使用贝叶斯定理和特征之间的强独立性假设来获得结果。这意味着,该算法只是假设每个输入变量是独立的。对于现实世界的数据来说,这确实是一个天真的假设。例如,如果你使用Naive Bayes进行情感分析,给定一个句子 "我喜欢哈利波特",该算法将查看单个单词而不是整个句子。在一个句子中,彼此相邻的词语会影响彼此的意思,而且词语在句子中的位置也很重要。然而,对于该算法来说,像'我喜欢哈利-波特'、哈利-波特喜欢我'和'波特我喜欢哈利'这样的短语是一样的。
结果发现,该算法能够有效地解决许多复杂的问题。例如,用Naive Bayes建立一个文本分类器要比用神经网络等更多被炒作的算法容易得多。该模型即使在数据不足或误标的情况下也能很好地工作,所以你不必在得到合理的结果之前 "喂 "它几十万个例子。即使Naive Bayes需要多达50行,它也是非常有效的。
Naive Bayes的缺点
至于Naive Bayes的弱点,它对分类的表现比对数值的表现更好。它自动假设为钟形曲线分布,这并不总是正确的。另外,如果一个分类变量在测试数据集中有一个类别没有包括在训练数据集中,那么模型会把它的概率定为0,无法进行预测。这就是所谓的零频率问题。
为了解决这个问题,我们将不得不使用平滑技术。当然,它的主要缺点是,在现实生活中,很少有事件是完全独立的。你必须应用其他算法来跟踪因果关系。
如果你想开始对你的第一个Naive分类器进行编程,我推荐这个名字-性别分类器。该笔记本一步一步地指导你完成这一过程,并为你提供必要的数据来训练和测试你的模型。
Naive Bayes分类器的类型
.jpg)
有几种类型的Naive Bayes。
最佳奈何贝叶斯(Optimal Naive Bayes
这种分类器选择具有最大后验概率的类别(所谓的最大后验估计,或MAP)。从名字上看,它确实是最优化的,但遍历所有可能的选项是相当缓慢和耗时的。
高斯贝叶斯(Gaussian Naive Bayes
高斯贝叶斯是基于高斯或正态分布的。它大大加快了搜索速度,在一些非严格的条件下,误差只比最优贝叶斯高两倍(这很好!)。
多项式Naive Bayes
它通常被应用于文档分类问题。它的决策基于离散的特征(整数),例如,基于文件中出现的单词的频率。
伯努利奈何贝叶斯(Bernoulli Naive Bayes
伯努利与前一种类型相似,但预测因子是布尔变量。因此,用于预测类变量的参数只能有 "是 "或 "否 "的值,例如,一个词是否出现在文本中。
奈何贝叶斯算法可用于何处
以下是Naive Bayes在现实生活中的一些常见应用:
- 文件分类。这种算法可以帮助你确定一个给定的文件属于哪个类别。它可以用来将文本分类为不同的语言、体裁或主题(通过关键词的存在)。
- 垃圾邮件过滤。Naive Bayes很容易利用关键词分出垃圾邮件。例如,在垃圾邮件中,你可以看到 "伟哥 "这个词比普通邮件中的频率高得多。该算法必须经过训练以识别这种概率,然后,它可以有效地应用于垃圾邮件过滤。
- 情绪分析。根据文本中的词语所表达的情绪,Naive Bayes可以计算出它是积极还是消极的概率。例如,在客户评论中,"好 "或 "不贵 "通常意味着客户很满意。然而,Naive Bayes对讽刺不敏感。
- 图像分类。出于个人和研究的目的,建立一个Naive Bayesian分类器很容易。它可以被训练来识别手写的数字,或者通过有监督的机器学习将图像归入类别。
贝叶斯中毒
贝叶斯中毒是电子邮件垃圾邮件发送者使用的一种技术,试图降低使用贝叶斯规则的垃圾邮件过滤器的有效性。他们希望通过在贝叶斯数据库中把以前无害的词变成垃圾邮件的词,来提高垃圾邮件过滤器的误报率。添加更有可能出现在非垃圾邮件中的词,对天真的贝叶斯过滤器是有效的,并使垃圾邮件漏过。然而,重新训练过滤器可以有效防止所有类型的攻击。这就是为什么天真贝叶斯仍然被用于垃圾邮件检测,同时还有某些启发式方法,如黑名单。
最后的话
期待阅读更多关于机器学习的材料?我们已经在努力了!同时,你可以在我们的AI和ML版块中探索一些文章。