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

1.1. 最开始的垃圾邮件判断方法,使用contain包含判断,只能一个关键词,而且100%概率判断 1

1.2. 元件部件串联定律 1

1.3. 垃圾邮件关键词串联定律 表格法可视化贝叶斯定律 1

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

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

1.1. 文氏图,可以很清楚地看到在事件B发生的情况下,事件A发生的概率就是P(A∩B)除以P(B)。

1.2. 最开始的垃圾邮件判断方法,使用contain包含判断,只能一个关键词,而且100%概率判断

那么肯定不适用。。所以使用概率算法,出现一个垃圾词语,比如发票,则会判断概率为90%。。比如在出现另外一个垃圾词,比如购买,那么判断概率就会上升 达到9x%...

1.3. 元件部件串联定律

当一个元件可靠性为70%的时候,那么俩个元件串联起来可靠性就降低了达到70%*70%=49%..

元件并联定律。可以提高可靠性,具体提升的百分点以下计算方法。。

1.4. 垃圾邮件关键词串联定律 表格法可视化贝叶斯定律

比如 如果出现 发票 这个词,那么此文件垃圾文件的概率为 90%。。

如果 出现 购买 这个词,垃圾文件概率为 80%

得到以下表格----------表格开始----------

词汇

垃圾邮件概率

正常邮件概率

发票

90%

10%

购买

80%

20%

购买发票

90*80=72%(舍弃掉此错误结构

10*20=2%

购买发票

1-2%=98%(根据正常邮件概率反向计算垃圾邮件概率

10*20=2%

--------表格结束=-------

表格解说。。几条规则

第一,如果只是出现发票一词,则垃圾邮件概率为90%,正常邮件概率自然为1-90%==10%

第2,如果只是出现购买一词,则垃圾邮件概率为80%,正常邮件概率自然为1-80%==20%

第三部,如果出现购买发票俩个次,则初步判断垃圾邮件概率为90%*80%=72%,正常邮件概率自然为10%*20%=2%

很明显,如果同时出现多个垃圾关键词。垃圾邮件的概率应该上升才对。。所以舍弃掉72%的错误计算结果。。

第四步。。那么得到正常邮件概率就是2%。。自然垃圾邮件概率就是1-2%==98%了。。。

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

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

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

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

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

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

有了这个公式以后,一封正常的信件即使出现sex这个词,

1.7. 解决F1和F2是连续变量,不适宜按照某个特定值计算概率。

但是这里有一个问题:F1和F2是连续变量,不适宜按照某个特定值计算概率。

一个技巧是将连续值变为离散值,计算区间的概率。比如将F1分解成[0, 0.05]、(0.05, 0.2)、[0.2, +∞]三个区间,然后计算每个区间的概率。在我们这个例子中,F1等于0.1,落在第二个区间,所以计算的时候,就使用第二个区间的发生概率。

参考资料

朴素贝叶斯分类器的应用 - 阮一峰的网络日志.html

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

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

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

Atiend

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

  1. 贝叶斯算法应用于反垃圾邮件

    对抗垃圾邮件的技术有很多,今天学习的贝叶斯算法属于一种机器学习领域的技术.这是一种分类算法,根据贝叶斯原理来计算邮件可能是垃圾邮件的概率,如果高于阈值,就认为这是垃圾邮件.其判断的准确程度随着学习次数 ...

  2. 朴素贝叶斯算法代码实现(垃圾邮件检测)

    1.文本预处理 (1)分词 首先需要对文本进行分词操作,转换为list,同时词语全部小写,并去除字母数量小于等于2的单词 # 将词切分为list def textParse(input_string) ...

  3. 【机器学习】贝叶斯算法详解 + 公式推导 + 垃圾邮件过滤实战 + Python代码实现

    文章目录 一.贝叶斯简介 二.贝叶斯公式推导 三.拼写纠正案例 四.垃圾邮件过滤案例 4.1 问题描述 4.2 朴素贝叶斯引入 五.基于朴素贝叶斯的垃圾邮件过滤实战 5.1 导入相关库 5.2 邮件数 ...

  4. 基于贝叶斯算法的邮件过滤管理系统的设计和实现(Vue+SpringBoot)

    作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...

  5. 朴素贝叶斯算法原理、代码实现原理、以及鸢尾花分类代码实现(详细代码原理讲解)

    朴素贝叶斯算法原理及鸢尾花分类代码实现 一.概率模型 1.全概率公式(由因推果) 设事件B1,B2,-,Bn构成一个完备事件组,即两两不相容,和为全集且P(Bi)>0,则对任意事件A,有 由因推 ...

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

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

  7. python:基于朴素贝叶斯算法的垃圾邮件过滤分类

    目录 一.朴素贝叶斯算法 1.概述 2.推导过程 二.实现垃圾邮件过滤分类 1.垃圾邮件问题背景 2.朴素贝叶斯算法实现垃圾邮件分类的步骤 3.python实现 参考学习网址:https://blog ...

  8. 贝叶斯垃圾邮件分类问题中联合概率的推导

    主旨 讨论贝叶斯垃圾邮件分类问题中联合概率的计算问题.通过借鉴现有的资料,整理出一种数学上等价,同时基于本科概率论课程较容易理解的计算公式. 背景知识 2002年Paul Graham提出了一种利用贝 ...

  9. 朴素贝叶斯算法(带例题解释)

    朴素贝叶斯算法(Naive Bayesian algorithm) 是应用最为广泛的分类算法之一,在垃圾邮件分类等场景展露出了非常优秀的性能. 朴素贝叶斯公式来历 朴素贝叶斯,名字中的朴素二字就代表着 ...

  10. 机器学习--使用朴素贝叶斯进行垃圾邮件分类

    一.学习背景 垃圾邮件的问题一直困扰着人们,传统的垃圾邮件分类的方法主要有"关键词法"和"校验码法"等,然而这两种方法效果并不理想.其中,如果使用的是" ...

最新文章

  1. 市值达 58 亿美元,吴恩达的在线教育平台 Coursera 正式上市
  2. 皮一皮:傻傻分不清,这究竟是教室还是...
  3. java动态语言_java动态类型语言支持(三)
  4. java aspose重叠_Aspose.Words - 在特定位置合并两个文档
  5. MapReduce算法形式四:mapjoin
  6. 【Matlab】根据图生成带权邻接矩阵,并求出最短路径
  7. 【PyTorch】eval() ==>主要是针对某些在train和predict两个阶段会有不同参数的层,比如Dropout层和BN层
  8. 读写自旋锁详解:TODO
  9. python之pymysql的使用
  10. C#取真实IP地址及分析
  11. POJ1276:Cash Machine(多重背包)
  12. Deqin-python计算器
  13. 实验一 顺序表基本操作的实现
  14. 眼睛容易干燥疲劳怎么办?
  15. html更改超链接下划线颜色,超链接去掉下划线_WORD中不取消超链接,只改超链接的颜色和去掉下划线...
  16. CS5211中文规格书完整版|CS5211AN设计方案|CS5211电路设计资料
  17. msxml3.dll 错误 '800c0005'具体解决办法详解
  18. imac下修改本地hosts文件解决react项目中的跨域问题
  19. 事件监听 ActionListener
  20. int不是默认为0吗?为什么会提示要初始化?

热门文章

  1. python计算无穷级数求和,无穷级数求和的积分审敛法
  2. 使用Atlas进行元数据管理之Glossary
  3. Android 系统开发_核心技术篇 -- 深入钻研 JNI
  4. 基于源码编译安装openssh
  5. Centos安装php高版本
  6. ewebeditor for php任意文件上传漏洞
  7. android真机调试
  8. 接水果(fruit)——整体二分+扫描线
  9. FreeBSD常用操作
  10. hdu1403(后缀数组模板)