Skip to content

09 · 疟疾论文笔记:上限在你选「怎么看」那一步就定好了

本篇为番外,正文见新页09 · 疟疾红细胞分类:四步常规优化,召回率从 84% 爬到 96%。这一页是背后论文的学习笔记,不是第 9 篇正文。

Claude Science 绿皮书 · 第 9 篇背后论文的学习笔记 · 2026-07-29

d09-00 Claude Science 绿皮书 09 · 疟疾红细胞

这是第 09 篇案例背后那篇论文的学习笔记。

所有数字出自论文表 1、表 2(测试集原始输出),未做二次推算。

一句话记住

图像任务的上限,在你选「怎么看」的那一步就定好了,不在你选分类器的那一步。

手工特征换卷积学习,召回率一次跳 10 个点;再上预训练微调,只挤出不到 1 个点。

这篇论文在解决什么

疟疾筛查靠人在显微镜下看血涂片,慢、依赖经验。论文想回答一个朴素的问题:

从最传统的机器学习到最前沿的迁移学习,做同一个疟疾细胞分类任务,性能差距到底有多大?每一步提升从哪来?

不追新方法,而是把一条完整的方法演进线(手工特征 → 端到端 → 迁移学习)在同一数据上走通、量清楚。

数据:为什么选它

  • NIH 公开数据集,27,558 张红细胞显微图像,感染与未感染各 13,779 张,天然对半,不用做类别平衡
  • 图像大小悬殊:宽度 46–394 像素,中位数 130 → 统一缩放省不掉
  • 证据就在图里:感染细胞内部有一块紫红色疟原虫斑点,适合教学
  • 领域代价不对称:筛查里漏掉一个感染(假阴性)远比误报一个正常(假阳性)严重 → 全程盯召回率和假阴性,不只看准确率

三种方法:一条递进线

#方法「看」的方式关键配置
1SVM人手工设计 63 维颜色/纹理统计特征RBF 核,C=1.0;特征全靠人拍
2轻量 CNN卷积层自己从原图学看哪里3 块(16/32/64),96×96,61.4 万参数,本地 CPU 训
3EfficientNet-B0 迁移借 ImageNet 预训练的眼睛,再掰到细胞域冻结版 vs 微调版;解冻后 3 块,224×224

递进逻辑:SVM 把人猜的特征喂给分类器;CNN 让网络自己学特征;EfficientNet 站在大数据集预训练的肩膀上,但必须微调才弯得到显微图像。

关键数字(论文表 1、表 2)

方法准确率感染召回率假阴性一句话
SVM88.27%84.27%118基线,后面拿它当尺子
简单 CNN95.08%94.33%34最大的跳,来自换「看法」
EfficientNet 冻结94.83%94.50%33冻着用,反而打不过从零的小 CNN
EfficientNet 微调96.50%95.17%29微调才跨得过 domain gap
微调 + 阈值 0.32596.58%96.00%24筛查宁可多报,不可漏

一个诚实注脚:SVM 用独立划分(测试 1,500 张),CNN 和 EfficientNet 用同一份划分(测试 1,200 张)。SVM 对 CNN 的差距只看方向和量级,绝对差值不能直接比;CNN 对微调的 1.42 个点才是同题真差距。

学到的三件事

1. 基线必须最笨。 故意先跑 SVM,不是因为它好,是因为没有它,后面所有提升都没有尺子。判断方法好坏,不看它高不高级,看它比基线强多少。

2. 迁移学习不是万能药。 全文最反直觉:下了更多功夫的冻结版(94.83%)输给从零训练的小 CNN(95.08%)。ImageNet 学的是认猫狗汽车,血涂片斑点完全在它经验之外——这道坎叫 domain gap,只有解冻后部卷积块微调才跨得过去。别人的眼镜,不掰弯就配不上自己的脸。

3. 医疗场景里错误不对称。 准确率不是最重要的指标。假阴性 = 漏诊延误治疗,假阳性 = 复查一次。所以论文专门演示了阈值调节:从 0.5 挪到 0.325,多救 5 个、多冤枉 4 个,在筛查逻辑里这笔账划算。

方法论收获(超出这篇论文本身)

  • 公平对比要钉死划分。 两组数字若在不同测试集上测的,差距一半是幻觉。论文的做法:划分写进 json 定死 + 附 SHA256 指纹(文件动一个字节都能发现),跑实验强制校验,对不上直接报错。
  • 自己跑出来的不等于可信。 论文写作过程中抄错过自己的数字(漏报数 16 vs 实际 29),参考文献也混进过没核验的条目。每个数都要能回溯到原始输出。

存疑与延伸

  • 只用了平衡子集(每类 4,000 张),全量 27,558 张训练可能更高
  • 数据单一来源,没测跨显微镜/跨医院的泛化
  • 没做可解释性分析(如 Grad-CAM),不知道模型是不是真在看那块斑点
  • 延伸方向:换近年的前沿方法复现,看天花板还能顶多高(绿皮书下一篇就是这个)

复现入口

  • 数据:NIH Malaria Cell Images(公开,下载就能跑)
  • 划分指纹:SHA-256 376dc2bb699747609a9f44ba7965ba6fb2872a989bf681b1ebc1daa9824d680c(种子 42)
  • 代码与中间产物:私有素材库 claude-science-materialsday09/

慢慢迭代,不追求完美。