正交化
正交化是指每个参数只控制一个维度的效果
单一数字评估标准
评估分类器的一个合理方式:观察它的查准率(Precision)和查全率(Recall)
- 查准率:衡量预测的准确性。如:分类器标记为猫的例子中,有多少真的是猫
- 查全率:衡量发现所有正例的能力。如:对于所有真猫图片,分类器正确识别出了多少百分比
预测为正例 | 预测为负例 | |
---|---|---|
实际为正例 | TP | FP |
实际为负例 | FN | TN |
两种指标都要顾及到,比较方法是F1分数,公式为$\frac{2}{\frac{1}{P}+\frac{1}{R}}$(越大越好)
mAP(mean Average Precision)评价指标
mAP是目标检测模型中常用的评价指标。
首先介绍一下交并比IoU(Intersection over union)的概念,它是用来度量预测边框与实际边框的重叠程度的。
tips:在训练时,常常依据候选区域和标定区域 的IoU值来确定正负样本。
设置IoU阈值:在计算mAP之前,我们会先设置一个IoU(如0.5)阈值来判断预测是真阳性还是假阳性。
判断预测框的实际类别:对于一个预测框,与预测框所在图片里的所有标签框作比较,如果二者的IoU大于阈值,则认为该预测框为“实际为正例”,否则为“实际为负例”。
如果是多分类任务,则找与预测框预测的类别相同的所有标签框比较
判断预测框的预测类别:设置不同的置信度阈值,对于每一个置信度阈值,若预测框的置信度大于该阈值,说明预测结果可信,预测结果为正例;小于该阈值,说明预测结构不可信,预测结果为负例。
一般会将预测框先按置信度降序排序,所以可以按把每个预测框的置信度都取一遍来获得不同的置信度阈值。对于相同的Recall,Precision取最高的一个值,然后画出P-R曲线。
P-R曲线围成的面积就是平均精度(AP)。
把每个类别的AP都计算出来之后求它们的平均值,即可得到mAP。
为何要使用AP/mAP呢?因为我们通常希望模型的Precision和Recall值都很高,所有就需要把两个因素综合考虑。一种方法就是上节提到的F1分数,一种就是计算P-R曲线下的面积,越接近1越好。
满足和优化指标
- 优化指标optimizing metric:如准确率,越大越好
- 满足指标satisficing metric:如运行时间,只需小于100ms就算足够好,达到之后不在乎这个指标有多好
一般来说,如果要考虑n个指标,有时候选择其中一个做为优化指标是合理的,然后剩下都是满足指标,只需满足设定的阈值就好。
贝叶斯最优错误率:理论上限
对于计算机视觉任务而言,常用人类水平的错误率估计或代替贝叶斯错误率/贝叶斯最优错误率
如果想要提升机器学习系统的性能,建议关注训练错误率和贝叶斯错误率的距离(可避免误差)以及开发错误率和训练错误率的距离(方差),然后针对不同的问题采用不同的策略
解决可避免误差的常用方法:
- Train Bigger model
- Train longer/better optimization algorithms:momentum, RMSprop, Adam
- NN archtecture / hyperparameters search
解决方差的常用方法:
- more data
- rugularization: L2 dropout, data augmentation
- NN archtecture / hyperparameters search
进行错误分析(error analysis)
找一组错误样本(可能是开发集或者测试集的),观察错误标记的样本,看看假阳性和假阴性,统计属于不同错误类型的错误数量。如此,可以知道哪些问题有改进的潜力
迁移学习
任务A —> 任务B
预训练 微调
注:
- 任务A与任务B有同样的输入时(例如都是图像、都是音频),迁移学习是有意义的
- 任务A比任务B的数据多得多时,迁移学习意义更大
多任务学习
同时开始学习,试图让单个神经网络做几件事情,并且希望这里每个任务都能帮到其他所有任务
端到端的深度学习
注:需要足够多的数据