写代码之前
总的来说,Andrej Karpathy的技巧就是:不要心急 (文章结尾会道出原因) ,从简单到复杂逐步完善你的神经网络。
1、先别着急选算法,撸代码,先整理你的数据集
训练神经网络前,别管代码,先从预处理数据集开始。我们先花几个小时的时间,了解数据的分布并找出其中的规律。
这是因为:
神经网络学习过程的本质就是去学习训练集上的数据分布
有一次在整理数据时发现了重复的样本,还有一次发现了图像和标签中的错误。
所以先看一眼数据能避免我们走很多弯路。
由于神经网络实际上是数据集的压缩版本,因此您将能够查看网络(错误)预测并了解它们的来源。如果你的网络给你的预测看起来与你在数据中看到的内容不一致,那么就会有所收获。
一旦从数据中发现规律,可以编写一些代码对他们进行搜索、过滤、排序。
把数据可视化能帮助我们发现异常值,而异常值总能揭示数据的质量或预处理中的一些错误。