李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯

朴素贝叶斯的引入

假设我们有两个盒子,第一个盒子里有大小形状相同的4颗蓝球,1颗绿球;第二个盒子里有大小形状相同的2颗蓝球,3颗绿球。我们从两个盒子里任取一颗球是蓝球,问这颗蓝球从第一个盒子里面取出的概率是多少?
这就是后验概率的问题,根据贝叶斯定理计算如下:

P ( B 1 ∣ B l u e ) = P ( B l u e ∣ B 1 ) P ( B 1 ) P ( B l u e ∣ B 1 ) + P ( B l u e ∣ B 2 ) P ( B 2 ) P(B_1|Blue)=\frac{P(Blue|B_1)P(B_1)}{P(Blue|B_1)+P(Blue|B_2)P(B_2)} P(B1Blue)=P(BlueB1)+P(BlueB2)P(B2)P(BlueB1)P(B1)

将上述例子一般化之后就如下图所示:
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第1张图片
x x x是蓝色,则 P ( x ∣ C 1 ) = 4 5 P(x|C_1)=\frac{4}{5} P(xC1)=54, P ( C 1 ) = 5 10 = 1 2 P(C_1)=\frac{5}{10}=\frac{1}{2} P(C1)=105=21, P ( x ∣ C 2 ) = 2 5 P(x|C_2)=\frac{2}{5} P(xC2)=52, P ( C 2 ) = 5 10 = 1 2 P(C_2)=\frac{5}{10}=\frac{1}{2} P(C2)=105=21

通过上面的推论我们知道了如何求取一个新给的样本属于各个类别的概率,但上面所讲的是在一个封闭的系统( x x x只能从两个盒子里面抽取)里面的概率,且我们可以直接看出两个类别的概率分布。然而,在实际的应用中我们往往没有某一个类别精确的概率分布,我们的训练集也无法穷举所有的可能性,这时候就要求我们对一个类别求取一个最符合它样本分布的概率模型,以便我们在这个概率模型下计算 P ( x ∣ C i ) P(x|C_i) P(xCi)

如何求取概率模型

我们先假设数据的概率分布(正态、伯努利、播送、···),然后用概率公式去计算 x x x属于的类型 P ( C 1 ∣ x ) P(C_1|x) P(C1x)
一般的,我们假设 x x x为高斯分布,这是由概率论中的中心极限定理所得来的。

多维高斯分布:
在这里插入图片描述
其中均值为 μ \mu μ,协方差为 ∑ \sum
这里举个例子来看一下不同的 μ \mu μ ∑ \sum 对分布的影响:
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第2张图片李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第3张图片

接下来就是求取这个假设的分布中的参数 μ \mu μ ∑ \sum 了,这里用极大似然估计来求取。比如说我们用某个模型生成了下图所示的79个样本点,那么我们的目的就是要求最有可能生成这79个样本点的模型,即求出这个模型的 μ \mu μ ∑ \sum
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第4张图片
这里我们用下面的极大似然估计的函数:
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第5张图片

我们按照上式和两个类别的训练集来求出两个类别的极大似然估计函数的系数(第一个类别中有79个样本,第二个类别中有61个样本):
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第6张图片

分类

接下来就可以将分布函数带入到贝叶斯函数中来进行分类了:
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第7张图片
如果 P ( C 1 ∣ x ) > 0.5 P(C_1|x)>0.5 P(C1x)>0.5则可以推出 x x x是属于第一类的。
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第8张图片

但通常情况是两个模型会共用一个 ∑ \sum ,那么似然函数就变成了:
在这里插入图片描述
这个式子中的 μ 1 \mu_1 μ1 μ 2 \mu_2 μ2和上面的式子中是一样的, ∑ = 79 140 ∑ 1 + 61 140 ∑ 2 \sum=\frac{79}{140}\sum^1+\frac{61}{140}\sum^2 =140791+140612

这个时候就变成了线性分类:
李宏毅深度学习笔记(五)分类:概率生成模型(Probabilistic Generative Model)——朴素贝叶斯_第9张图片
可以看到上面的模型分类准确率并不高,这可能是特征值选取的比较少,在增加特征值之后会好很多。

你可能感兴趣的:(李宏毅深度学习)