机器学习:朴素贝叶斯+贝叶斯估计+BP人工神经网络习题手算|手工推导与习题计算
Posted 孤飞-博客园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习:朴素贝叶斯+贝叶斯估计+BP人工神经网络习题手算|手工推导与习题计算相关的知识,希望对你有一定的参考价值。
1.有 1000 个水果样例. 它们可能是香蕉,橙子或其它水果,已知每个水果的 3 种特性:是否偏长、是否甜、颜色是否是黄色
类型 | 长 | 不长 | 甜 | 不甜 | 黄色 | 非黄 | Total |
---|---|---|---|---|---|---|---|
香蕉 | 400 | 100 | 350 | 150 | 450 | 50 | 500 |
橙子 | 0 | 300 | 150 | 150 | 300 | 0 | 300 |
其它 | 100 | 100 | 150 | 50 | 50 | 150 | 200 |
Total | 500 | 500 | 650 | 350 | 800 | 200 | 1000 |
根据上表数据,分别利用朴素贝叶斯分类和贝叶斯估计方法,对一个(长,甜,黄色)水果进行识别,判断该水果属于:香蕉,橙子或其它水果哪一类?
解:
条件一致,舍去分母,加上分母可以将 正比于
替换为 等号
\\(P(长,甜,黄色)=P(长,甜,黄色∣香蕉)×P(香蕉)+P(长,甜,黄色∣橙子)×P(橙子)+P(长,甜,黄色∣其他水果)×P(其他水果)\\)
朴素贝叶斯分类方法:
\\(P(香蕉 | 长,甜,黄色)\\propto P(长 | 香蕉) * P(甜 | 香蕉) * P(黄色 | 香蕉) * P(香蕉)=\\frac400500\\times \\frac350500\\times \\frac450500\\times \\frac5001000=0.0252\\)
\\(P(橙子 | 长,甜,黄色) \\propto P(长 | 橙子) * P(甜 | 橙子) * P(黄色 | 橙子) * P(橙子)=\\frac0300\\times \\frac150300\\times \\frac300300\\times \\frac3001000=0.0\\)
\\(P(其它 | 长,甜,黄色) \\propto P(长 | 其它) * P(甜 | 其它) * P(黄色 | 其它) * P(其它)=\\frac100200\\times \\frac150200\\times \\frac50200\\times \\frac2001000=0.01875\\)
直接选择最大概率值就好了,即根据朴素贝叶斯分类,该水果属于香蕉.
贝叶斯估计方法:
设平滑参数\\(a\\)为1,其中特征可能数\\(k\\)都为2
\\(P(香蕉 | 长,甜,黄色)\\propto P(长 | 香蕉) * P(甜 | 香蕉) * P(黄色 | 香蕉) * P(香蕉)=\\frac400+1500+2\\times \\frac350+1500+2\\times \\frac450+1500+2\\times \\frac5001000=0.025089\\)
\\(P(橙子 | 长,甜,黄色) \\propto P(长 | 橙子) * P(甜 | 橙子) * P(黄色 | 橙子) * P(橙子)=\\frac0+1300+2\\times \\frac150+1300+2\\times \\frac300+1300+2\\times \\frac3001000=0.0\\)
\\(P(其它 | 长,甜,黄色) \\propto P(长 | 其它) * P(甜 | 其它) * P(黄色 | 其它) * P(其它)=\\frac100+1200+2\\times \\frac150+1200+2\\times \\frac50+1200+2\\times \\frac2001000=0.01875\\)
结果依然不变,即根据朴素贝叶斯估计,该水果属于香蕉.
解析:
首先,我们需要使用贝叶斯定理计算在给定(长,甜,黄色)水果的情况下,该水果属于每个类别的概率。由于在这个问题中每个特征是二元的(要么是,要么不是),因此我们可以使用朴素贝叶斯分类方法。对于一个测试水果,我们需要计算以下每个类别的条件概率,从而确定它最可能属于哪个类别:
\\(P(香蕉 | 长,甜,黄色) \\propto P(长 | 香蕉) * P(甜 | 香蕉) * P(黄色 | 香蕉) * P(香蕉)\\)
\\(P(橙子 | 长,甜,黄色) \\propto P(长 | 橙子) * P(甜 | 橙子) * P(黄色 | 橙子) * P(橙子)\\)
\\(P(其它 | 长,甜,黄色) \\propto P(长 | 其它) * P(甜 | 其它) * P(黄色 | 其它) * P(其它)\\)
其中\\(P(类别)\\)是每个类别的先验概率,可以通过将对应行中的总数除以总样本数进行计算。例如,对于香蕉类别,\\(P(香蕉) = 500/1000 = 0.5\\).
而条件概率\\(P(特征 | 类别)\\)可以通过对应的条目计算,例如对于“长”特征和香蕉类别,\\(P(长 | 香蕉)= 400/500 = 0.8\\)。
因此,对于一个(长,甜,黄色)水果,每个类别的朴素贝叶斯得分如下:
类别 | 香蕉 | 橙子 | 其它 |
---|---|---|---|
得分 | 0.25200 | 0.00000 | 0.01875 |
因此,该水果最有可能属于香蕉类别。
然而,朴素贝叶斯分类方法受极端数据点的影响较大,因此我们可以使用贝叶斯估计方法来缓解这种情况。具体来说,对于每个类别的每个特征,我们可以引入一个小的平滑参数进行修正。假设平滑参数为a,那么对于任意特征x和类别y,我们可以按照以下方式计算条件概率:
\\(P(x | y) = \\fraccount(x, y) + acount(y) + a * NumPossibleValues(x)\\)
其中,\\(count(x, y)\\)是在y类别下x特征的计数。\\(count(y)\\)是y类别的样本总数,\\(NumPossibleValues(x)\\)是x特征可能的取值,即2。
选择a的值通常是根据经验确定的,但在这里我们可以使用a = 1。
使用贝叶斯估计方法进行相同的分类,我们得到以下朴素贝叶斯估计得分表:
类别 | 香蕉 | 橙子 | 其它 |
---|---|---|---|
得分 | 0.25089 | 0.00049 | 0.01887 |
在这种情况下
附录:
朴素贝叶斯分类
是基于贝叶斯定理的一种分类算法,它假设各个特征之间相互独立,因此被称为“朴素”。
朴素贝叶斯分类的计算流程如下:
-
准备训练数据集,包括特征和对应的类别标签。
-
计算每个类别出现的概率 \\(P(Y)\\),并计算每个特征在每个类别下的概率 \\(P(X_i|Y)\\),即给定类别 \\(Y\\) 的条件下,每个特征 \\(X_i\\) 出现的概率。
-
对于一个新的样本,计算其属于每个类别的条件概率 \\(P(Y|X)\\),即在给定特征 \\(X\\) 的情况下,属于类别 \\(Y\\) 的概率。根据贝叶斯定理,有:
\\(P(Y|X) = \\fracP(X|Y)P(Y)P(X)\\)
其中,\\(P(X|Y)\\) 是根据训练数据估算出的在类别 \\(Y\\) 下特征 \\(X\\) 出现的条件概率,\\(P(Y)\\) 是训练数据中类别 \\(Y\\) 出现的概率,\\(P(X)\\) 是特征 \\(X\\) 的边缘概率,可以通过\\(P(X)=\\sum_YP(X|Y)P(Y)\\)计算得到。
-
根据上述公式计算每个类别下给定样本的条件概率,确定样本所属的类别。
如果给出的是多个特征,朴素贝叶斯分类的计算方式和单个特征相同,只是需要将所有特征的条件概率相乘。
具体来说,设一个样本的特征向量为 \\(X=(X_1,X_2,\\cdots,X_n)\\),其中 \\(n\\) 是特征的数量。朴素贝叶斯模型假设特征之间相互独立,因此可以将样本属于类别 \\(Y\\) 的条件概率表示为:
其中,\\(P(Y)\\) 是类别 \\(Y\\) 出现的概率,可以通过训练集中出现类别 \\(Y\\) 的样本数占总样本数的比例进行估计;\\(P(X_i|Y)\\) 是给定类别 \\(Y\\) 的条件下特征 \\(X_i\\) 出现的概率,可以通过训练集中出现类别 \\(Y\\) 且特征 \\(X_i\\) 出现的样本数占出现类别 \\(Y\\) 的样本数的比例进行估计。
\\(P(X)\\) 是特征向量 \\(X\\) 的边缘概率,可以通过对所有可能的类别 \\(Y\\) 进行求和得到:
然后,将计算得到的 \\(P(Y|X)\\) 按照概率从大到小排序,通常选择概率最大的类别作为样本所属的类别。
贝叶斯估计方法
,也称为拉普拉斯平滑(Laplace smoothing),是贝叶斯分类器中一种常用的平滑方法。它的主要思想是对于没有在训练数据中出现过的特征值,仍然分配一个非零的概率值,以避免在计算概率时出现分母为零的情况。
具体来说,设某个特征在训练数据集中出现的次数为 \\(N\\),特征的可能取值个数为 \\(k\\),则在贝叶斯估计中,我们将原本的频率估计公式 \\(P(X = x_i|Y = y_j) = \\fracN_i,jN_j\\) 改为:
\\(P_\\textsmooth(X = x_i|Y = y_j) = \\fracN_i,j + \\alphaN_j + \\alpha k\\)
其中,\\(N_i,j\\) 表示在训练数据集中,特征 \\(X = x_i\\) 且标签 \\(Y = y_j\\) 的样本数,\\(N_j\\) 表示标签为 \\(Y = y_j\\) 的样本数,\\(\\alpha\\) 是一个平滑参数,通常取值为 1。这样,在计算未出现过的特征值的概率时,分子仍然为 1,分母不为零,从而避免了出现无法计算的情况。
贝叶斯估计方法的优点是可以有效地避免过拟合,提高模型的泛化能力。但是,在实际应用中,由于使用了额外的参数 \\(\\alpha\\),需要进行参数调整,否则可能会影响模型的表现。
以上是关于机器学习:朴素贝叶斯+贝叶斯估计+BP人工神经网络习题手算|手工推导与习题计算的主要内容,如果未能解决你的问题,请参考以下文章