• 贝叶斯过滤算法


    贝叶斯过滤算法的基本步骤  主要有以下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) 超过预定阈值时,就可以判断邮件为垃圾邮件。
  • 相关阅读:
    汇编学习笔记38
    汇编学习笔记40
    FormsAuthentication初接触感触颇多
    IE9默认下载器的选择问题! 会帮助喜欢迅雷的朋友们!
    [趣图]程序员的宿命
    英文双引号引发的杯具
    IT人去大公司还是去小公司工作?
    Sharepoint2010应用开发四:使用客户对象模型(Client Object Model)向SharePoint列表写数据
    你的实力决定了你的假期的长短(转)
    Sharepoint2010应用开发五:使用WCF操作Sharepoint列表数据
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100494.html
Copyright © 2020-2023  润新知