朴素贝叶斯没有天真的假设

dkv*_*dkv 8 classification machine-learning naivebayes

我试图理解为什么朴素贝叶斯分类器的特征数量可以线性扩展,与没有天真假设的相同想法相比.我理解分类器是如何工作的以及它是如此"天真"的.我不清楚为什么天真的假设给我们线性缩放,而提升这个假设是指数的.我正在寻找一个示例的演示,该示例在具有线性复杂性的"天真"设置下显示算法,并且没有该假设的相同示例将演示指数复杂性.

lej*_*lot 11

这里的问题在于数量

P(x1, x2, x3, ..., xn | y)
Run Code Online (Sandbox Code Playgroud)

你必须估计.当你假设"天真"(特征独立)时,你会得到

P(x1, x2, x3, ..., xn | y) = P(x1 | y)P(x2 | y) ... P(xn | y)
Run Code Online (Sandbox Code Playgroud)

你可以P(xi | y)独立估计每一个.以自然的方式,这种方法线性扩展,因为如果你添加另一个k特征,你需要估计另一个k概率,每个使用一些非常简单的技术(比如计算具有给定特征的对象).

现在,没有天真,你没有任何分解.因此,您必须跟踪表单的所有概率

P(x1=v1, x2=v2, ..., xn=vn | y)
Run Code Online (Sandbox Code Playgroud)

对于每个可能的值vi.在最简单的情况下,vi只是"真"或"假"(事件发生与否),这已经给你2^n概率估计(每个可能的"真"和"假"赋值给一系列n布尔变量).因此,您的算法复杂度呈指数级增长.然而,这里最大的问题通常不是计算问题 - 而是缺乏数据.由于存在2^n估计概率,因此需要多于2^n数据点来对所有可能事件进行任何估计.在现实生活中,您将不会遇到大小为10,000,000,000,000点的数据集......这是使用这种方法的40个要素的一些必需(唯一!)点.

  • 当然,您可以执行许多参数技巧,但随后您将创建关于分布的**人为**假设。而在“纯”概率方法中 - 你不需要。您“按原样”获取观测分布(如示例中的二项式)并仅估计参数。例如,如果您使用线性模型进行估计,那么您就对变量进行了很多假设,并且它与朴素贝叶斯通过假设独立性所做的没有本质上的不同。当然,这是一种有效的方法 - 只是它不再是“纯粹的概率推理” (2认同)

小智 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/