本研究提出了一种基于支持向量机的创新方法,该方法结合了经范德瓦尔登秩得分增强的特征注意力机制,旨在应对高维稀疏垃圾信息数据带来的挑战,并提升垃圾信息检测的分类性能。
方法文章
* These authors contributed equally
本研究提出了一种基于支持向量机的创新方法,该方法结合了经范德瓦尔登秩得分增强的特征注意力机制,旨在应对高维稀疏垃圾信息数据带来的挑战,并提升垃圾信息检测的分类性能。
随着电子邮件的广泛使用,垃圾邮件已成为一个严峻的挑战,威胁着网络安全并降低通信效率。传统的检测方法存在持续性的局限:传统机器学习模型通常难以处理高维稀疏数据,而深度学习则需要大量的计算资源。
本研究提出了一种基于范德瓦尔登秩得分特征注意力增强的支持向量机(VWR-Attn-SVM)方法,以解决上述问题。该方法采用范德瓦尔登秩变换对文本特征进行归一化处理,提高了对异常值的鲁棒性,并保留了特征的序数关系。通过引入增强的注意力机制,结合正则化的非线性处理进一步优化特征选择,突出对垃圾信息检测最为相关的特征。
在UCI Spambase和印度尼西亚垃圾邮件数据集上的实验表明,VWR-Attn-SVM在准确率、精确率、召回率、F1分数和AUC方面均优于传统分类器。该方法在实现高性能的同时降低了计算成本,为垃圾邮件分类提供了高效且可解释的解决方案,并有望扩展至其他基于文本的平台,如即时通讯和社交媒体。
在当今数字时代,互联网和数字技术迅速发展,尽管即时通讯和社交媒体平台不断涌现和创新,电子邮件在电子交易和企业通信领域仍保持着不可或缺的核心地位1。其跨越时空限制的能力赋予了电子邮件独特的优势,使得全球范围内的通信可在任何时间无缝进行。然而,这种广泛使用也引发了一个紧迫且有害的问题——垃圾邮件的泛滥。恶意行为者利用电子邮件系统作为传播渠道,大量发送未经请求的商业广告、恶意软件和非法内容。研究表明,从2012年到2023年,全球垃圾邮件在总电子邮件流量中的比例飙升了7700%2,3。垃圾邮件的泛滥不仅严重干扰用户的正常邮件使用,还带来多方面的威胁:它可能泄露敏感信息,侵犯个人隐私;通过数据泄露和恶意软件感染危及企业安全;甚至通过助长欺诈活动破坏经济秩序4,5。有效的垃圾邮件分类可使与网络钓鱼相关的经济损失减少40%至60%6,凸显了高效、准确过滤方法的实际价值。因此,开发高效且准确的垃圾邮件检测模型已成为保障网络安全、提升通信效率的关键研究方向。
大量现有的垃圾信息检测研究集中于机器学习和深度学习方法。在传统机器学习领域,已探索并应用了多种多样的技术。基于规则的方法,例如决策树7,已被用于根据从数据特征中提取的预定义规则进行分类决策。提升方法8,9,10(将多个弱学习器集成成一个强学习器)以及粗糙集理论11(用于处理数据中的不确定性和不精确性)也展现出一定潜力。此外,包括逻辑回归、K近邻(KNN)12,13、朴素贝叶斯14,15,16和SVM17,18,19在内的统计方法也被广泛采用。这些方法通常依赖于TF-IDF等传统特征提取方法。尽管TF-IDF在量化文档中词语的重要性方面有效,但在捕捉电子邮件文本中固有的复杂语义关系和上下文细微差别方面存在困难。此外,当面对高维且稀疏的数据(这在电子邮件特征空间中很常见)时,这些方法常常遇到计算瓶颈。其有限的鲁棒性可能导致在训练过程中陷入局部最优解,从而严重限制模型的分类准确性和泛化能力。
深度学习因其强大的自动特征提取能力,已成为垃圾信息检测中的一种有力替代方法。诸如卷积神经网络(CNN)20,21,22、循环神经网络(RNN)23、长短期记忆网络(LSTM)24,25,以及近期基于Transformer的模型(如Word2vec和BERT)26,27等算法,在提升分类性能方面取得了显著进展。CNN擅长从数据中提取局部特征,RNN和LSTM能够有效处理序列数据,捕捉文本中的时序依赖关系,而基于Transformer的模型则在挖掘复杂的语义关系和上下文信息方面表现优异。近期一些高效的自然语言处理方法,例如基于TinyML的文本分类器28,为垃圾信息分类提供了强有力的基线模型。TinyML模型针对内存受限的边缘设备进行了优化。我们将在结果部分将所提出的方法与这些方法进行比较,重点分析准确率、计算效率与部署灵活性之间的权衡。然而,这些深度学习模型也存在自身的局限性。它们通常需要大量的训练参数,导致对计算资源的需求较高,并延长了训练时间。例如,像BERT这样的深度学习模型所需的内存是传统支持向量机(SVM)的3至5倍,训练时间则长达10倍29,使其在资源受限的环境中适用性较低。这使得它们在移动设备或低端服务器等资源受限环境中的部署实用性较差。此外,其复杂的网络结构通常导致模型可解释性较差,而在需要理解模型决策过程的应用中,这一点可能成为显著的缺点。
在此背景下,本研究的总体目标是开发一种创新方法,以克服现有方法的局限性,并有效应对垃圾数据高维性和稀疏性所带来的挑战。所提出的基于范德瓦尔登秩分特征注意力增强的支持向量机(VWR-Attn-SVM)是一种旨在提升垃圾信息检测性能的技术新融合(图1)。VWR-Attn-SVM 的基本原理在于其独特的设计,该设计结合了多个组件的优势。

图 1:基于 VWR-Attn-SVM 的垃圾邮件分类研究总体流程图。该流程图展示了基于范德瓦尔登秩分与特征注意力增强型支持向量机(SVM)的垃圾邮件分类工作流程,涵盖数据准备(加载、划分、预处理)、实验准备、TF-IDF 特征与标签间统计相关性的验证、基于注意力增强型 SVM 的垃圾邮件检测,以及多分类器性能比较。请点击此处查看该图的放大版本。
核心增强特征注意力机制以特定的维度处理单个电子邮件样本。通过应用范德瓦尔登秩变换(Van der Waerden rank transformation),将因异常词频导致扭曲的电子邮件文本特征归一化为近似标准正态分布的形式。该变换显著提升了模型的鲁棒性,使其能够更好地应对电子邮件数据的变异性。相较于对数缩放和分位数变换,范德瓦尔登秩得分具有三个优势,因而被优先选用:(1)对垃圾邮件特征中的离群值(例如极端的词频)具有鲁棒性,而对数缩放会放大低频噪声;(2)保留特征的序数关系(这对于“免费”与“中奖”等垃圾邮件指示词的层级关系至关重要),而分位数变换会压平分布;(3)归一化至[0,1]区间,便于与注意力机制集成,并确保权重分配的一致性(图2)。

图 2:实验流程图。(A-C)垃圾信息分类的工作流程,涵盖数据处理、特征选择、模型训练、评估,以及使用与不使用 Van der Waerden 秩分转换的比较。请点击此处查看此图的放大版本。
从结构上看,该机制采用一个双层全连接网络来实现非线性特征变换(图2)。第一层配备LeakyReLU激活函数,在降低输入维度的同时引入非线性,并结合Dropout层以减轻过拟合。第二层使用Sigmoid函数输出注意力权重,能够精确量化每个特征的重要性。模型中集成了L1/L2正则化策略以优化特征选择:其中L1正则化促进稀疏性,有效筛选出相关性较低的特征;L2正则化则通过约束权重的幅值来防止过拟合。在训练阶段,采用多任务学习框架,结合特征重构损失和分类损失共同优化模型参数。这使得VWR-Attn-SVM能够精准适应电子邮件文本高维稀疏的TF-IDF特征,这类特征反映了邮件内容的复杂性。
我们的方法针对从几千到一万条文本垃圾信息数据集(例如 Spambase、印度尼西亚垃圾信息数据集(补充文件 1))进行了优化,训练过程仅需标准计算资源(Intel Core i7 处理器,16 GB RAM);推理可在标准笔记本电脑(Intel Core i5,8 GB RAM)上运行,延迟低于一秒。主要限制包括对非文本类垃圾信息(例如嵌入图像的垃圾信息)性能有限,以及依赖于结构化文本特征。与现有替代技术相比,VWR-Attn-SVM 具有若干显著优势。不同于传统机器学习方法,它不仅依赖基础特征提取,而是通过增强的注意力机制主动学习根据特征重要性进行加权,从而更有效地捕捉与垃圾信息分类更相关的特征。与深度学习模型相比,它在性能与计算效率之间实现了良好平衡。该方法所需计算资源更少、训练时间更短,因此更适用于广泛的应用场景,尤其适合资源受限的环境。这一创新方法不仅适用于电子邮件系统中的垃圾信息检测这一特定任务,还有潜力扩展至其他基于文本的通信渠道,例如即时通讯应用、社交媒体平台和短信服务,这些场景中同样存在不受欢迎和恶意内容传播的问题。总体而言,VWR-Attn-SVM 代表了垃圾信息检测领域的一项重要进展,为应对数字通信环境中长期存在的垃圾信息问题,提供了一种更实用、高效且多功能的解决方案。
访问受限。请登录或开始试用以查看此内容。
1. 实验准备(补充文件2和补充文件3)
表1:数据集统计信息和特征定义汇总。 本表列出了用于垃圾邮件分类的变量,包括词频(word_freq_WORD)、字符频率(char_freq_CHAR)、大写字符连续长度指标以及目标类别变量,并对每种变量类型及其含义进行了描述。请点击此处下载该表格。
2. 验证TF-IDF特征与标签之间统计关联性的实验(补充文件2和补充文件3)
3. 用于垃圾信息检测的注意力增强型支持向量机分类(补充文件 2 和补充文件 3)


Rk×d,k=64(隐藏神经元数量)。
Rd×k,a
Rk 为各特征的注意力权重。选择 Sigmoid 而非 SoftMax,以保持多个特征重要性的独立性。
表示逐元素相乘。


4. 多种分类器的比较(补充文件2和补充文件3)
5. 不同分类器在训练/测试时间及内存方面的多指标性能比较图(补充文件 4)
CNN、RNN、LSTM 或 Transformer 的实验结果(补充文件 5)
7. 补充代码说明
访问受限。请登录或开始试用以查看此内容。
首先,根据既定的实验方案,图1 概述了本研究的整体流程图。图2 依次展示了实验2的操作流程图。此外,表1 主要列出了垃圾邮件数据集 spam.csv 中的词频和字符频率。
在模型性能评估方面,采用了五个关键指标:准确率、精确率、召回率、F1分数以及受试者工作特征曲线下面积(AUC)。表2定义了真正例(TP)、假正例(FP)、真反例(TN)和假反例(FN)的概念。F1分数是精确率和召回率的调和平均数,用于平衡分类性能中的这两个关键方面。受试者工作特征(ROC)曲线以假阳性率(FPR)为横轴、真阳性率(TPR)为纵轴,能够全面可视化不同决策阈值下的分类性能。因此,AUC即ROC曲线下面积,成为评估二分类器有效性的关键指标。
表2:分类性能评估指标。 本表定义了用于分类的评估指标:准确率、精确率、召回率、F1分数(...
访问受限。请登录或开始试用以查看此内容。
本研究基于Spambase数据集验证了VWR-Attn-SVM的有效性,为应对垃圾邮件数据的高维稀疏特性提供了新思路。实验表明,垃圾邮件数据中仅有少数特征与标签具有强相关性;传统模型对所有特征一视同仁,导致性能不佳,而该模型的注意力机制能够动态加权关键特征。在引入Van der Waerden(VWR)秩变换后,模型实现了更快的损失收敛速度、更强的泛化能力、更均衡的特征权重,并捕获了更多的特征交互信息。在测试集上表现出优异的分类指标,优于传统方法,同时节省了资源。其创新之处在于解决了传统机器学习与深度学习的固有问题,为文本分类提供了新范式,并适用于资源受限场景,且具有良好的可解释性。
实验操作中的关键步骤
本研究实验操作中的若干关键步骤显著影响了垃圾邮件分类的结果。在数据准备阶段,从 UCI 机器学习库中选取 Spam-base 数据集,该数据集包含 4,601 个样本、57 个连续特征以及一个二分类标签,为实验奠定了坚实基础。验证 TF-IDF 特征与标签之间统计关联性的过程至关重要。通过使用卡方检验进行特征筛选,并利用热图可视化相关...
访问受限。请登录或开始试用以查看此内容。
作者声明无利益冲突。
感谢福建省数学联盟(项目编号:2023SXLMMS10)和福建省自然科学基金(项目编号:2023J05083、2022J011396、2023J011434)对本工作的资助。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| 补充文件 2:code_new.py;补充文件 3:code_indonesian.py。 | |||
| numpy | NumPy Developers | 用于 Python 的数值计算库 | |
| pandas | pandas Development Team | 用于数据操作与分析的库 | |
| matplotlib | Matplotlib Developers | 用于创建静态、动画及交互式可视化的库 | |
| seaborn | Michael Waskom 等 | 基于 matplotlib 的统计数据分析可视化库 | |
| scikit-learn | scikit-learn Developers Team | 包含多种分类、回归和聚类算法的机器学习库 | |
| tensorflow | 开源机器学习框架,包含用于构建神经网络的 Keras API | ||
| imblearn | imbalanced-learn Developers | 用于处理不平衡数据集的库,包括用于过采样的 SMOTE | |
| warnings | Python 标准库 | 用于发出警告消息的模块 | |
| 补充文件 4:code_compute_time.py | |||
| numpy | NumPy Developers | 用于 Python 的数值计算库 | |
| pandas | pandas Development Team | 用于数据操作与分析的库 | |
| matplotlib | Matplotlib Developers | 用于创建图表和图形的可视化库 | |
| seaborn | Michael Waskom 等 | 基于 matplotlib 构建的统计数据分析可视化库 | |
| scikit-learn | scikit-learn Developers Team | 包含分类、回归和数据预处理工具的机器学习库 | |
| tensorflow | 开源机器学习框架,配备用于神经网络的 Keras API | ||
| imblearn | imbalanced-learn Developers Team | 用于处理不平衡数据集的库(包含 SMOTE) | |
| warnings | Python 标准库 | 用于发出警告消息的模块 | |
| time | Python 标准库 | 用于时间相关功能的模块 | |
| psutil | Giampaolo Rodola | 用于获取系统信息和监控资源使用情况的库 | |
| os | Python 标准库 | 用于与操作系统交互的模块 | |
| 补充文件 5:DNN.py。 | |||
| pandas | pandas Development Team | 用于数据操作与分析的库 | |
| numpy | NumPy Developers | 用于 Python 的数值计算库 | |
| time | Python 标准库 | 用于时间相关功能的模块 | |
| psutil | Giampaolo Rodola | 用于系统信息获取和资源监控的库 | |
| matplotlib | Matplotlib Developers | 用于创建图表和图形的可视化库 | |
| scikit-learn | scikit-learn Developers Team | 包含数据预处理、模型选择和评估指标工具的机器学习库 | |
| imblearn | imbalanced-learn Developers Team | 用于处理不平衡数据集的库(包含 SMOTE) | |
| tensorflow | 开源机器学习框架,配备用于构建神经网络的 Keras API |
访问受限。请登录或开始试用以查看此内容。
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可