小编典典

Naive Bayes分类的简单解释

all

我发现很难理解Naive Bayes的过程,我想知道是否有人可以用英语简单的逐步过程来解释它。我知道它需要按发生的时间进行比较作为概率,但我不知道训练数据与实际数据集的关系如何。

请解释一下训练集的作用。我在这里给出一个非常简单的水果示例,例如香蕉

training set---
round-red
round-orange
oblong-yellow
round-red

dataset----
round-red
round-orange
round-red
round-orange
oblong-yellow
round-red
round-orange
oblong-yellow
oblong-yellow
round-red

阅读 128

收藏
2022-03-08

共1个答案

小编典典

接受的答案有许多 k-NN 元素(k近邻),这是一种不同的算法。

k-NN 和 NaiveBayes 都是分类算法。从概念上讲,k-NN 使用“接近度”的概念对新实体进行分类。在 k-NN 中,“接近度”是用欧几里得距离或余弦距离等概念建模的。相比之下,在 NaiveBayes 中,“概率”的概念用于对新实体进行分类。

由于问题是关于NaiveBayes的,因此我将如何向某人描述这些想法和步骤。我会尽量用尽可能少的方程式和简单的英语来做这件事。

一、条件概率和NaiveBayes法则

在人们理解和欣赏NaiveBayes的细微差别之前,他们需要先了解几个相关的概念,即条件概率的概念和NaiveBayes规则。(如果您熟悉这些概念,请跳到标题为“入门NaiveBayes”的部分)

简单英语中的条件概率:假设其他事情已经发生,某事将发生的概率是多少。

假设有一些结果 O 和一些证据 E。从定义这些概率的方式来看:同时具有结果O 和证据 E 的概率是:(O 发生的概率)乘以(E 的概率)哦发生了)

理解条件概率的一个例子:

假设我们有一群美国参议员。参议员可以是民主党人或共和党人。他们也是男性或女性。

如果我们完全随机选择一位参议员,这个人是女性民主党的概率是多少?条件概率可以帮助我们回答这个问题。

(民主党和女参议员)的概率= Prob(参议员是民主党人)乘以女性的条件概率,因为他们是民主党人。

  P(Democrat & Female) = P(Democrat) * P(Female | Democrat) 

我们可以计算完全相同的东西,相反的方式:

  P(Democrat & Female) = P(Female) * P(Democrat | Female) 

了解NaiveBayes法则

从概念上讲,这是从 P(Evidence|Known Outcome) 到 P(Outcome|Known Evidence) 的一种方式。通常,在已知结果的情况下,我们知道某些特定证据的观察频率。给定证据,我们必须使用这个已知事实来计算相反的结果,以计算该结果发生的机会。

P(假设我们知道一些证据的结果)= P(假设我们知道结果的证据)乘以概率(结果),由 P(证据)缩放

理解NaiveBayes法则的经典例子:

Probability of Disease D given Test-positive = 

               P(Test is positive|Disease) * P(Disease)
     _______________________________________________________________
     (scaled by) P(Testing Positive, with or without the disease)

现在,所有这一切都只是序言,以达到NaiveBayes。

到达NaiveBayes

到目前为止,我们只讨论了一个证据。实际上,我们必须根据多个证据来预测结果。在这种情况下,数学变得非常复杂。为了避免这种复杂性,一种方法是“解耦”多个证据,并将每个证据视为独立的。这种方法就是为什么这被称为朴素NaiveBayes。

P(Outcome|Multiple Evidence) = 
P(Evidence1|Outcome) * P(Evidence2|outcome) * ... * P(EvidenceN|outcome) * P(Outcome)
scaled by P(Multiple Evidence)

许多人选择记住这一点:

                      P(Likelihood of Evidence) * Prior prob of outcome
P(outcome|evidence) = _________________________________________________
                                         P(Evidence)

请注意有关此等式的一些事项:

  • 如果 Prob(evidence|outcome) 为 1,那么我们只是乘以 1。
  • 如果 Prob(一些特定的证据|结果)为 0,则整个概率。变为 0。如果您看到相互矛盾的证据,我们可以排除该结果。
  • 由于我们将所有内容除以 P(Evidence),我们甚至可以不用计算就可以逃脱。
  • 乘以先验背后的直觉是,我们对更常见的结果赋予高概率,而对不太可能的结果赋予低概率。这些也被称为base rates,它们是衡量我们预测概率的一种方式。

如何应用 NaiveBayes 预测结果?

只需为每个可能的结果运行上面的公式。由于我们正在尝试对进行分类,因此每个结果都称为 aclass并且它class label.有 同样,我们采用一种非常简单的方法:概率最高的类被宣布为“获胜者”,并且该类标签被分配给该证据组合。

水果示例

让我们通过一个例子来增加我们的理解:OP要求一个“水果”识别例子。

假设我们有 1000 个水果的数据。它们恰好是香蕉橙子其他水果。我们知道每种水果的 3 个特征:

  1. 无论是长
  2. 无论是甜美
  3. 如果它的颜色是黄色。

这是我们的“训练集”。我们将使用它来预测我们遇到的任何水果的类型。

Type           Long | Not Long || Sweet | Not Sweet || Yellow |Not Yellow|Total
             ___________________________________________________________________
Banana      |  400  |    100   || 350   |    150    ||  450   |  50      |  500
Orange      |    0  |    300   || 150   |    150    ||  300   |   0      |  300
Other Fruit |  100  |    100   || 150   |     50    ||   50   | 150      |  200
            ____________________________________________________________________
Total       |  500  |    500   || 650   |    350    ||  800   | 200      | 1000
             ___________________________________________________________________

我们可以预先计算很多关于我们的水果收藏的东西。

所谓的“先验”概率。(如果我们不知道任何水果属性,这将是我们的猜测。)这些是我们的base rates.

 P(Banana)      = 0.5 (500/1000)
 P(Orange)      = 0.3
 P(Other Fruit) = 0.2

“证据”的概率

p(Long)   = 0.5
P(Sweet)  = 0.65
P(Yellow) = 0.8

“可能性”的概率

P(Long|Banana) = 0.8
P(Long|Orange) = 0  [Oranges are never long in all the fruit we have seen.]
 ....

P(Yellow|Other Fruit)     =  50/200 = 0.25
P(Not Yellow|Other Fruit) = 0.75

给定一个水果,如何分类?

假设我们被赋予了一种未知水果的特性,并要求我们对其进行分类。我们被告知果实长、甜、黄。是香蕉吗?是橙子吗?还是其他水果?

我们可以简单地逐个计算 3 个结果中的每一个的数字。然后我们选择最高概率并将我们的未知水果“分类”为基于我们先前的证据(我们的 1000 个水果训练集)具有最高概率的类别:

P(Banana|Long, Sweet and Yellow) 
      P(Long|Banana) * P(Sweet|Banana) * P(Yellow|Banana) * P(banana)
    = _______________________________________________________________
                      P(Long) * P(Sweet) * P(Yellow)

    = 0.8 * 0.7 * 0.9 * 0.5 / P(evidence)

    = 0.252 / P(evidence)


P(Orange|Long, Sweet and Yellow) = 0


P(Other Fruit|Long, Sweet and Yellow)
      P(Long|Other fruit) * P(Sweet|Other fruit) * P(Yellow|Other fruit) * P(Other Fruit)
    = ____________________________________________________________________________________
                                          P(evidence)

    = (100/200 * 150/200 * 50/200 * 200/1000) / P(evidence)

    = 0.01875 / P(evidence)

我们以压倒性优势 ( 0.252 >> 0.01875) 将这种甜/长/黄色水果归类为可能是香蕉。

为什么NaiveBayes分类器如此受欢迎?

看看它最终归结为什么。只是一些计数和乘法。我们可以预先计算所有这些术语,因此分类变得简单、快速和高效。

Let z = 1 / P(evidence).现在我们快速计算以下三个量。

P(Banana|evidence) = z * Prob(Banana) * Prob(Evidence1|Banana) * Prob(Evidence2|Banana) ...
P(Orange|Evidence) = z * Prob(Orange) * Prob(Evidence1|Orange) * Prob(Evidence2|Orange) ...
P(Other|Evidence)  = z * Prob(Other)  * Prob(Evidence1|Other)  * Prob(Evidence2|Other)  ...

分配最大数字的类别标签,您就完成了。

尽管名称如此,NaiveBayes在某些应用程序中表现出色。文本分类是它真正大放异彩的一个领域。

希望这有助于理解NaiveBayes算法背后的概念。

2022-03-08