文章总览图
一
ML项目流程
1,确立目标(确定开发/测试集 唯一最优化指标)
确定开发/测试集:开发/测试集应尽可能接近将来应用场景中的数据。
划分数据集:开发集和测试集大小足以评估模型表现即可。
设置唯一最优化指标:
方法1:使用多个指标的加权作为最优化指标
方法2:设置单一最优化指标,其它指标设置为约束指标。
2,逼近目标(正交化思想:orthogonal)
正交化思想:设计和使用效果彼此独立的旋钮。
依次实现四个子目标:拟合训练集,拟合开发集,拟合测试集,在真实应用场景表现良好。
改变目标(开发/测试集 评估指标)时机:训练开发测试集都ok但真实应用场景效果不理想。
二
泛化误差分析
人类表现水平,ML表现水平,和 Bayes最优极限:
Bayes最优极限是由数据质量本身决定,在很多项目如图像识别语音识别可以用人类表现水平来估计Bayes最优极限。
1,可避免偏差:训练集误差 - 贝叶斯最优误差(可用人类表现估计)
2,方差:开发集误差 - 训练集误差(前提是开发集和训练集同分布)
3,数据不匹配误差:开发集误差 - 开发测试集误差(来源于开发集和训练集非同分布)
三
错误例子分析
当机器学习模型尚不如人的表现时,可以用以下工具进行提升。其中利用人工标注的方式分析错误例子发生错误的原因非常有帮助,它可以帮助我们确定优化的细节方向。
四
解决数据不足
与应用场景完全匹配的标签数据有时候获取相当昂贵或者困难。可以使用人工合成数据、迁移学习、多任务学习等方式适当缓解数据不足问题。
1,人工合成数据
2,迁移学习
3,多任务学习
五
ML项目架构
ML项目架构可以分成传统的pipeline结构和end-to-end结构,或者组合结构。
1,端到端结构
2,流水线结构
3,组合结构