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://www.cnblogs.com/attilax/

Atiend

Atitit 贝叶斯算法的原理以及垃圾邮件分类的原理的更多相关文章

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

    Atitti 文本分类  以及 垃圾邮件 判断原理 以及贝叶斯算法的应用解决方案 1.1. 七.什么是贝叶斯过滤器?1 1.2. 八.建立历史资料库2 1.3. 十.联合概率的计算3 1.4. 十一. ...

  2. 朴素贝叶斯算法下的情感分析——C#编程实现

    这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Language Pr ...

  3. C#编程实现朴素贝叶斯算法下的情感分析

    C#编程实现 这篇文章做了什么 朴素贝叶斯算法是机器学习中非常重要的分类算法,用途十分广泛,如垃圾邮件处理等.而情感分析(Sentiment Analysis)是自然语言处理(Natural Lang ...

  4. 朴素贝叶斯算法原理及Spark MLlib实例(Scala/Java/Python)

    朴素贝叶斯 算法介绍: 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法. 朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,在没有其它可用信息下,我 ...

  5. 【数据挖掘】朴素贝叶斯算法计算ROC曲线的面积

    题记:          近来关于数据挖掘学习过程中,学习到朴素贝叶斯运算ROC曲线.也是本节实验课题,roc曲线的计算原理以及如果统计TP.FP.TN.FN.TPR.FPR.ROC面积等等.往往运用 ...

  6. Python机器学习笔记:朴素贝叶斯算法

    朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法.对于大多数的分类算法,在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同.比如决策树,KNN,逻辑回归,支持向 ...

  7. 什么是机器学习的分类算法?【K-近邻算法(KNN)、交叉验证、朴素贝叶斯算法、决策树、随机森林】

    1.K-近邻算法(KNN) 1.1 定义 (KNN,K-NearestNeighbor) 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类 ...

  8. 朴素贝叶斯算法的python实现

    朴素贝叶斯 算法优缺点 优点:在数据较少的情况下依然有效,可以处理多类别问题 缺点:对输入数据的准备方式敏感 适用数据类型:标称型数据 算法思想: 朴素贝叶斯比如我们想判断一个邮件是不是垃圾邮件,那么 ...

  9. [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)

    [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...

随机推荐

  1. loadrunner回放脚本报错27780:“[10053] 软件导致连接中止”

    录制的脚本在回放时报错,错误如下: vuser_init.c(12): 警告 -26627: 对于“http://bsp.paycenter.58.com.cn/favicon.ico”,HTTP 状 ...

  2. python模块及包的导入

    一.模块 通常模块为一个文件,直接使用import来导入就好了.可以作为module的文件类型有".py".".pyo".".pyc".&q ...

  3. java 单利模式

    首先何为单利模式: 单利模式即多次调用同一个对象的时候,只有一个实例(这里所谓的实例就是,假如创建了两个对象,它们的hashCode相同) 下面是相关代码: 1 创建一个对象Singleton类 pa ...

  4. Mysql示例数据库employees.sql导入问题

    Mysql版本:Server version: 5.7.9-log MySQL Community Server (GPL) 问题一.Unknown system variable 'storage_ ...

  5. Python 学习---------Day2

    第四章 介绍Python对象类型为什么使用内置类型 内置对象使程序更容易编写 内置对象是拓展的组件 内置对象往往比定制的数据结构更有效率 内置对象是语言标准的一部分Python的核心数据类型 数字 字 ...

  6. 《python核心编程》读书笔记——列表解析

    列表解析是列表类型的方法,这种方法结合了列表的方括弧.for循环.if语句. 用for把处理后的值放入列表: squared = [ x**2 for x in range(4) ] for i in ...

  7. 天气预报API(五):城市代码--“新编码”和“旧编码” 对比

    参考一些博客.文章 来查找 测试 接口,后来发现两套城市编码标准,有点想法,故拿来对比分析. 注:新旧编码是个人主观叫法,只是为了方便称呼,可能有不当之处,请留言更正. 暂且称 中国天气网等网站使用的 ...

  8. <Oracle Database>物理结构

    物理结构 Oracle物理结构包含了数据文件.日志文件和控制文件 数据文件 每一个Oracle数据库有一个或多个物理的数据文件.一个数据库的数据文件包含全部数据库数据.数据文件有下列特征: 一个数据文 ...

  9. php 用户ip的获取

    $_SERVER 这个变量我很喜欢,里面有很多服务器和用户的配置.资料.特别是在获取用户ip 的时候 直接$_SERVER['REMOTE_ADDR'] 就可以或许,但这是没有使用 反向代理服务器的情 ...

  10. mysql5.7 密码策略

    查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+-------------------------------------- ...