Andrew Ng's deeplearning Course3Week2 ML Strategy2(结构化机器学习)
来源:互联网 发布:手机淘宝差评怎么改 编辑:程序博客网 时间:2024/06/06 01:36
一、误差分析
1.执行误差分析
如何执行误差分析呢?
我们可以将dev和test集里的错误标记进行人工整理,画张表,最后统计出各个错误的原因所占的比例,这花不了太长时间,但对改善效果可能会有很大帮助,毕竟去改善占比61%的错误总比花大量时间去解决占比8%的错误要来得高效。
2.清除标记错误的例子
有些例子并不是分类分错了,而只是因为某种原因把标记标错了,我们要根据这类错误所占的百分比来决定是否修复它。原理同上。
假如我们决定修复这些例子,有几点我们需要注意,如下图:
二、构建系统的一些建议
如果你要构建的系统没有大量的文献资料参考,你也不是很有经验的人员,那么上图红框部分就是给你的一些建议。
1.设定验证/测试集和指标。
2.快速建立系统。
3.使用偏差和方差分析&错误分析,然后不断迭代。
三、不匹配的训练和验证/测试集
1.在不同的分布上训练和测试
有的时候训练集和测试集的分布并不相同,拿识别猫举例,训练的时候是高清晰度的像素,但是实际上用户上传的图片并没有那么高清。
这个时候我们有200000张高清图片和10000张非高清图片,我们该怎么分配呢,答案如上图所示:
将所有的200000张高清图片加上5000张非高清图片分配给训练集,剩下的5000张均分给验证集和测试集,这样在长远来看,效果会比打乱随机分配的要好很久。
2.在训练和验证/测试集上的数据不匹配
如上图中左边红框所示:训练集误差为1%,验证集误差为10%,2者之间有9%的误差,这在以前我们肯定会认为是方差问题,但现在不一定了,还有可能是2者之间的数据不匹配问题造成的,我们该如何辨别呢?
如上图中右边绿框所示:我们从训练集中分一小部分出来,叫训练-验证集,与训练集相同分布,但不为训练集所用。
从上图右边蓝框所示:假如训练集~训练-验证集为8%,而验证集为10%,那就说明是高方差问题;如果训练集~训练-验证集为0.5%,而验证集为10%,那么这时我们就可以认为是数据不匹配的原因了。
3.如何处理数据不匹配问题
现在并没有系统性的解决方案,不过有几种措施可能会比较不错。
如上图所示:1.人工执行误差分析去判断训练和验证/测试集之间的差异。
2.使训练集更相似于验证/测试集,或收集更多与现有验证/测试集相似的数据。(其中一个方法可以进行人工合成,如合成噪音背景和语音、背景和汽车,虽然不是很好,但会提升精准度)
四、从任务中学习
1.迁移学习
迁移学习就是任务B的数据集很少,但是任务A训练好了,并且有相同的输入x,那么这时我们就可以将任务A模型的最后几层换为任务B进行训练。
可以进行迁移学习的要求如下图:
2.从多任务中学习
在迁移学习中,任务是串行的;在多任务中,是并行的,同时学习几个任务,试图让单个神经网络同时做几件事情,然后希望这里每个任务都能帮助到其他所有任务。
使多任务学习有意义的条件如下图所示:
五、端到端的深度学习
1.什么是端到端的深度学习
如上图所示:以往的语音识别,是从输入x(语音)经历过很多中间步骤如提取特征、转化为文字等最终到达y(识别的文本)。
而端到端的学习就是没有这些中间步骤,输入语音直接得到文本。
但是并不是所有都能成功,这需要大量的端到端的数据支撑才行。如下图的人脸识别:
相比端到端的数量不足,将这个过程分为2步,第一步从图像中找出人脸,截取这个人脸图像。第二步将人脸图像与数据库中对比。这个的数据量级就明显比端到端要多很多。
2.是否使用端到端的深度学习
端到端的优缺点如下图:
最后,最最重要的一点就是应用端到端一定要有足够的数据来映射x-y。
- Andrew Ng's deeplearning Course3Week2 ML Strategy2(结构化机器学习)
- Andrew Ng's deeplearning Course3Week1 ML Strategy(结构化机器学习)
- Andrew Ng机器学习(ML)入门学习笔记(二)
- Andrew Ng机器学习(ML)入门学习笔记(一)
- Andrew Ng机器学习(ML)入门学习笔记(三)
- 机器学习 Andrew NG
- Andrew Ng 机器学习
- 深度学习大牛andrew.Ng DeepLearning
- Andrew Ng's deeplearning Course1Week1 Nerual Networks and Deep Learning(神经网络和深度学习)
- Andrew Ng's deeplearning Course2Week1 Practical aspects of Deep Learning(深层学习的实用层面)
- Coursera机器学习(Andrew Ng)笔记:ML算法指导与系统设计
- 斯坦福大学Andrew Ng 《机器学习》
- andrew ng机器学习笔记
- SVM(Andrew ng ML)
- Andrew Ng's deeplearning Course1Week1 Practice Questions(练习题)
- Andrew Ng's deeplearning Course1Week2 Practice Questions(练习题)
- Andrew Ng's deeplearning Course1Week2 Programming Questions(编程题)
- Andrew Ng's deeplearning Course1Week3 Practice Questions(练习题)
- Spring MVC + Shiro 实现权限验证
- 安卓前端+web后端 通信示例 GET
- sql面试题 学生表, 课程表,成绩表,教师表
- mysql_ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- PHP-发布一个composer包(稳定版本)
- Andrew Ng's deeplearning Course3Week2 ML Strategy2(结构化机器学习)
- 触摸事件
- 深度神经网络
- js正则表达式的基本语法 精华部分,看后即懂
- servlrt中使用内置对象
- R导出excel自动命名sheet --ava.lang.OutOfMemoryError: GC overhead limit exceeded
- 打造属于自己的cnpm/npm安装,生成自定义项目架构
- django发送邮件
- java类集合