小数据集论文复现:SMS Spam Collection 无源码深度学习实验完整资料包

1. 为什么我会选这个题目做论文复现

最近在整理一套适合新手入门的论文复现资料时,我专门挑了一个比较“小而完整”的方向:SMS Spam Collection 短信垃圾分类。

对应的论文是:

  • The Impact of Deep Learning Techniques on SMS Spam Filtering

我选它,主要是因为这组任务很适合练“没有官方源码时,应该怎么把一篇论文从头复现出来”。

它有几个优点:

  • 数据集公开,体量不大
  • 论文可以直接下载阅读全文
  • 没有现成官方代码可以直接套
  • 任务定义清楚,适合做深度学习分类实验
  • 非常适合课程作业、科研入门和教学演示

很多人第一次做论文复现,容易一上来就选太大的数据集、太复杂的模型,最后被环境、清洗、训练成本直接拖住。相比之下,这个题目更适合先把完整流程跑通。


2. 这次复现做了什么

这次不是简单跑一个模型看看结果,而是按完整复现项目的思路整理的,主要包括四部分:

2.1 数据处理

  • 原始数据读取
  • 标签映射
  • 文本清洗
  • 训练测试集划分
  • 词表构建
  • 序列编码

2.2 模型实现

实现了三个基础深度学习模型:

  • CNN
  • LSTM
  • GRU

2.3 实验评估

  • 多随机种子训练
  • Accuracy / F1 指标统计
  • 混淆矩阵
  • 结果汇总表
  • 可视化图表输出

2.4 文档整理

除了代码,我还把这次复现整理成了一套可展示资料,包括:

  • 技术复现说明
  • 教学版教程
  • 宣发版 Word 文档
  • 适合发布到技术平台的文章版内容

3. 项目结构说明

整个项目目录目前是按下面这种方式整理的:

├── data/
│   └── sms_spam/
│       ├── raw/
│       ├── processed/
│       ├── manifests/
│       └── reports/
├── src/
│   └── sms_spam/
├── experiments/
├── docs/
└── literature/

可以简单理解为:

  • data/
    • 放数据集、处理中间文件、结果表和结果图
  • src/
    • 放训练代码、模型定义和评估逻辑
  • experiments/
    • 放实验记录、复现说明和分析文档
  • docs/
    • 放教程、教学材料、Word 文档和对外文章稿
  • literature/
    • 放论文笔记和目标论文整理

这种结构的好处是,别人拿到之后不会只看到一堆零散脚本,而是能比较清楚地知道:数据在哪、代码在哪、结果在哪、文档在哪。


4. 为什么这个项目适合做“无源码论文复现”

我觉得这类项目最有价值的,不是最后某个模型分数多高,而是它把下面这个过程跑完整了:

当一篇论文没有官方源码时,应该怎么复现。

大致过程通常是:

  1. 先找一个公开且体量合适的数据集
  2. 再找一篇可下载全文、但没有源码可直接用的论文
  3. 把论文中明确写出的实验条件提取出来
  4. 对没写清楚的部分做合理工程补全
  5. 先跑通基础版本
  6. 再做多随机种子实验
  7. 最后整理图、表、结论和文档

这次项目,其实就是在按这条思路往下做。


5. 当前结果

目前已经跑出了一组比较完整的多随机种子结果。

平均结果如下:

  • CNN
    • accuracy mean: 0.9764
    • F1 mean: 0.9058
  • LSTM
    • accuracy mean: 0.9728
    • F1 mean: 0.8970
  • GRU
    • accuracy mean: 0.9692
    • F1 mean: 0.8841

从这组结果看:

  • CNN 的整体表现最好
  • LSTM 也比较稳定
  • GRU 在不同 seed 下有自己的特点

这也很适合说明一个问题:在小数据集上做论文复现,很多时候比起一味追复杂模型,更重要的是把流程、实验和表达整理完整。

下面这两张图可以直接作为正文配图:

5.1 模型综合对比图

在这里插入图片描述

5.2 Accuracy 与 F1 对比图

在这里插入图片描述


6. 这套资料包里有什么

如果你更关心“能不能直接拿来参考”,那可以直接看这一部分。

这套资料目前包含:

  • 数据处理代码
  • 模型训练代码
  • 多随机种子实验结果
  • 模型对比图
  • Accuracy / F1 图
  • 混淆矩阵
  • 复现说明文档
  • 教学版教程
  • 可直接展示的 Word 资料

也就是说,这不是一个只放代码的仓库,而是一套更适合拿来做:

  • 课程作业参考
  • 论文复现练手
  • 科研入门训练
  • 学习分享材料
  • 自媒体/技术社区展示内容

8. 结语

如果你也在找一个适合新手练手、而且能完整跑通的论文复现项目,这个题目确实很合适。

它的难度不算高,但非常适合训练下面这些能力:

  • 公开数据集处理
  • 无源码论文拆解
  • 深度学习模型实现
  • 多随机种子实验复现
  • 结果图表整理
  • 对外文档表达

如果你需要这套完整资料包,可以找我领取。

我这边整理的是一整套内容,不只是代码,还包括实验结果图表、复现说明和教学文档。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐