Naive Bayes Model 朴素贝叶斯 简单易懂的笔记by hch

Naive Bayes model

朴素贝叶斯

简单易懂 by hch

我们用一个例子开始:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TRLYvmZg-1581687674595)(2300F843F1F0462DBFDB10799415FA41)]
我们把它当成概率论求条件概率的题解解试试

P ( 感 冒 ∣ 打 喷 嚏 ∩ 建 筑 工 人 ) = P ( 感 冒 ∩ 打 喷 嚏 ∩ 建 筑 工 人 ) P ( 打 喷 嚏 ∩ 建 筑 工 人 ) = P ( 感 冒 ) P ( 打 喷 嚏 ∩ 建 筑 工 人 ) ∗ P ( 感 冒 ∩ 打 喷 嚏 ∩ 建 筑 工 人 ) P ( 感 冒 ) = P ( 感 冒 ) P ( 打 喷 嚏 ∩ 建 筑 工 人 ) ∗ P ( 打 喷 嚏 ∩ 建 筑 工 人 ∣ 感 冒 ) = P ( 感 冒 ) P ( 打 喷 嚏 ) ∗ P ( 建 筑 工 人 ) ∗ ( P ( 打 喷 嚏 ∣ 感 冒 ) + P ( 建 筑 工 人 ∣ 感 冒 ) ) P(感冒|打喷嚏\cap建筑工人)=\frac{P(感冒\cap打喷嚏\cap建筑工人)}{P(打喷嚏\cap建筑工人)}\\=\frac{P(感冒)}{P(打喷嚏\cap建筑工人)}*\frac{P(感冒\cap打喷嚏\cap建筑工人)}{P(感冒)}\\=\frac{P(感冒)}{P(打喷嚏\cap建筑工人)}*P(打喷嚏\cap建筑工人|感冒)\\=\frac{P(感冒)}{P(打喷嚏)*P(建筑工人)}*(P(打喷嚏|感冒)+P(建筑工人|感冒)) P=P()P()=P()P()P()P()=P()P()P()=P()P()P()P()+P()

p ( A ∣ B ) = P ( A B ) p ( B ) = P ( A ) P ( B ) ∗ P ( A B ) P ( A ) = P ( A ) P ( B ) ∗ P ( B ∣ A ) p(A|B)=\frac{P(AB)}{p(B)}=\frac{P(A)}{P(B)}*\frac{P(AB)}{P(A)}=\frac{P(A)}{P(B)}*P(B|A) p(AB)=p(B)P(AB)=P(B)P(A)P(A)P(AB)=P(B)P(A)P(BA)

多么神奇:

我们会发现
P ( 感 冒 ) , P ( 打 喷 嚏 ) , P ( 打 喷 嚏 ∣ 感 冒 ) , P ( 建 筑 工 人 ∣ 感 冒 ) P(感冒),P(打喷嚏),P(打喷嚏|感冒),P(建筑工人|感冒) P()P()P()P()
是在表中多么好求!!

开始拓展

x 特征1 特征2 特征n tag
x1 1 0 1 1 1
x2 0 1 1 1 3
x3 1 0 0 1 2
xm 1 0 0 0 5

xj表示第j个样本,共有m个样本
xji表示第j个样本的第i维特征值
yj表示第j个样本的tag,即结果
tag共有K种
ck表示第k种tag
我们试图通过已知tag的数据去训练模型,从而预测未知tag的数据
(下面数学公式有哪里不懂了,记得回来看这里的定义)

预想下,我们如何预测:

给予我们上面一个表(样本数据),再给我们一个

x 待 预 测 = [ 1 , 0 , 1 , 1 , . . . , 1 ] x_{待预测}=[1,0,1,1,...,1] x=[1,0,1,1,...,1]
让我们预测它的tag?
很容易结合上面例子,想到针对不同的tag取值,我们都求一下它们的条件概率,然后选里面最大的,即(下面用x表示 x_待预测)

y = a r g m a x { P ( Y = c k ∣ X = x ) } y=arg max{P(Y=c_k|X=x)} y=argmaxP(Y=ckX=x)

a r g m a x ( f ( x ) ) 表 示 f ( x ) 取 最 大 值 时 的 x 0 argmax(f(x))表示f(x)取最大值时的x_0 argmax(f(x))fxx0

P ( Y = c k ∣ X = x ) = P ( X = x ∣ Y = c k ) ∗ P ( Y = c k ) P ( X = x ) = ( ∑ i = 1 n P ( X = x i ∣ Y = c k ) ) ∗ P ( Y = c k ) ∏ i = 1 n P ( X = x i ) P(Y=c_k|X=x)=P(X=x|Y=c_k)*\frac{P(Y=c_k)}{P(X=x)}\\ =(\sum_{i=1}^{n} P(X=x_i|Y=c_k))* \frac{P(Y=c_k)}{\prod_{i=1}^{n}P(X=x_i)} P(Y=ckX=x)=P(X=xY=ck)P(X=x)P(Y=ck)=(i=1nP(X=xiY=ck))i=1nP(X=xi)P(Y=ck)
理解不了上面数学公式的,试着结合生动的例子理解下里面变量的含义,
正如马克思指出的 :

认识来源于实践 而不是看着式子空想

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SFJmGPhf-1581687674597)(BA856FC7B6D5436296300FB356EE638C)]

猜你喜欢

转载自blog.csdn.net/hch977/article/details/104320041