量子机器学习及区块链技术导论
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.3 朴素贝叶斯算法

K近邻算法和决策树算法的共同特点是都不需要进行训练。训练是指利用已知类别的数据去构造一个数学模型,这个模型是通过反复计算得到的,可以用来判断新的、类别不明的数据属于什么类别。朴素贝叶斯算法就是一种需要训练的分类方法。

朴素贝叶斯算法首先统计每一类中各种数据出现的可能性,也就是概率;然后利用这些概率来计算某种数据属于任何一类的可能性有多大。

仍然前面的电影数据为例,将6部老电影的打斗镜头个数F按照小于40、大于或等于40与小于80之间、大于或等于80分成三个区间,并以同样的方法,将接吻镜头个数K和爆破镜头个数B也分成三个区间,如表2.3所示。

表2.3 根据电影镜头个数划分区间

朴素贝叶斯算法的计算步骤如下:

(1)根据某类条件,按某特征计算数据出现的概率P。下文中P(A)是指A事件发生的概率,P(A|B)是B事件发生的情况下,A事件发生的概率,即条件概率。根据表2.3可以得到:

P(F80|爱情片)=0

P(40F<80|爱情片)=0.5

P(F<40|爱情片)=0.5

P(K80|爱情片)=1

P(40K<80|爱情片)=0

P(K<40|爱情片)=0

(2)计算某类数据出现的概率。根据表2.3可以得到:

P(爱情片)=2/6

P(战争片)=1/6

P(动作片)=2/6

P(其他类型)=1/6

(3)根据某特征计算某类数据归属每一类的概率。在上述的电影数据中,当前电影具有F<40、K80、B<40的特征时,可得知当前电影属于爱情片的概率为:

P(F<40|爱情片)×(K80|爱情片)×P(B<40|爱情片)×P(爱情片)=0.5×1×1×2/6=1/6

属于战争片的概率为0,属于动作片的概率为0,属于其他类型影片的概率为0,故可以得出结论:当前电影属于爱情片。

朴素贝叶斯算法的缺点是有时候两条假设都得不到满足;此外,在某些场合难以获得准确的先验概率。