统计学习方法——朴素贝叶斯

贝叶斯模型与其他模型的不同:

生成模型与判别模型

判别模型,即要判断这个东西到底是哪一类,也就是要求y,那就用给定的x去预测。
生成模型,是要生成一个模型,那就是谁根据什么生成了模型,谁就是类别y,根据的内容就是x

用一个例子阐述:

比如我们的任务是判断一只羊是山羊还是绵羊,判别模型就是先从历史数据中提取这些羊的特征来判断它是哪种羊。生成模型则是我先给你山羊,你研究山羊的特征,然后生成一个山羊的模型,绵羊同理。那么判断新来的一只羊时,把他的特征丢到两个模型中去,哪个模型得到的概率大,那这只羊就属于哪个种类。

朴素贝叶斯是什么?

基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练集,首先基于特征条件独立假设学习输入and输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

首先需要了解贝叶斯理论与条件概率

贝叶斯理论与条件概率

贝叶斯理论

贝叶斯学派的观点是,概率是个主观值,完全就是我们自己的判断,我可以先估计一个初始概率 ,然后每次根据出现的新情况,掌握的新信息,对这个初始概率进行修正,随着信息的增多,我就会慢慢逼近真实的概率。这个方法完美的解决了频率派的两个问题,我不用等样本累积到一定程度,先猜一个就行动起来了,因为我有修正大法,而且我也不关心是不是“足够多”。这种想法在如今的人工智能、图像识别、机器翻译等背后都能看到其影响。

言归正传,贝叶斯定理是如下公式:
在这里插入图片描述
A 是你要考察的目标事件,
P(A) 是这个目标事件的先验概率,又叫初始概率,或者基础概率。
B 是新出现的一个新事件。
P(A|B) 的意思是当B出现时A的概率,在这里就是我们需要的后验概率。
P(B|A) 是当A出现时B的概率。
P(B) 是B出现的概率,在这里具体计算稍微复杂一些,指当A出现时B的概率和当A不出时(用A_来表示)时B的概率的总和,用公式表达就是 P(B) = P(B|A) * P(A) + P(B|A_) * P(A_)。
P(B|A) / P(B) 可以看作一个修正因子。

上述式子也能简化成:

                          	 	后验概率 = 先验概率 x 修正因子

这里举一个经典的例子:

扫描二维码关注公众号,回复: 10323487 查看本文章

艾滋病毒(HIV)检测技术的准确度相当惊人。如果一个人真是HIV阳性,血液检测的手段有99.9%的把握把他这个阳性给检查出来而不漏网。如果一个人不携带HIV,那么检测手段的精度更高,达到99.99%——也就是说只有0.01%的可能性会冤枉他。已知一般人群中HIV携带者的比例是0.01%。现在假设我们随便在街头找一个人给他做检查,发现检测结果是HIV阳性,那么请问,这个人真的携带HIV的可能性是多大呢?

使用贝叶斯定理。A表示“这个人真的携带HIV”,B表示“检测出HIV”,那么根据现有条件,P(A) = 0.01%,P(B|A) = 99.9%,P(B|A-) = 0.01%,带入公式,计算得到P(A|B) = 0.01% * 99.9% * (99.9%*0.01% + 0.01%*99.99%) = 50%

条件概率

先用一个例子来简述一下:

有一个装了 7 块石头的罐子,其中 3 块是白色的,4 块是黑色的。如果从罐子中随机取出一块石头,那么是白色石头的可能性是多少?由于取石头有 7 种可能,其中 3 种为白色,所以取出白色石头的概率为 3/7 。那么取到黑色石头的概率又是多少呢?很显然,是 4/7 。我们使用 P(white) 来表示取到白色石头的概率,其概率值可以通过白色石头数目除以总的石头数目来得到。
在这里插入图片描述
如果这 7 块石头如下图所示,放在两个桶中,那么上述概率应该如何计算?
在这里插入图片描述
计算 P(white) 或者 P(black) ,如果事先我们知道石头所在桶的信息是会改变结果的。这就是所谓的条件概率(conditional probablity)。假定计算的是从 B 桶取到白色石头的概率,这个概率可以记作 P(white|bucketB) ,我们称之为“在已知石头出自 B 桶的条件下,取出白色石头的概率”。很容易得到,P(white|bucketA) 值为 2/4 ,P(white|bucketB) 的值为 1/3 。

条件概率的计算公式如下:
P(white|bucketB) = P(white and bucketB) / P(bucketB)

首先,我们用 B 桶中白色石头的个数除以两个桶中总的石头数,得到 P(white and bucketB) = 1/7 .其次,由于 B 桶中有 3 块石头,而总石头数为 7 ,于是 P(bucketB) 就等于 3/7 。于是又 P(white|bucketB) = P(white and bucketB) / P(bucketB) = (1/7) / (3/7) = 1/3 。

另外一种有效计算条件概率的方法称为贝叶斯准则。贝叶斯准则告诉我们如何交换条件概率中的条件与结果,即如果已知 P(x|c),要求 P(c|x),那么可以使用下面的计算方法:
在这里插入图片描述

使用条件概率来分类

上面我们提到贝叶斯决策理论要求计算两个概率 p1(x, y) 和 p2(x, y):

如果 p1(x, y) > p2(x, y), 那么属于类别 1;
如果 p2(x, y) > p1(X, y), 那么属于类别 2.

这并不是贝叶斯决策理论的所有内容。使用 p1() 和 p2() 只是为了尽可能简化描述,而真正需要计算和比较的是 p(c1|x, y) 和 p(c2|x, y) .这些符号所代表的具体意义是: 给定某个由 x、y 表示的数据点,那么该数据点来自类别 c1 的概率是多少?数据点来自类别 c2 的概率又是多少?注意这些概率与概率 p(x, y|c1) 并不一样,不过可以使用贝叶斯准则来交换概率中条件与结果。具体地,应用贝叶斯准则得到:
在这里插入图片描述
使用上面这些定义,可以定义贝叶斯分类准则为:

如果 P(c1|x, y) > P(c2|x, y), 那么属于类别 c1;
如果 P(c2|x, y) > P(c1|x, y), 那么属于类别 c2.

朴素贝叶斯为何朴素?

我们假设特征之间 相互独立 。所谓 独立(independence) 指的是统计意义上的独立,即一个特征或者单词出现的可能性与它和其他单词相邻没有关系,比如说,“我们”中的“我”和“们”出现的概率与这两个字相邻没有任何关系。这个假设正是朴素贝叶斯分类器中 朴素(naive) 一词的含义。朴素贝叶斯分类器中的另一个假设是,每个特征同等重要。

Note:

朴素贝叶斯分类器通常有两种实现方式: 一种基于伯努利模型实现,一种基于多项式模型实现。这里采用前一种实现方式。该实现方式中并不考虑词在文档中出现的次数,只考虑出不出现,因此在这个意义上相当于假设词是等权重的。

极大似然估计

用网上一张图片来简述一下:
在这里插入图片描述
总结起来,最大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。

原理:极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。

详细可看:https://blog.csdn.net/qq_39355550/article/details/81809467

贝叶斯估计

用极大似然估计可能会出现索要估计的概率值为0的情况。这时会影响到后验概率的计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体地,条件概率的贝叶斯估计是:
在这里插入图片描述
式子 入>=0 等价于在随机变量各个取值的频数上赋予一个正数 入>0。当 入 = 0时就是极大似然估计。常取 入 = 1,这时称为拉普拉斯平滑。

Reference:
https://www.jianshu.com/p/7e8504e9b929
https://www.jianshu.com/p/94ec02bcd663
https://blog.csdn.net/m0_37687753/article/details/80946457
https://blog.csdn.net/qq_39355550/article/details/81809467

发布了28 篇原创文章 · 获赞 2 · 访问量 1020

猜你喜欢

转载自blog.csdn.net/sinat_36118365/article/details/101364211