18、无需文本分析的垃圾邮件过滤方法

无需文本分析的垃圾邮件过滤方法

垃圾邮件过滤是一个分类问题,机器学习工具是完成这项任务的理想选择。通常的做法是在一组明确标记为垃圾邮件或正常邮件的样本集(即训练集)上训练一个学习器,然后将系统的输出作为后续传入邮件的分类器。本文提出了一种独特的过滤方法,无需进行任何文本分析,将电子邮件视为一个整体,不区分邮件头和邮件正文。该方法基于电子邮件之间的“信息距离”概念,通过衡量它们各自“信息内容”的相似性来进行分类。如果一封邮件的信息内容与另一封垃圾邮件相似或接近,那么它就会被分类为垃圾邮件。

1. 柯尔莫哥洛夫复杂度

柯尔莫哥洛夫复杂度以数学家安德烈·柯尔莫哥洛夫的名字命名,旨在为 0 和 1 序列的“信息内容”给出正式定义。对于给定的字符串 s,其柯尔莫哥洛夫复杂度 K(s) 是描述 s 所需的最短程序 p 在通用图灵机 T 上输出 s 的长度 |p|。简单来说,K(s) 是 s 所有可能压缩的下限。

例如,像“由 01 重复一千次组成的字符串”这样的字符串描述简短,其柯尔莫哥洛夫复杂度较低;而随机的 0 和 1 字符串,其最短描述就是字符串本身,复杂度较高。

由于不同类型的通用计算机之间可以定义映射,所以同一字符串在两台计算机上的柯尔莫哥洛夫复杂度相差一个已知或可确定的常数,因此它可以被视为给定数据的通用特征。然而,该复杂度的一个重要缺点是无法有效计算。在实际应用中,通常利用任何产生 s 的程序的长度是 K(s) 的上界这一事实进行近似,用无损压缩算法来代替,后续会详细介绍。

2. 信息距离

从柯尔莫哥洛夫复杂度出发,Bennett 等人定义了“信息距离”。对于两个给定的字符串或文件 a 和 b,有以下近似公式: <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值