本文主要是介绍朴素贝叶斯(NB)分类算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.分类任务描述
分类任务是机器学习中最常见的任务。给定一个对象X,将X划分到预定好的某一类别y中。其中Y代表所有类别的一个有限集合,如新闻类别:{军事新闻,科技新闻,生活新闻}。y代表分类集合中的某一类别,如军事新闻。X代表待分类的对象,x代表该对象的特征,如X代表一篇待分类的文章则x就代表该文章中的单词。目标:输入X,输出y
2.贝叶斯定理
推导过程:
已知条件概率公式为: 在Y发生的情况下,X发生的概率
===》
所以:
我们的目的是在已知对象X情况下,求X对象所属类别Yi的概率,所以最后的公式为:
概念理解:
P(X):对象X自身的概率,是一个固定值,可以忽略。可以这么理解:给定一篇文章,这篇文章已经存在所以概率为1。
P(Yi | X):给定对象X,求对象X所属类别的概率
P(Yi):先验概率(重要)例:给定100篇文章,其中有50篇属于军事文章,30篇属于体育文章,20篇属于科技文章。那么军事文章的先验概率为P(军事) = 50/100,体育文章的先验概率为P(体育) = 30/100,科技文章的先验概率为P(科技) = 20/100。
P(X | Yi):某一类别产生该对象的概率。我们先看一个简单的例子P(Xi | X),前面说到X是一个对象,还是举文章的例子即X是是一篇文章,Xi是这篇文章的特征即文章中的关键词,那么这个概率就可以理解为一片文章中出现某一个关键词的概率,这样我们就可以进一步深入一个概率为P(Xi | Yi)即某一类文章中出现某一个关键词的概率。例:共有军事类文章50篇,其中飞机这个单词出现了20次,那么P(Xi | Yi) = 20/50篇文章的总词数。
3.朴素贝叶斯
前提条件:独立同分布
在有独立同分布的前提条件下有: P(X | Yi) = P(X1 | Yi) * P(X2 | Yi) * P(X3 | Yi) ......... * P(Xn | Yi) 所以由此推出朴素贝叶斯公式为:
由上图可知,因为P(X)是一个固定值可以忽略,所以想要预测分类,我们只需要知道两个参数,其实这两个参数就是我们的模型。
1.P(Yi):先验概率
2.P(Xi | Yi):条件概率
最大似然估计法求条件概率:
P(Xi | Yi) = Count(Xi,Yi)/ Count(Yi)
例:给定1000篇文章,共有500篇军事文章,300篇科技文章,200篇体育文章。军事文章中飞机出现了200篇,导弹出现了80篇,则:
先验概率:P(军事)=500/1000=0.5
条件概率:P(飞机 | 军事) = 200/500 = 0.4 ,P(导弹 | 军事) = 80 / 500 = 0.16
这篇关于朴素贝叶斯(NB)分类算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!