评估
在训练机器学习模型时,设置单一数字评估指标可以更好地评估模型。如查准率、召回率和结合两种的F1分数。
在选择训练、开发、测试集时要遵循一定规则,开发集和测试集的分布要来自同一分布,且随机选取。
可避免偏差
我们训练的模型需要与人类表现做比较。在某些模型中,人类水平和贝叶斯误差相差不远。贝叶斯误差是指在现有特征集上,分类器所能达到的最小误差。如果人类水平和训练集误差差距比较大,那么说明可避免偏差比较大,需要设法减少偏差提高模型性能。反之,则需要减少方差。模型性能超过人类后,再用这两种方法提升性能就比较困难了。
改善模型
减少可避免偏差:
- 训练更大的模型
- 延长训练时间、训练更好的优化算法
- 寻找更好的神经网络架构和超参数
减少方差:
- 收集更多数据
- 正则化
- 寻找更好的神经网络架构和超参数
误差分析
模型训练后,收集分类错误的部分样例,分析每个样本分类错误的原因,最终统计出错误类型占比,确定哪种错误值得去处理。
训练开发集
针对不同分布的数据,设置训练开发集,其中的数据和训练数据来自同一分布。如果训练结束后,训练开发集和训练集的误差差距较大,说明模型存在方差问题。反之,问题可能由分布不匹配造成。
迁移学习
迁移学习将从一个模型中学到的知识,应用到另一个模型中,适用于迁移来源有大量数据,但迁移目标问题没有那么多数据的情形。
多任务学习
多任务学习中,多个任务进行并行学习,与迁移学习的串行学习不同。对于一张图片中多个物体的检测,我们建立单个神经网络,来解决多个问题。
端到端学习
一些学习模型有多阶段处理过程,端到端学习直接由输入得出最终结果,一步到位。它的优点是减少人工设计的处理组件,缺点是需要大量数据,对于数据量不足的模型效果不好,而某些重要的人工组件可能被排除。