第1章 绪论
1.1 研究背景与意义
电子邮件为信息传递提供了稳定而低成本的渠道,但同一开放性也使批量发送的无关、欺诈或诱导性内容能够进入用户邮箱。早期过滤系统通常依靠关键词、黑名单和人工设定的匹配规则识别可疑邮件,这类方法的判断依据直观,也便于管理员针对已知模式进行干预。然而,垃圾邮件发送者可以通过改变词语拼写、插入无关字符、替换表达方式等手段绕过既有规则,规则库因而需要持续维护。相关综述指出,垃圾邮件内容和规避策略的变化会削弱静态规则的有效性,概念漂移也使历史样本中的判别关系未必长期成立[2-3]。因此,垃圾邮件识别不能只依赖固定规则,而需要研究能够从数据中学习判别边界的自动分类方法,同时正视数据驱动方法自身的适用条件。
机器学习把邮件识别转化为由样本、特征和标签共同定义的分类问题,可在统一的数据表示下训练不同结构的模型,并通过可重复的评价程序考察模型行为。该思路的研究意义并不在于预先认定某种算法必然优于规则系统,而在于建立可检验的比较框架:一方面,概率型线性模型、间隔分类模型和树集成模型具有不同的决策机制,对同一组邮件特征可能呈现不同的识别倾向;另一方面,误判正常邮件与漏判垃圾邮件对应不同的使用风险,单一总体指标难以完整描述分类器的实际表现。机器学习垃圾邮件过滤综述也将方法优缺点、评价方式和开放问题作为共同研究内容[2-3]。在限定数据和实验协议的前提下开展多模型比较,有助于理解模型选择与评价指标之间的关系,也能为识别原型的实现提供可追溯的模型依据。
1.2 相关研究进展
现有垃圾邮件识别研究已经形成多种机器学习路线。部分方法从邮件特征与类别概率之间的关系出发,利用线性组合给出二分类概率估计;二分事件概率建模的统计研究为这类概率型分类方法提供了基础[7]。另一类方法通过构造具有较大分类间隔的决策面处理二分类任务,支持向量机还可借助高维特征映射处理线性不可分情形[5]。Drucker等将支持向量机用于垃圾邮件分类,并与Ripper、Rocchio及提升树等方法进行比较,表明支持向量机具有直接的邮件分类研究基础[4]。树模型方向则可通过随机化和多棵决策树的组合降低对单棵树结构的依赖,随机森林的泛化行为与单树强度及树间相关性有关[6]。这些路线分别体现概率线性建模、间隔分类和树集成的不同思想,适合在相同数据划分与评价口径下形成结构化对照,但已有文献不能替代本研究在指定数据集上的实际检验。
方法种类的扩展并未消除垃圾邮件识别中的数据边界。机器学习模型从训练样本中提取判别关系,其结论会受到语料来源、采样方式、特征表示和标签定义影响。当邮件主题、写作方式或规避策略随时间变化时,固定语料上学到的关系可能与后续邮件分布不一致;若评价数据与训练数据来自相近的静态环境,所得指标也难以完整反映概念漂移下的识别能力。Guzella和Caminhas在综述中讨论了词袋表示更新、概念漂移及更真实评价设置等问题[3]。这意味着固定数据集实验能够回答“不同模型在同一语料和协议下如何表现”,却不能据此回答模型在所有邮件环境中是否长期有效。本文据此收缩研究问题,不把实验结论外推为真实邮件总体上的普遍规律。
评价协议差异同样会影响模型比较。准确率把所有预测结果汇总为一个比例,当类别分布或错误代价不同时,相同准确率可能对应不同的误报与漏报结构。ROC曲线及其面积能够从不同阈值观察分类器的排序能力,但相关教程也讨论了该工具的解释边界和常见误用[8]。Saito和Rehmsmeier指出,在类别不平衡条件下,ROC图可能给出偏乐观的观感,而精确率—召回率关系能够更直接地呈现正类预测的可靠程度[9]。因此,垃圾邮件分类实验需要结合准确率、精确率、召回率、F1值、ROC-AUC和混淆矩阵解释结果,使总体正确程度、垃圾邮件检出情况、正类预测可信度及具体错误方向彼此印证,而不能用某一个指标代替完整判断。
模型选择过程还会带来评价偏差。若研究者使用同一组交叉验证结果完成参数选择并估计泛化误差,评价结果可能因反复利用验证信息而偏乐观;Varma和Simon的研究表明,嵌套交叉验证能够降低这类模型选择偏差[10]。对本科实验而言,其直接启示是必须在流程上区分训练、参数选择和最终测试:数据预处理的统计量只能从相应训练子集学习,候选参数应在训练数据内部比较,独立测试集仅用于模型确定后的最终评价。由此可见,相关研究进展不仅体现在分类算法的丰富程度上,也体现在对数据泄漏、指标解释和外部有效性边界的持续认识上。本文的实验设计将这些方法学要求纳入统一流程,以保证三类模型之间的比较具有一致口径。
1.3 研究目标与主要内容
本文以UCI机器学习库公开的Spambase数据集作为实验载体。该数据集包含4601条邮件样本、57个输入特征和二元垃圾邮件标签,输入特征由词频、字符频率及连续大写字符统计构成[1]。这种结构化表示能够支持经典分类模型的统一训练与比较,也明确限定了系统输入:模型处理的是数据集已经给出的57维数值特征,而不是直接接收任意原始邮件并自动完成全文解析。Spambase中的非垃圾邮件样本及其特征分布具有特定语料背景,本文只讨论模型在该固定数据集和既定划分协议下的行为,不将所得结论推广到不同来源、不同时间或不同语言的全部邮件场景。
围绕上述研究对象,本文拟建立从数据检查、预处理、训练调参到独立评估的可复现实验流程,并在相同条件下比较逻辑回归、支持向量机和随机森林。三种模型分别代表概率型线性分类、间隔分类与树集成路线,其并列设置旨在观察不同决策机制对同一组结构化邮件特征的适应情况,而不是提出新的分类算法。实验输出将覆盖准确率、精确率、召回率、F1值、ROC-AUC、混淆矩阵和推理效率,并结合错误类型解释模型差异。研究还将使用Python和Flask实现识别原型,把经实验流程选定并持久化的模型接入特征输入、参数校验和结果展示环节。本文的贡献边界是形成可运行、可复查的经典模型比较与系统实现,不预设任何尚未运行的性能结论。
1.4 技术路线
本文技术路线以“数据约束明确、训练过程隔离、评价结果可解释、模型能够接入系统”为主线。研究从核对Spambase字段、标签和类别分布开始,对缺失值、异常取值、重复样本及特征尺度进行检查;随后划分训练数据与独立测试数据,并把需要从数据中学习参数的预处理步骤限定在训练范围内。模型训练阶段分别构建逻辑回归、支持向量机和随机森林候选方案,参数选择通过训练数据内部的交叉验证完成,测试数据不参与模型或参数选择。该流程对应已有研究对交叉验证选择偏差的警示[10],也使最终测试结果能够承担相对独立的模型比较作用。
模型确定后,本文将在保留测试集上生成多指标结果与混淆矩阵,结合垃圾邮件类的精确率和召回率分析误报、漏报之间的差异,并以ROC-AUC补充阈值变化下的排序能力描述[8-9]。模型性能判断以本研究的真实运行输出为证据,不根据其他数据集上的结果推断本项目性能。系统实现阶段将训练流程与在线推理解耦,把选定模型及其配套预处理过程一并持久化,由Flask后端接收符合57维特征约束的输入,完成校验、调用模型并返回分类结果。这样形成从公开数据、实验比较到原型验证的连续链路,同时保留数据集年代、固定特征表示和应用场景差异等限制,避免把演示原型等同于已经部署的真实邮件服务。
1.5 论文结构安排
全文共分为七章。第2章界定垃圾邮件二分类问题,并说明数据特征、三类模型和评价指标的理论基础,为后续设计提供概念与方法输入;第3章依据研究目标分析系统使用场景、功能需求和总体架构,将实验任务转化为可实现的模块及数据流程;第4章围绕Spambase完成数据处理、训练、参数选择、模型评估接口与持久化实现;第5章说明Flask后端、特征输入校验、分类结果展示和异常处理等系统功能;第6章在真实运行记录基础上报告模型比较、错误分析、推理效率与系统测试,并讨论结论边界;第7章归纳已完成工作,结合数据与系统限制提出后续改进方向。各章由理论依据逐步过渡到模型流程、系统实现和实证评价,共同支撑本文限定范围内的研究目标。