我试图理解为什么朴素的贝叶斯分类器可以通过特征的数量进行线性扩展,与没有天真假设的相同想法相比。我理解how the classifier works和what's so "naive"。我不清楚为什么天真的假设给我们线性缩放,而提升这个假设是指数的。我正在寻找一个示例的演示,该示例在具有线性复杂性的“天真”设置下显示算法,并且没有该假设的相同示例将演示指数复杂性。
答案 0 :(得分:10)
这里的问题在于数量
P(x1, x2, x3, ..., xn | y)
你必须估计。当你假设"天真" (功能独立)你得到
P(x1, x2, x3, ..., xn | y) = P(x1 | y)P(x2 | y) ... P(xn | y)
您可以单独估算每个P(xi | y)
。以自然的方式,此方法可以扩展线性,因为如果添加其他k
要素,则需要估算另一个k
概率,每个概率使用一些非常简单的技术(如计数对象)具有给定的功能)。
现在,没有天真,你没有任何分解。因此,您必须跟踪表单的所有概率
P(x1=v1, x2=v2, ..., xn=vn | y)
表示vi
的每个可能值。在最简单的情况下,vi
只是" true"或"假" (事件发生与否),这已经给你2^n
概率估计(每个可能的分配"真"和"假"到一系列{{1}布尔变量)。因此,您的算法复杂度呈指数级增长。然而,这里最大的问题通常不是计算问题 - 而是缺乏数据。由于估算的概率为n
,因此您需要超过2^n
个数据点才能对所有可能的事件进行任何估算。在现实生活中,您将不会遇到大小为10,000,000,000,000点的数据集......这是使用这种方法的40个要素的一些必需(唯一!)点。
答案 1 :(得分:7)
糖果选择
在孟买的郊区,有一位老奶奶,她的生活量化观点为她赢得了名字统计奶奶。她一个人住在一个巨大的豪宅里,在那里她练习 声音统计分析 ,屏蔽了大众媒体和所谓权威人士作为常识兜售的无可救药的瑕疵。
每年生日那天,她的全家都会去看望她并留在豪宅里。儿子,女儿,他们的配偶,孙子孙女。每年都会大肆宣传,并且大肆吹嘘。但是奶奶最喜欢的是和她的孙子们见面并和他们一起玩。她总共有十个孙子,大约10岁左右,她会亲切地称他们为“随机变量"”。
每年,奶奶都会向每个孩子赠送糖果。奶奶有一个装满十种不同糖果的大盒子。她会给每个孩子一个糖果,因为她不想破坏他们的牙齿。但是,由于她非常爱孩子,她花了很大力气决定向哪个孩子赠送哪种糖果,以便最大化他们的总幸福感(最大可能性估计,就像她所说的那样)。
但这对奶奶来说不是一件容易的事。她知道每种类型的糖果都有可能让孩子开心。对于不同的糖果类型和不同的孩子,这种可能性是不同的。 Rakesh比绿色糖果更喜欢红色糖果,而Sheila更喜欢橙色糖果。
10个孩子中的每个孩子对10个糖果中的每一个都有不同的偏好。
此外,他们的偏好在很大程度上取决于对奶奶不了解的外部因素(隐藏变量)。
如果Sameer在前往豪宅的路上看到一座蓝色建筑,他想要一块蓝色糖果,而Sandeep总是想要那天与他衬衫颜色相匹配的糖果。但最大的挑战是他们的幸福取决于其他孩子们得到的糖果!如果Rohan得到一个红色的糖果,那么Niyati也会想要一个红色的糖果,而其他任何东西都会让她哭到她母亲的怀抱中(有条件的依赖)。 Sakshi总是想要大多数孩子得到的东西(正相关),而如果没有其他人得到他收到的那种糖果,那么Tanmay会最开心(负相关)。奶奶很久以前就断定她的孙子孙女完全相互依赖。
奶奶选择合适的糖果对于奶奶来说,这在计算上是一项艰巨的任务。 条件太多 需要考虑,她无法简化计算。每年在她生日之前,她会花几天时间计算糖果的最佳分配,通过为所有孩子一起列举糖果的所有配置(这是一项成倍增长的任务)。她变老了,任务变得越来越艰难。她过去常常觉得自己会死去,然后才能找到让孩子最快乐的糖果的最佳选择。
但有趣的事情发生了。随着岁月的流逝和孩子们的成长,他们终于从青少年身边走过,变成了独立的成年人。他们的选择变得越来越不依赖于彼此,并且更容易弄清楚每个人最喜欢的糖果是什么(他们都喜欢糖果和奶奶)。
奶奶很快意识到这一点,她很高兴地开始称他们为" 独立随机变量 "。她更容易找出最佳的糖果选择 - 她只需要一次想到一个孩子,并且对于每个孩子,为这个孩子分配10种糖果类型中的每一种的幸福概率。然后她会选择那个孩子幸福概率最高的糖果,而不用担心她会分配给其他孩子的东西。这是一项非常简单的任务,奶奶终于能够做到对了。
那一年,孩子们终于最幸福了,奶奶在她的100岁生日派对上度过了愉快的时光。那天过了几个月,奶奶去世了,脸上带着微笑,Sheldon Ross手里拿着一份副本。外卖:在统计建模中,具有相互依赖的随机变量的使得很难找到每个变量的最佳值分配,从而最大化其累积概率组。
您需要枚举所有可能的配置(变量数量呈指数增长)。但是,如果变量是独立的,则很容易选择最大化每个变量概率的单个分配,然后组合各个分配以获得整个集合的配置。
在Naive Bayes中,您假设变量是独立的(即使它们实际上不是)。这简化了您的计算,事实证明,在许多情况下,它实际上给出的估计值与您从更多(计算上)昂贵的模型中获得的估计值相比较,该模型考虑了变量之间的条件依赖性。
我没有在这个答案中包含任何数学,但希望这使得更容易掌握朴素贝叶斯背后的概念,并自信地接近数学。 (维基百科页面是一个好的开始:朴素贝叶斯)。
为什么它是天真的"?
朴素贝叶斯分类器假设X | YX | Y正态分布,在XX的任何分量之间具有零协方差。由于这对于任何真正的问题都是完全不可信的假设,我们称之为天真。
Naive Bayes将做出以下假设:
如果你喜欢泡菜,而且你喜欢冰淇淋,天真的贝叶将会独立,并给你一个泡菜冰淇淋,并认为你会喜欢它。
这可能不是真的。
有关数学示例,请参阅:https://www.analyticsvidhya.com/blog/2015/09/naive-bayes-explained/