0.拿到数据集后别急着建模型,先分析数据可视化数据。
在大多数机器学习任务中,我们首先要做的(也是最重要的任务)就是在使用算法之前分析数据集。这一步骤之所以重要,是因为它能够让我们对数据集的复杂度有深入的了解,这最终将有助于算法的设计。
因此,我决定使用 t 分布随机邻域嵌入(https://lvdmaaten.github.io/tsne/)可视化技术来查看图片的分布。t 分布随机邻域嵌入(t—SNE)是一种特别适合对高维数据集进行可视化的降维技术。这种技术可以通过「Barnes-Hut」近似算法来实现,这使得它能够被应用于大型的真实数据集。[14]
1.训练集和测试集一定要打乱!!吃过大苦头
2.先训练出最优的单模型,再进行模型集成。别一开始就用很多个烂模型集成,浪费时间。
3.微调模型优先于重新训练,因为你从一个预训练模型微调迭代无数多次后(最烂情况)就相当于重新训练。
4.先不用数据增强得到一个基准模型。再用数据增强。
一旦准备好了对比基准,我们就需要开始对其进行改进。首先,我们可以进行数据增强处理,增加数据集中的图像数。
没有数据,就没有机器学习!
现实生活中的数据集往往都是不平衡的,而模型在样本数量较少的类别上的性能并不太好。所以,将一个具有少数样本的类误分类为一个样本数量较多的类的成本通常要比将数量较多的类误分类高得多。
由此,我们尝试使用两种方法来平衡数据:
针对不平衡学习的自适应样本合成方法(ADASYN):ADASYN 为样本较少的类生成合成的数据&#x