机器学习模型评估与数据集处理全解析
1. MNIST 数据集的人类水平表现
MNIST 数据集是一个广泛分析的数据集,人类在该数据集上的表现也得到了深入研究。研究发现,人类在 MNIST 数据集上的错误率 $\epsilon_{hlp}$ 为 0.2%。你可能会疑惑,为什么人类在分类简单数字时不能达到 100% 的准确率。实际上,MNIST 数据集中存在一些几乎无法识别的数字,如图 6 - 3 所示,这就是 $\epsilon_{hlp}$ 不能为 0 的原因之一。此外,不同文化背景下数字的书写方式也可能导致识别错误,例如在某些国家,数字 7 的书写方式与 1 非常相似。
2. 偏差分析
为了评估模型的性能,我们需要进行指标分析,即通过在不同数据集上评估优化指标,来了解模型的表现以及数据的质量。首先,我们定义训练数据集上的误差 $\epsilon_{train}$。
我们的第一个问题是,模型是否足够灵活或复杂,以达到人类水平的表现。换句话说,我们想知道模型相对于人类水平表现是否存在高偏差。为了回答这个问题,我们可以计算 $\Delta\epsilon_{Bias} = |\epsilon_{train} - \epsilon_{hlp}|$。如果这个值较大(大于几个百分点),则说明模型存在偏差(有时也称为可避免偏差),即模型过于简单,无法捕捉数据的真实细微差别。
以下是一些减少偏差的技术:
- 更大的网络(更多的层或神经元)
- 更复杂的架构(例如卷积神经网络)
- 更长时间地训练模型(更多的轮数)
- 使用更好的优化器(如 Adam)
- 进行更好的超参数搜索
需要