科普文:贝叶斯过滤器判定垃圾邮件

简介

        贝叶斯分类的运作是借着使用标记(一般是字词,有时候是其他)与垃圾邮件、非垃圾邮件的关连,然后搭配贝叶斯推断来计算一封邮件为垃圾邮件的可能性。

        贝叶斯垃圾邮件过滤是非常有威力的技术,可以修改自己以符合个别使用者的需要,并且给予较低的垃圾邮件侦测率,让使用者可接受。

发展历史

        第一个已知使用贝叶斯分类的邮件过滤是Jason Rennie的iFile,在1996年释出。这个程式可以排序邮件并放到目录。第一个关于贝叶斯垃圾邮件过滤的学术出版是由Sahamietal.在1998年所写。之后很快就被应用到商用的垃圾邮件过滤器上。然而,在2002年,Paul Graham大大地加强了假阳性的机率,所以它可以作为一个简单的垃圾过滤器来使用。

        根植于此技术的变种技术相继在许多的研究工作与商业产品上被实作出来。许多流行的邮件客户端都实作了贝叶斯垃圾邮件过滤。使用者也可以安装其他的邮件过滤程式。服务器端的邮件过滤器,像DSPAM、spamassassin、SpamBayes、Bogofilter与ASSP也都利用了贝叶斯邮件过滤技术,有时候这个功能直接内建在邮件服务器软件上。

朴素贝叶斯应用——垃圾邮件过滤_朴素贝叶斯分类器垃圾邮件过滤-CSDN博客

贝叶斯|垃圾邮件过滤器问题 - 知乎

https://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html

https://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html

一般应用程式

 贝叶斯过滤被广泛地使用来鉴别垃圾邮件,但这项技术其实可以用来分类(或丛集)几乎任何种类的资料。它被使用在科学、医学与工程方面。例如普遍用来分类的程式:AutoClass,它可以根据可能非常微小到难以察觉的光谱特征来分类星星。最近甚至有人推测大脑可能也使用贝叶斯方法来为知觉刺激做分类并决定行为回应。

1、设置“先验概率”

        首先,电脑在对收到的邮件进行扫描之前,会为每个类别分配“这封邮件是垃圾邮件还是正常邮件”先验概率。设定双方各占0.5的概率作为先验概率。

2、扫描字句与条件概率设定

        设定一些在垃圾邮件里常见的字句及特征。但需要注意的是,“贴有其他网页的URL链接”这一特征,是电脑判断一封邮件疑似为垃圾邮件的关键点。实际上,大多垃圾邮件的目的确实是引诱读者访问其他网址,因而附带有URL的链接。因此,如果符合以下稳固关系,即:

        垃圾邮件→URL上有链接

        正常邮件→URL上无链接

        然而遗憾的是,多多少少会有那么几封垃圾邮件中并没有其他链接,而来自朋友和公司的邮件中却附带链接,这就难办了。在这种情况下,就必须使用概率推论相关的“可能性”判断方法,即:

        URL上有链接→可能是垃圾邮件

        URL上无链接→可能是正常邮件

        对于这种“可能性”进行数值评价,需要运用到贝叶斯推理。

        因此,就很有必要设定:垃圾邮件中附带URL的比例,以及正常邮件中附带URL的比例各占多少。为了方便计算,以下采用虚构的数据来进行简单运算。

        附带链接的条件概率

3、根据扫描结果,计算垃圾邮件的后验概率

        过滤器扫描完邮件后得到的结论是“附带链接”。此时,就不必再考虑“无链接”的两种可能性,只需要考虑剩余的两种可能性。

        可能性被限定为两种

        恢复标准化条件(相加之和为1)之后,通过这张图可以计算出后验概率为:

在有链接的情况下,

(垃圾邮件的后验概率):(正常邮件的后验概率)

        =0.5×0.6:0.5×0.2

        =0.6:0.2

        =3:1

        =3/4:1/4

        所以,过滤器判断出

(附带链接的垃圾邮件的后验概率)=3/4=0.75

        在扫描之前,垃圾邮件的概率被设定为0.5;而通过扫描发现链接之后,垃圾邮件的概率上升到了0.75。

扫描前与扫描后

        虽然垃圾邮件的可能性增大,然而,并不能就此判定它就是垃圾邮件。

        例如,尽管在过滤器上设定了“如果垃圾邮件的后验概率超过0.95,就自动把它移到垃圾箱里”,但有可能这封邮件并没有被移动到垃圾箱里,而是被划分到收件箱中。

4、获得第2条信息后,可能性随之变为8种

        即使在获得了“附带链接”的信息之后,也只能初步判断这封邮件极有可能是垃圾邮件,但不能确定它一定会被移动到垃圾箱中。

        因此,过滤器会通过添加其他的信息,再次进行判断。现在我们添加一个条件:把“幽会”一词作为关键词来进行检索。“幽会”一词出现的概率和不出现的概率如下:

        此时,过滤器在扫描邮件时,除了“附带链接”之外,又增加了含有“幽会”一词的条件,通过这两个条件来判别垃圾邮件。

        之前的两种可能性(是否附带链接)各自又分为4种可能性,所以共计有8种可能性,这8种可能性各自的概率如图:

        上述两种情况下,共有8种可能性,每一种的概率分别列出,如下图:

        在这里,类别的概率0.5也要乘进去。原因在于,它是异于独立性而存在的。而这一点是条件概率的特征。

5、从2个信息可以消去不可能的情况

        在设定上述概率的前提下,过滤器对邮件进行扫描,通过检查是否附带“链接”、是否含有“幽会”一词这两个条件,来计算该邮件为垃圾邮件的概率。

        以上8种可能性中,只有最上面的2种有可能是垃圾邮件的。于是,留下最上面的2个,排除掉下面的6个。

扫描之后只剩下两种可能性

        总之,过滤器所检查的邮件分为两种情况,一种是垃圾邮件(附带链接且含有“幽会”),一种是正常邮件(附带链接且含有“幽会”)。两者的比例关系,也就是图中的概率之比。因此,接下来通过标准化条件,可以计算出附带链接且含有“幽会”一词时的后验概率。

        (垃圾邮件的后验概率):(正常邮件的后验概率)

=0.5×0.6×0.4:0.5×0.2×0.05

=0.6×0.4:0.2×0.05

=0.24:0.01

=24:1

=24/25:1/25

        通过标准化条件运算,在附带链接且含有“幽会”一词的情况下,(垃圾邮件的后验概率)=24/25=0.96

        假若在垃圾邮件过滤器上设定一种情况:如果垃圾邮件的后验概率超过0.95,就自动把它移到垃圾箱。那么,在这种情况下,这封邮件就会被移动到垃圾箱,而不会出现在收件箱中。

6、贝叶斯推理的过程总结

        如图所示,使用2条信息推算出的结论,比起仅仅使用1条信息来推算,检索出垃圾邮件的概率会更高。同理,提供的信息越多,检索出的概率越高,推理结果就越精确。

        扫描之前与扫描两次之后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/745242.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pdf压缩,pdf压缩在线,pdf压缩在线网页版

当我们遇到PDF文件过大,需要压缩其容量大小时,通常是为了更方便地传输、存储或分享这些文件。PDF文件的大小可能因其包含的图像、字体等元素的数量和质量而有所不同。下面,我们将详细介绍压缩PDF容量大小的方法,帮助您轻松实现文件…

TikTok短视频矩阵系统

随着数字化时代的到来,短视频已成为人们获取信息、娱乐消遣的重要渠道。TikTok,作为全球最受欢迎的短视频平台之一,其背后的短视频矩阵系统是支撑其成功的关键因素。本文将深入探讨TikTok短视频矩阵系统的构成、功能以及它在新媒体时代中的影…

基于 JuiceFS 构建高校 AI 存储方案:高并发、系统稳定、运维简单

中山大学的 iSEE 实验室(Intelligence Science and System) Lab)在进行深度学习任务时,需要处理大量小文件读取。在高并发读写场景下,原先使用的 NFS 性能较低,常在高峰期导致数据节点卡死。此外,NFS 系统的…

《Three.JS零基础入门教程》第九篇:环境详解

往期回顾: 《Three.JS零基础入门教程》第一篇:搭建开发环境 《Three.JS零基础入门教程》第二篇:起步案例 《Three.JS零基础入门教程》第三篇:开发辅助 《Three.JS零基础入门教程》第四篇:基础变换 《Three.JS零基…

element-ui侧边栏:default-openeds

element-ui侧边栏实现路由跳转后展开对应侧边栏:default-openeds 当菜单是在本地写死时,如果想展开第一块内容、里面就只写1 :default-openeds"[‘1’]" 当菜单是动态获取时,点击跳转之后如何展开对应的菜单,在watch中监…

三元前驱体废水回收镍钴工艺:环保与经济效益的双重胜利

在全球新能源产业迅猛发展的背景下,锂离子电池作为绿色能源的核心组件,其需求量激增,带动了上游材料市场,尤其是三元前驱体材料的蓬勃发展。然而,伴随着行业的快速扩张,三元前驱体生产过程中产生的含镍钴废…

嘉绩咨询低成本连锁品牌招商全案陪跑赋能中小品牌有效招商

以企业战略导航为基石,致力于构建全面招商生态系统的嘉绩咨询,今天宣布推出面向中小品牌的低成本连锁招商全案陪跑服务。这项创新服务是为了帮助具有潜力的中小品牌在市场中迅速构建渠道,通过有效招商策略促进成长。 嘉绩咨询凭借先进的“教育…

PCI认证HSM的特点

PCI认证HSM(硬件安全模块)在支付卡行业中扮演着至关重要的角色,它是确保支付交易数据完整性和机密性的关键组件。以下是关于PCI认证HSM的详细介绍: 一、PCI认证HSM的定义 PCI认证HSM是专门用于支付行业的硬件安全模块,它满足支付卡行业(PCI)的…

【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统

最终效果 文章目录 最终效果前言素材下载图片配置获取格子坐标动态控制背包大小添加物品移动物品物品跟随鼠标创建物品的容器,定义不同物品修改物品尺寸修复物品放置位置问题按物品尺寸占用对应大小的格子判断物品是否超出边界范围物品放置重叠,交换物品…

Oracle优化案例-教你在线搞定top cpu的sql(十二)

监控告警阈值load 大于10 SQL如下,太好用了 SELECT A.SQL_ID, A.SESS_COUNT, A.CPU_LOAD, B.SQL_TEXTFROM (SELECT SQL_ID,COUNT(*) SESS_COUNT,ROUND(COUNT(*) / SUM(COUNT(*)) OVER(), 2) CPU_LOADFROM V$ACTIVE_SESSION_HISTORYWHERE SAMPLE_TIME > SYSDATE…

[深度学习] 门控循环单元GRU

门控循环单元(Gated Recurrent Unit, GRU)是一种用于处理序列数据的递归神经网络(Recurrent Neural Network, RNN)变体,它通过引入门控机制来解决传统RNN在处理长序列时的梯度消失问题。GRU与长短期记忆网络&#xff0…

反射及动态代理

反射 定义: 反射允许对封装类的字段,方法和构造 函数的信息进行编程访问 图来自黑马程序员 获取class对象的三种方式: 1)Class.forName("全类名") 2)类名.class 3) 对象.getClass() 图来自黑马程序员 pac…

前端JS必用工具【js-tool-big-box】学习,数值型数组的正向排序和倒向排序

这一小节,我们说一下前端 js-tool-big-box 这个工具库,添加的数值型数组的正向排序和倒向排序。 以前呢,我们的数组需要排序的时候,都是在项目的utils目录里,写一段公共方法,弄个冒泡排序啦,弄…

JNI详解

JNI简介 Java是跨平台的语言,但在有的时候仍需要调用本地代码(这些代码通常由C/C编写的)。 Sun公司提供的JNI是Java平台的一个功能强大的接口,JNI接口提供了Java与操作系统本地代码互相调用的功能。 Java调C 1)使用…

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时,一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理,本质上都是在原有目标对象上进行了封装和转换,这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…

VMware vSphere 8.0 Update 3 发布下载 - 企业级工作负载平台

VMware vSphere 8.0 Update 3 发布下载 - 企业级工作负载平台 vSphere 8.0U3 | ESXi 8.0U3 & vCenter Server 8.0U3 请访问原文链接:https://sysin.org/blog/vmware-vsphere-8-u3/,查看最新版。原创作品,转载请保留出处。 作者主页&am…

Java面试八股之JVM内存溢出的原因及解决方案

JVM内存溢出的原因及解决方案 JVM内存溢出(Out Of Memory,OOM)通常是由于程序运行过程中内存使用不当造成的,常见原因及相应的解决方案如下: 原因及解决方案 内存中加载的数据量过大 原因:一次性从数据…

运维入门技术——监控的三个维度(非常详细)零基础收藏这一篇就够了_监控维度怎么区分

一个好的监控系统最后要做到的形态:实现Metrics、Tracing、Logging的融合。监控的三个维度也就是Metrics、Tracing、Logging。 Metrics Metrics也就是我们常说的指标。 首先它的典型特征就是可聚合(aggregatable).什么是可聚合的呢,简单讲可聚合就是一种基本单位可以在一种维…

Verilog刷题笔记48——FSM1型异步复位

题目: 解题: module top_module(input clk,input areset, // Asynchronous reset to state Binput in,output out);// parameter A0, B1; reg state, next_state;always (*) begin // This is a combinational always block// State transition logiccase(…

加拿大魁北克IT人士的就业分析

魁北克省作为加拿大东部的一个重要省份,近年来在IT行业的就业市场上展现出了强劲的增长势头。随着数字化转型的加速,魁北克对IT专业人士的需求日益增加,特别是在软件开发、网络安全、数据分析和人工智能等领域。 热门职位方面,软…