朴素贝叶斯(Naive Bayes)是一种基于贝叶斯定理(Bayes’ theorem)的分类算法。它的基本思想是,通过先验概率和条件概率来计算后验概率,从而实现分类。
在朴素贝叶斯分类中,假设每个样本都由多个特征组成,每个特征都是相互独立的。然后根据给定的训练数据集,分别计算每个类别的先验概率和每个特征在不同类别下的条件概率。当需要对一个新的样本进行分类时,根据上述先验概率和条件概率计算出每个类别的后验概率,然后将后验概率最大的类别作为该样本所属的类别。
朴素贝叶斯算法的优点是简单、高效,并且对于小样本数据集也能够处理得较好。它的主要缺点是假设所有特征都是独立的,这在实际情况中很难满足。此外,它对于数据中噪音和异常值比较敏感。
朴素贝叶斯算法在自然语言处理、文本分类、垃圾邮件过滤、情感分析等领域中得到了广泛的应用。例如,在垃圾邮件过滤中,可以将邮件中的文本特征视为独立的特征,然后使用朴素贝叶斯算法对邮件进行分类,从而实现自动分类和过滤。
总之,朴素贝叶斯是一种简单、高效的分类算法,适用于小样本数据集,并且在自然语言处理、文本分类、垃圾邮件过滤等领域中有着广泛的应用。
朴素贝叶斯算法的核心公式是贝叶斯定理:
P(c|d) = P(d|c) * P© / P(d)
其中,P(c|d)表示给定观测数据d的情况下,属于类别c的后验概率;P(d|c)表示在给定类别c的情况下,观测数据d的条件概率;P©表示类别c的先验概率;P(d)表示观测数据d的边缘概率。
在朴素贝叶斯算法中,将观测数据d表示为多个特征x1, x2, …, xn的向量,假设各个特征之间相互独立,则观测数据d在给定类别c的情况下的条件概率可以表示为:
P(d|c) = P(x1|c) * P(x2|c) * … * P(xn|c)
其中,P(xi|c)表示在给定类别c的情况下,特征xi的条件概率。
根据朴素贝叶斯算法的思想,假设特征之间独立,则可以进一步将条件概率表示为:
P(d|c) = P(x1|c) * P(x2|c) * … * P(xn|c) = ∏_{i=1}^{n} P(xi|c)
因此,朴素贝叶斯算法的分类规则可以表示为:
argmax_{c} P(c|d) = argmax_{c} P(d|c) * P© / P(d) = argmax_{c} P© * ∏_{i=1}^{n} P(xi|c)
其中,argmax_{c}表示在所有类别中选择具有最大概率的类别c。
https://www.bilibili.com/video/BV1nM4y117iz/?spm_id_from=333.1007.tianma.2-1-4.click&vd_source=569ef4f891360f2119ace98abae09f3f
三门问题(Monty Hall problem)是一个著名的概率谜题,其名源于美国电视游戏节目“Let’s Make a Deal”中的主持人Monty Hall。问题描述如下:
在游戏节目中,参赛者面前有三扇关闭的门,其中一扇门后面有一辆汽车,另外两扇门后面是羊。参赛者选择其中一扇门,主持人会在剩下的两扇门中打开一扇门,露出其中一只羊,然后问参赛者是否要改变自己的选择。问题是,参赛者是否应该改变自己的选择?
直观上看,参赛者改变选择并不会改变获胜的概率,因为参赛者最初选中汽车的概率为1/3,换门后剩下的两扇门中有一扇是汽车,有一扇是羊,换门后获胜的概率似乎仍然是1/3。然而,实际上,参赛者改变选择后获胜的概率是2/3,而不是1/3。
这个结论可以通过条件概率的计算来解释。假设参赛者一开始选择的是门A,那么获胜的情况有两种:一种是汽车在门A后面,另一种是汽车在剩下的两扇门中的一扇后面。如果参赛者不改变选择,那么获胜的概率是1/3;如果参赛者改变选择,那么获胜的概率是2/3,因为此时参赛者将有两个选择,而且有一个是汽车所在的门,另一个是羊所在的门。
因此,三门问题的结论是,参赛者应该改变自己的选择,这样获胜的概率会提高到2/3。这个结论常常被认为是反直觉的,但它可以通过条件概率的计算来得到严谨的证明。
朴素贝叶斯算法的主要思想是根据贝叶斯定理,计算每个类别在给定观测数据下的后验概率,并将观测数据分配给具有最高后验概率的类别。具体地说,朴素贝叶斯算法假设所有特征都是相互独立的,因此可以将每个特征的条件概率分解为各个特征的单独条件概率的乘积。
在文本分类问题中,朴素贝叶斯算法可以用于判断一篇文档属于哪个类别(如体育、政治、娱乐等),其中每个单词作为一个特征。假设训练集中共有n个文档,每个文档都被分配到其中一个类别。对于每个类别c,可以计算先验概率P©,即在训练集中属于类别c的文档所占的比例。
接着,对于每个单词w,可以计算在给定类别c下该单词出现的条件概率P(w|c),即属于类别c的文档中包含单词w的文档所占的比例。这可以通过统计训练集中包含该单词的属于类别c的文档数量并除以属于类别c的文档总数来计算。如果某个单词在训练集中从未出现在属于某个类别的文档中,可以通过将其出现次数加1并将分母加上训练集中不同单词总数来进行平滑处理,避免出现概率为0的情况。
最后,在给定观测数据(即一篇文档)的情况下,可以计算该文档属于每个类别的后验概率P(c|d),即文档属于类别c且包含观测数据中所有单词的概率,通过将每个单词的条件概率相乘并乘以先验概率来计算。然后,可以将该文档分配到具有最高后验概率的类别中。
需要注意的是,朴素贝叶斯算法的假设可能并不符合实际情况,例如某些特征可能不是相互独立的,或者某些特征之间存在相关性。此外,朴素贝叶斯算法也无法考虑特征之间的交互作用。因此,在具体应用时需要谨慎选择,并进行适当的预处理和特征选择。