您的位置:首页 > 其它

机器学习笔记3——朴素贝叶斯算法(分类)

2018-03-26 20:32 731 查看

1、贝叶斯公式

贝叶斯公式众所周知,推到也比较简单,这里直接写出结果

p(A|B)=p(A)p(B|A)p(B)其中p(A)称为先验概率,p(A|B)称为后验概率。贝叶斯公式的意义就在于,事件B的发生对事件A的概率产生了影响,影响系数就是p(B|A)p(B)

2、朴素贝叶斯

2.1 训练数据集

训练数据集(x⃗ k,yk),yk∈c1,c2,⋯,cK

2.2 模型

输入:x⃗ =(a1,a2,⋯,an)

要判断其分类,需要找出使得p(y=ck|x⃗ ) 最大的ck,k=1,2,⋯,K

根据贝叶斯公式可知,p(y=ck|x⃗ )=p(y=ck)p(x⃗ |y=ck)p(x⃗ )

朴素贝叶斯的“朴素”二字的意义在于,假设输入x⃗ i中的各个特征a1,a2,⋯,an都是相互独立的。因此,p(x⃗ |y=ck)=p(a1|y=ck)p(a2|y=ck)⋯p(an|y=ck)贝叶斯公式的求解将变得简单,其中p(x⃗ )可以用全概率公式求解。剩下的问题就是求解p(y=ck)和p(ai|y=ck),常用的方法有极大似然估计和贝叶斯估计。

2.3.1 极大似然估计

假设样本总数为N,那么先验概率p(y=ck)即属于ck的样本数/总样本数N

p(y=ck)=∑Ni=1I(yi=ck)N而p(ai|y=ck)即 ck类的样本中ai出现的次数/ck类的样本数

p(ai|y=ck)=∑Ni=1I(yi=ck,xki=ai)∑Ni=1I(yi=ck)

3.实例python实现

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: