结构化机器学习项目——机器学习策略
目录
为什么是ML策略?
对于神经网络的训练,我们希望能够总结出一定的规律,能快速有效地提升模型本身的性能,减少试错成本。
正交化
将神经网络各个部分拆解,设置相应的按钮能够快速调节各个部分,来达到高效训练的目的。
单一数字评估指标
查准率precision:在分类器标记为猫的结果里,有多少是真猫
查全率recall:对于所有真猫的图片,正确分辨出来多少
如何更好地结合查准率和查全率
使用调和平均进行加权,F=2/(1/P+1/R)
满足和优化指标
如果要考虑N个指标怎么处理
1.使用加权组合
2.区分满足指标和优化指标,
训练/开发/测试集划分
设立开发集和测试集,需要考虑到最终的目标,以最终目标为导向进行设定。
开发集和测试集的大小
总体大小在五位数,可以按照训练:开发:测试=6:2:2进行划分
百万级别的数据,可以按照训练:开发:测试=98:1:1进行划分
什么时候该改变开发/测试集和指标
评估指标无法很好评估算法:通过加权改变。
开发集分辨率高,图像清晰;实际应用存在遮挡、像素低等问题:修改数据集,使其复合真实场景
定义目标、逼近目标
为什么是人的表现
把机器学习和人进行类比,让机器对人进行模仿
贝叶斯Bayesian最优错误率:理论上可能达到的最优错误率,人在一些任务上已经接近贝叶斯最优错误率
可避免偏差
在训练过程中,我们只希望接近贝叶斯最优错误率,而不是比它更好,因为这样容易过拟合
可避免偏差:训练的准确率和实际人判断的准确率之间的误差
理解人的表现
人类的水平错误可以有不一样的定义,这样,贝叶斯最优错误率不是固定的。
在接近人的水平时,更难分辨出问题时偏差还是方差。所以,机器学习项目的进展在已经做的很好的情况下,很难更进一步
方差:训练错误率和开发错误率之间的差值,你的算法是否能够从训练集泛化推广到开发集。
超过人的表现
当机器的表现超过人的时候,缺失改进的方向,但依靠强大的算力,机器能从海量的数据中发现更多的规律,从而在一些任务上超越人的感知
改善模型表现
目的:1.对训练集拟合的很好。2.能够在开发集和测试集上取得很好的表现
减小可避免误差:大模型、更好的优化算法、更好的神经网络架构