主要有以下7个步骤:
1. 收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集。
2. 提取邮件主题和邮件体中的独立字符串,例如 ABC32,¥234等作为TOKEN串并统计提取出的TOKEN串出现的次数即字频。按照上述的方法分别处理垃圾邮件集和非垃圾邮件集中的所有邮件。
3. 每一个邮件集对应一个哈希表,hashtable_good对应非垃圾邮件集而hashtable_bad对应垃圾邮件集。表中存储TOKEN串到字频的映射关系。
4. 计算每个哈希表中TOKEN串出现的概率P=(某TOKEN串的字频)/(对应哈希表的长度)。
5. 综合考虑hashtable_good和hashtable_bad,推断出当新来的邮件中出现某个TOKEN串时,该新邮件为垃圾邮件的概率。数学表达式为:
A 事件 ---- 邮件为垃圾邮件;
t1,t2 …….tn 代表 TOKEN 串
则 P ( A|ti )表示在邮件中出现 TOKEN 串 ti 时,该邮件为垃圾邮件的概率。
设
P1 ( ti ) = ( ti 在 hashtable_good 中的值)
P2 ( ti ) = ( ti 在 hashtable_ bad 中的值)
则 P ( A|ti ) =P2 ( ti ) /[ ( P1 ( ti ) +P2 ( ti ) ] ;
6. 建立新的哈希表hashtable_probability存储TOKEN串ti到P(A|ti)的映射
7. 至此,垃圾邮件集和非垃圾邮件集的学习过程结束。根据建立的哈希表 hashtable_probability可以估计一封新到的邮件为垃圾邮件的可能性。
当新到一封邮件时,按照步骤2,生成TOKEN串。查询hashtable_probability得到该TOKEN 串的键值。
假设由该邮件共得到N个TOKEN 串,t1,t2…….tn,hashtable_probability中对应的值为 P1 , P2 , ……PN , P(A|t1 ,t2, t3……tn) 表示在邮件中同时出现多个TOKEN串t1,t2……tn时,该邮件为垃圾邮件的概率。
由复合概率公式可得
P(A|t1 ,t2, t3……tn)=(P1*P2*……PN)/[P1*P2*……PN+(1-P1)*(1-P2)*……(1-PN)]
当 P(A|t1 ,t2, t3……tn) 超过预定阈值时,就可以判断邮件为垃圾邮件。
朴素贝叶斯分类器是一种应用基于独立假设的贝叶斯定理的简单概率分类器,之所以成为朴素,应该是Naive的直译,意思为简单,朴素,天真。
1、贝叶斯方法 贝叶斯方法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的。
贝叶斯方法的特点是结合先验概率和后验概率,即避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。贝叶斯分类算法在数据集较大的情况下表现出较高的准确率,同时算法本身也比较简单。
2、朴素贝叶斯算法 朴素贝叶斯算法(Naive Bayesian algorithm) 是应用最为广泛的分类算法之一。 朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。
也就是说没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。 虽然这个简化方式在一定程度上降低了贝叶斯分类算法的分类效果,但是在实际的应用场景中,极大地简化了贝叶斯方法的复杂性。
扩展资料 研究意义 人们根据不确定性信息作出推理和决策需要对各种结论的概率作出估计,这类推理称为概率推理。概率推理既是概率学和逻辑学的研究对象,也是心理学的研究对象,但研究的角度是不同的。
概率学和逻辑学研究的是客观概率推算的公式或规则。 而心理学研究人们主观概率估计的认知加工过程规律。
贝叶斯推理的问题是条件概率推理问题,这一领域的探讨对揭示人们对概率信息的认知加工过程与规律、指导人们进行有效的学习和判断决策都具有十分重要的理论意义和实践意义。
为了测试评估贝叶斯分类器的性能,用不同数据集进行对比实验是必不可少的. 现有的贝叶斯网络实验软件包都是针对特定目的设计的,不能满足不同研究的需要. 介绍了用Matlab在BNT软件包基础上建构的贝叶斯分类器实验平台MBNC,阐述了MBNC的系统结构和主要功能,以及在MBNC上建立的朴素贝叶斯分类器NBC,基于互信息和条件互信息测度的树扩展的贝叶斯分类器TANC,基于K2算法和GS算法的贝叶斯网络分类器BNC. 用来自UCI的标准数据集对MBNC进行测试,实验结果表明基于MBNC所建构的贝叶斯分类器的性能优于国外同类工作的结果,编程量大大小于使用同类的实验软件包,所建立的MBNC实验平台工作正确、有效、稳定. 在MBNC上已经进行贝叶斯分类器的优化和改进实验,以及处理缺失数据等研究工作。
为了测试评估贝叶斯分类器的性能,用不同数据集进行对比实验是必不可少的. 现有的贝叶斯网络实验软件包都是针对特定目的设计的,不能满足不同研究的需要. 介绍了用Matlab在BNT软件包基础上建构的贝叶斯分类器实验平台MBNC,阐述了MBNC的系统结构和主要功能,以及在MBNC上建立的朴素贝叶斯分类器NBC,基于互信息和条件互信息测度的树扩展的贝叶斯分类器TANC,基于K2算法和GS算法的贝叶斯网络分类器BNC. 用来自UCI的标准数据集对MBNC进行测试,实验结果表明基于MBNC所建构的贝叶斯分类器的性能优于国外同类工作的结果,编程量大大小于使用同类的实验软件包,所建立的MBNC实验平台工作正确、有效、稳定. 在MBNC上已经进行贝叶斯分类器的优化和改进实验,以及处理缺失数据等研究工作。
为了测试评估贝叶斯分类器的性能,用不同数据集进行对比实验是必不可少的. 现有的贝叶斯网络实验软件包都是针对特定目的设计的,不能满足不同研究的需要. 介绍了用Matlab在BNT软件包基础上建构的贝叶斯分类器实验平台MBNC,阐述了MBNC的系统结构和主要功能,以及在MBNC上建立的朴素贝叶斯分类器NBC,基于互信息和条件互信息测度的树扩展的贝叶斯分类器TANC,基于K2算法和GS算法的贝叶斯网络分类器BNC. 用来自UCI的标准数据集对MBNC进行测试,实验结果表明基于MBNC所建构的贝叶斯分类器的性能优于国外同类工作的结果,编程量大大小于使用同类的实验软件包,所建立的MBNC实验平台工作正确、有效、稳定. 在MBNC上已经进行贝叶斯分类器的优化和改进实验,以及处理缺失数据等研究工作.。
和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier,或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。
解决这个问题的方法一般是建立一个属性模型,对于不相互独立的属性,把他们单独处理。例如中文文本分类识别的时候,我们可以建立一个字典来处理一些词组。如果发现特定的问题中存在特殊的模式属性,那么就单独处理。
这样做也符合贝叶斯概率原理,因为我们把一个词组看作一个单独的模式,例如英文文本处理一些长度不等的单词,也都作为单独独立的模式进行处理,这是自然语言与其他分类识别问题的不同点。
实际计算先验概率时候,因为这些模式都是作为概率被程序计算,而不是自然语言被人来理解,所以结果是一样的。
在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。但这点有待验证,因为具体的问题不同,算法得出的结果不同,同一个算法对于同一个问题,只要模式发生变化,也存在不同的识别性能。这点在很多国外论文中已经得到公认,在机器学习一书中也提到过算法对于属性的识别情况决定于很多因素,例如训练样本和测试样本的比例影响算法的性能。
决策树对于文本分类识别,要看具体情况。在属性相关性较小时,NBC模型的性能稍微良好。属性相关性较小的时候,其他的算法性能也很好,这是由于信息熵理论决定的。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:3.547秒