Atitti 文本分类  以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案

1.1. 七、什么是贝叶斯过滤器?1

1.2. 八、建立历史资料库2

1.3. 十、联合概率的计算3

1.4. 十一、最终的计算公式3

1.5. 。这时我们还需要一个用于比较的门槛值。Paul Graham的门槛值是0.9,概率大于0.9,4

1.1. 七、什么是贝叶斯过滤器?

垃圾邮件是一种令人头痛的顽症,困扰着所有的互联网用户。

正确识别垃圾邮件的技术难度非常大。传统的垃圾邮件过滤方法,主要有"关键词法"和"校验码法"等。前者的过滤依据是特定的词语;后者则是计算邮件文本的校验码,再与已知的垃圾邮件进行对比。它们的识别效果都不理想,而且很容易规避。

2002年,Paul Graham提出使用"贝叶斯推断"过滤垃圾邮件。他说,这样做的效果,好得不可思议。1000封垃圾邮件可以过滤掉995封,且没有一个误判。

另外,这种过滤器还具有自我学习的功能,会根据新收到的邮件,不断调整。收到的垃圾邮件越多,它的准确率就越高。

1.2. 八、建立历史资料库

贝叶斯过滤器是一种统计学过滤器,建立在已有的统计结果之上。所以,我们必须预先提供两组已经识别好的邮件,一组是正常邮件,另一组是垃圾邮件。

我们用这两组邮件,对过滤器进行"训练"。这两组邮件的规模越大,训练效果就越好。Paul Graham使用的邮件规模,是正常邮件和垃圾邮件各4000封。

"训练"过程很简单。首先,解析所有邮件,提取每一个词。然后,计算每个词语在正常邮件和垃圾邮件中的出现频率。比如,我们假定"sex"这个词,在4000封垃圾邮件中,有200封包含这个词,那么它的出现频率就是5%;而在4000封正常邮件中,只有2封包含这个词,那么出现频率就是0.05%。(【注释】如果某个词只出现在垃圾邮件中,Paul Graham就假定,它在正常邮件的出现频率是1%,反之亦然。这样做是为了避免概率为0。随着邮件数量的增加,计算结果会自动调整。)

有了这个初步的统计结果,过滤器就可以投入使用了。

1.3. 十、联合概率的计算

做完上面一步,请问我们能否得出结论,这封新邮件就是垃圾邮件?

回答是不能。因为一封邮件包含很多词语,一些词语(比如sex)说这是垃圾邮件,另一些说这不是。你怎么知道以哪个词为准?

Paul Graham的做法是,选出这封信中P(S|W)最高的15个词,计算它们的联合概率

所谓联合概率,就是指在多个事件发生的情况下,另一个事件发生概率有多大。比如,已知W1和W2是两个不同的词语,它们都出现在某封电子邮件之中,那么这封邮件是垃圾邮件的概率,就是联合概率。

1.4. 十一、最终的计算公式

将上面的公式扩展到15个词的情况,就得到了最终的概率计算公式:

P=1-(1-p1)*(1-p2)*(1-p3);

一封邮件是不是垃圾邮件,就用这个式子进行计算

1.5. 。这时我们还需要一个用于比较的门槛值。Paul Graham的门槛值是0.9,概率大于0.9,

表示15个词联合认定,这封邮件有90%以上的可能属于垃圾邮件;概率小于0.9,就表示是正常邮件。

有了这个公式以后,一封正常的信件即使出现sex这个词,也不会被认定为垃圾邮件了。

参考资料

贝叶斯推断及其互联网应用(二):过滤垃圾邮件 - 阮一峰的网络日志.html

Atitit 贝叶斯算法的原理以及垃圾邮件分类的原理

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Atiend

Atitti 文本分类  以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案相关推荐

  1. 文本分类:垃圾邮件分类

    https://appliedmachinelearning.blog/2017/01/23/email-spam-filter-python-scikit-learn/ 转自:http://fina ...

  2. 人工智能知识全面讲解:垃圾邮件克星——朴素贝叶斯算法

    6.1 什么是朴素贝叶斯 6.1.1 一个流量预测的场景 某广告平台接到小明和小李两家服装店的需求,准备在A.B两个线上渠道 投放广告.因为小明和小李两家店都卖女装,属于同一行业相同品类的广告, 所以 ...

  3. 机器学习:朴素贝叶斯算法与垃圾邮件过滤

    简介 贝叶斯算法是由英国数学家托马斯·贝叶斯提出的,这个算法的提出是为了解决"逆向概率"的问题.首先我们先来解释下正向概率与逆向概率的含义: 正向概率:假设一个箱子里有5个黄色球和 ...

  4. 朴素贝叶斯算法实现对邮件的分类

    通过朴素贝叶斯算法来分类垃圾邮件的PYTHON实现(超易懂) 文章目录 通过朴素贝叶斯算法来分类垃圾邮件的PYTHON实现(超易懂) 前言 一.朴素贝叶斯算法分类垃圾邮件原理 二.python实现 1 ...

  5. 贝叶斯算法 — 朴素贝叶斯分类器— 过滤垃圾邮件 — 流失用户 — 用户画像

    目录 应用 1. 胃疼胃癌 2. 过滤垃圾邮件 朴素贝叶斯分类器 概念介绍 朴素贝叶斯分类器原理 贝叶斯分类器的应用 公式 求得是后验概率,等式右侧为先验概率 贝叶斯定理本质:通过 先验概率 求 后验 ...

  6. 最容易理解的贝叶斯算法原理

    1. 简介 在网络上介绍贝叶斯定理,贝叶斯网格的资料随处可见,我在此处就简单给大家的阐述一下什么是贝叶斯,贝叶斯方法其实在高中的时候我们就已经开始接触了,高中的概率大部分讲述的就是贝叶斯方法. 其实在 ...

  7. 机器学习:朴素贝叶斯算法+中文情感分类+python

    朴素贝叶斯中文情感分类 1.写在前面 朴素贝叶斯算法理论在很多博客上已经解释的很详细了,本文就不再叙述,本文注重于算法的应用以及编程实现,在读取前人的博客以及他们的项目应用,本人结合书本<机器学 ...

  8. 详解:贝叶斯算法(bayesian)在GCMail反垃圾邮件系统中的应用

    贝叶斯在在反垃圾邮件的产品中应用很多,也是当前最好的反垃圾邮件算法,著名的卡巴斯基病毒库代码就是采用贝叶斯过滤算法,在目前的邮件系统中采用贝叶斯过滤算法的唯有GCMAil邮件服务器.下面我就对贝叶斯反 ...

  9. Python微调文本顺序对抗朴素贝叶斯算法垃圾邮件分类机制

    封面图片:<Python可以这样学>,ISBN:9787302456469,董付国,清华大学出版社 图书详情(京东): ================= 关于朴素贝叶斯算法中文垃圾邮件分 ...

  10. 朴素贝叶斯(西瓜数据集分类,社区恶意留言分类,垃圾邮件分类,新浪新闻分类),AODE分类器 代码实现

    朴素贝叶斯(西瓜数据集分类,社区恶意留言分类,垃圾邮件分类,新浪新闻分类),AODE分类器 代码实现 以下代码为本人学习后,修改或补充后的代码实现,数据集和原代码请参考:https://github. ...

最新文章

  1. Exchange 2003 迁移至 Exchange 2010 完全攻略(二)
  2. python管理系统项目首选公司_Python 项目的部署,目前互联网公司有哪些成熟的方案?...
  3. python字典教程:添加与删除
  4. c语言周传生教材答案,C语言程序设计与实践(普通高等教育“十二五”规划教材)...
  5. QT的QDBusPendingReply类的使用
  6. 【Qt】2D绘图之绘制图像(二)
  7. 令牌桶限流之redis-cell的安装,使用,详解
  8. redis之 zadd、zremrangebyscore、zremrangebyrank、zscore、zcard、zcount、zrangebyscore、zinczrevrankzrevrange
  9. 关于html5音频如何应用及解决方法?
  10. php5框架,Thinkphp5.1框架
  11. php 8.0 jit,PHP 8.0 正式版发布,性能提升 10%
  12. 一汽奔腾b7o价位_全新奔腾B70正式上市,前脸被吐槽酷似某豪华品牌
  13. Linux之web服务
  14. Trick(四)——翻转字符串的实现
  15. mysql必知必会心得_SQL必知必会知识总结
  16. 回溯算法高效解标准数独(MarkDown)
  17. 当下的力量-埃克哈特·托利
  18. 如何设计网页排版和样式 - 前端页面设计
  19. 最短路默写1最短路默写2
  20. 自己动手该 博客 百度给的模板不好看,有没个性

热门文章

  1. java jpanel 叠加_java之JFrame、JPanel混合布局-Go语言中文社区
  2. React学习文档阅读(一)
  3. 在 Node.js 中设计一种 flexible 的模式(CQRS/ES/Onion) (译)
  4. plsql oracle client没有正确安装(plsql连接远程数据库)
  5. 企业级 Docker Registry--harbor安装和简单使用
  6. 微软消息队列MSMQ 传输异常的总结!
  7. 【库】JavaScript——滚动条( 不是很完善 )
  8. Linux-第一篇linux基本认识
  9. Java 后端彻底解决跨域问题(CORS)
  10. hexo发布后样式丢失