1. 误差分析
通过分析错误的标记,来判断主要是哪个原因引起了错误,这是猫的分类,观察被分错图片的原因,总结需要优化的条件
image Dog Great cat blurry comment
1
2
3
4
5
6
2. 进行正确标注
当前错误率为10%, 进行误差分析后,由于0.6%的错误标记引起的,这种就不需要重新标记,因为错误标记引起的错误较小
当前错误率为2%, 进行误差分析后,由于0.6的错误是标记错误引起的,这种就需要进行重新标记, 因为错误标记引起的错误占比较大
3.开发集和测试集的划分
从网上下载的数据有200000,实际需要预测的数据是10000
将实际预测的数据分出5000加入到网上下载的数据中,此时的训练集为205000
开发集的数据为2500, 测试集的数据为2500
4.数据不匹配
当我们在进行数据分离时,可以采用4种分法
train, training-dev, dev, test
因为train-dev与train来源于同一个数据分布,只是train-dev数据没有经过训练,
train error :1%
train-dev error : 9%
dev -error 10%
上述情况说明,数据的方差过大,出现了过拟合的情况
train error :1%
train-dev error : 1.5%
dev-error 10%
说明开发集的数据与训练集的数据存在不匹配的情况
human error 1%
training error 10%
training -dev error 11%
dev error 20 %
说明出现了较大的可避免偏差, 以及数据不匹配的情况
当数据出现不匹配的情况时,需要观察开发集和训练集的差异,观察两个数据分布有什么不同
5 迁移学习
下载的算法改变其最后一层的分布,使得输出的维度发生改变, 也可以去掉最后一层,再多添加几层
6 多任务学习
比如一张图有多个标签
y(i) = [0 1 1 0]
loss = np.reduce_mean(np.reduce_sum(-y*logy_pred - (1-y)*log(1-y_pred)))
7. 端到端学习
指的是输入的数据(x, y) 直接输出结果
一般在数据量比较大,和网络结果较为复杂的情况下使用