week3_2
版权申明:本文为原创文章,转载请注明原文出处
week3_2
进行误差分析
比如一个分类猫的分类器,把一些很像猫的狗也错判断了猫
那要专门去处理吗:
- 如果发现错误判断中将狗认成猫的概率很低就不用去处理了
- 如果比较高就可以处理,可以在标签中新建一行用来表示是狗
清楚标注错误的来源
错误分析图像中添加一列用来表示标记错误:
开发集和测试集必须来自同一分布,而对训练集要求没那么严格
快速搭建你的第一个系统并进行迭代
快速建立一个学习算法,然后根据结果进行不断调整,进行错误分析
在不同的划分上进行训练和测试
处理训练集和测试集存在差异的情况
比如训练集是从网上搜取到的高清图片,开发集和测试集来自手机的模糊图片,这样的话最好的方法就是在训练集中添加模糊图片,而不是让三者平均分布,开发集和测试集必须直接考虑最后的使用情景
不匹配数据划分的偏差和方差
不匹配数据划分的偏差和方差
训练集和开发集准确率相差大时考虑:
1.算法只见过训练集的数据,没见过开发集的数据
2.开发集数据来自不同的分布
一个是已经学习过类似的判断错误,一个是因为没学习过的判断错误
一个是说开发集的特征在训练集里面根本没有,一个是说开发集和训练集在某些关键的方面不一样
解决方法:再定义一组新的数据 训练开发集 用控制变量法 训练开发集和训练集来自同一分布
还是在训练集进行训练,然后分别测试训练开发集和开发集的准确率,如果训练开发集和开发集准确率差不多就称作方差过大,训练集过度拟合 如果训练开发集和训练集误差相近,就猜测是开发集和测试集数据不匹配的问题
确定各集合错误率之差,确定是由于可避免方差还是方差还是数据不匹配
解决数据不匹配
人工查看开发集和训练集之间的差异
将开发集或者测试集中的部分数据加载到训练集中,可能导致过度拟合
迁移学习
如果想从任务A学习,并迁移一些知识到任务B,那么当任务A和任务B都有相同的输入x时,迁移学习是有意义的,当任务A的数据比任务B多得多时,迁移学习的意义更大,当A的数据量比B还要小的时候,用处就不大
多任务学习
和多分类不同的是,多任务学习可能有多个标志为1,比如一张图片既有猫又有狗,这样的话它的损失函数就需要一个变量一个变量的求
什么是端到端的深度学习
如果训练集足够大,神经网络足够大,这种方法很好,但有时候训练集不够大,需要将端到端拆分成子任务,比如人脸识别系统,最好的就是先识别人所在的位置,给出人所在的坐标,对图像进行放大,再对放大的图像做人脸识别效果会好很多
是否要使用端到端的深度学习
install_url to use ShareThis. Please set it in _config.yml.


