贝叶斯公式

公式描述:

公式中,事件Bi的概率为P(Bi),事件Bi已发生条件下事件A的概率为P(A│Bi),事件A发生条件下事件Bi的概率为P(Bi│A)。

spark hadoop 贝叶斯分类器 贝叶斯分类器算法_文本分类

朴素贝叶斯算法

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。是一种贝叶斯分类算法中最简单、最常用的一种分类算法。分类算法的任务就是构造分类器。

通过以上定理和“朴素”的假定,我们知道:

P( Category | Document) = P ( Document | Category ) * P( Category) / P(Document)

 

假设某个体有n项特征(Feature),分别为F1、F2、…、Fn。现有m个类别(Category),分别为C1、C2、…、Cm。贝叶斯分类器就是计算出概率最大的那个分类,也就是求下面这个算式的最大值:

P(C|F1F2...Fn) = P(F1F2...Fn|C)P(C) / P(F1F2...Fn)

由于 P(F1F2…Fn) 对于所有的类别都是相同的,可以省略,问题就变成了求

P(F1F2...Fn|C)P(C)

的最大值。

朴素贝叶斯分类器则是更进一步,假设所有特征都彼此独立,因此

P(F1F2...Fn|C)P(C) = P(F1|C)P(F2|C) ... P(Fn|C)P(C)

上式等号右边的每一项,都可以从统计资料中得到,由此就可以计算出每个类别对应的概率,从而找出最大概率的那个类。

虽然”所有特征彼此独立”这个假设,在现实中不太可能成立,但是它可以大大简化计算,而且有研究表明对分类结果的准确性影响不大。

 

朴素贝叶斯模型

朴素贝叶斯常用的三个模型有:

1.高斯模型:处理特征是连续型变量的情况

2.多项式模型:最常见,要求特征是离散数据,常用于文本分类。

3.伯努利模型:要求特征是离散的,且为布尔类型,即true和false,或者1和0

 

应用场景

1.垃圾邮件分类。


2.文本分类。

同邮件过滤算法。

3.拼写检查。


实例:拼写检查工具。

 

文本分析算法

停用词

停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。

词向量

词向量(Word embedding),又叫Word嵌入式自然语言处理(NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。

Tf-idf关键词提取

TF 词频统计

IDF 逆文档概率

如果某个词比较少见,但是它在这个篇文章章多次出现,那么他就反映了这篇文章的特性,正是我们所需要的关键词。

 

词频(TF)=某个词在文章中出现的次数/文章词的总数量

逆文档概率(IDF)=log(语料库的文档总数/包含该词的文档数+1)

TF-IDF = 词频(TF)x逆文档概率(IDF)

例子:

以一篇文章举例《 中国的蜜蜂养殖》 :假定该文长度为1000个词,"中国"、 "蜜蜂"、 "养殖"各出现20次,
则这三个词的"词频"(TF)都为0.02
搜索Google发现,包含"的"字的网页共有250亿张,假定这就是中文网页总数。包含"中国"的网页共有62.3亿张,包含"蜜蜂"的网页为0.484亿张,包含"养殖"的网页为0.973亿张
蜜蜂TF-IDF = 0.02*log(250/0.484+1)=0.02*2.713=0.0543

中国TF-IDF = 0.02* 0.603=0.0121

养殖TF-IDF = 0.02*2.410=0.0482

 

 

 

 

余弦相似度算法

 余弦相似度是利用计算两个向量之间的夹角,夹角越小相似度越高,其公式为:

假定A和B是两个n维向量,A是[A1,A2,...,An],B是[B1,B2,B3,...,Bn],则A与B的夹角余弦等于:

spark hadoop 贝叶斯分类器 贝叶斯分类器算法_spark hadoop 贝叶斯分类器_02

例子

沿用上面的例子,计算词频如下:

句子A:我 1,喜欢 2,看 2,电视 1,电影 1, 不 1,也 0。

句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。

写出词频向量:

句子A:[1,2,2,1,1,1,0]     句子B:[1,2,2,1,1,2,1]

spark hadoop 贝叶斯分类器 贝叶斯分类器算法_词频_03

用途:

关键词提取,标签提取