吴恩达深度学习笔记(三)week1机器学习策略
来源:互联网 发布:域名主机记录 编辑:程序博客网 时间:2024/06/04 23:29
为什么要选择性选择机器学习策略
在机器学习(深度学习)系统开发过程中有很多策略可以用来改善机器学习系统,如果没有针对性的选择这些策略则容易做些无用的尝试,以下为常见的机器学习策略。
正交化 (Orthogonalization)
如下图所示为生活中正交化的例子 ,电视机调方向、调大小的开关分开互不影响,若同时设置几个开关:他们既调位置也调大小,理论上这几个开关互相组合便能调出合适图像,但生活经验可知这几乎不可行。汽车方向盘和油门也是这个意思,如果设计两个开关都可以同时调节速度和方向,理论上通过组合也是可以达到想要的速度和方向。这种正交化的方法把功能互相独立的思想在机器学习系统中也非常适用,如下图所示:
注:课程中提到早停策略就是典型的非正交,因为会同时影响训练集和验证集的误差。
单一数字评价指标(using a single number evaluation metric)
如上图所示,当我们评价一个分类器A和分类器B时,若同时参考查准率和查全率则无法比较这两个分类器的好坏,此时综合两项指标,用F1作为单一的评价标准则可以很快的评价两个分类器。
满足指标和优化指标
当有多项指标需要评价时,我们通常把其中一项设置为优化指标,其他指标设置为满足指标,以下图做例子,给running time设置一个阈值,小于该阈值的分类器再选择一个准确率最高的分类器。
验证集(开发集)和测试集的选择
如上图所示,当我们要开发一个猫的分类器时,猫的图片来自不同的国家,一种不好的验证集和测试集的设置是选择几个国家的图片作为验证集,然后选择其余不同国家的图片作为测试集。正确是方式应该随机选取,保持验证集和测试集的数据符合同一分布并且要能够反映将来你需要用到的场合的数据特点
什么时候该改变开发/测试集和指标
在实际开发机器学习系统时,评价指标是根据实际需求改变的。以下有两个例子,其一,如下图所示,当做一个图片分类器时,算法A的误差比算法B的误差要小,但是如果在算法A中的那
第二个例子如下图所示,我们训练时是用比较高清的图片进行训练,模型的效果也比较好,但是当用户的照片是非高清时,模型的效果表现并没有那么好,此时,则可以改变训练集、验证集和测试集了。
可避免的误差
贝叶斯误差:我们把误差的最小值称为贝叶斯误差(理论上不可测),现实中,人类对很多任务可以做得很好,我们可以近似的把人的误差看成贝叶斯误差(贝叶斯误差的实际近似根据情况不同设置也不同,如有时可以把专家的误差看成贝叶斯误差)。如下图所示,如果人的误差为
总结 (改善模型的表现)
主要总结了本周的一些方法,利用正交化来改善性能
注:这里并没有完全理解图中提供的方法是否做到了正交化,如bigger model是否会有提高方差的风险?
- 吴恩达深度学习笔记(三)week1机器学习策略
- 吴恩达深度学习笔记(三)week2机器学习策略
- 《深度学习Ng》课程学习笔记03week1——机器学习(ML)策略(1)
- 机器学习笔记week1
- Coursera机器学习笔记(week1)
- 吴恩达深度学习笔记(一)week1~week2
- 吴恩达深度学习笔记(四)week1卷积神经网络
- Coursera机器学习 Week1 笔记
- 吴恩达深度学习笔记(二)week1深度学习的实用层面
- 吴恩达神经网络和深度学习课程自学笔记(八)之机器学习策略
- Machine Learning机器学习笔记-week1
- 机器学习笔记week1(Andrew NG)
- 机器学习week1-week2
- week1 机器学习介绍
- 机器学习week1-Introduction
- 吴恩达 深度学习 CLass2 Week1 总结
- Coursera上的Andrew Ng《机器学习》学习笔记Week1
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(3-1)-- 机器学习策略(1)(转)
- JDBC—executeQuery/executeUpdate
- 结合redis设计与实现的redis源码学习-20-复制(replication.c)
- 2016 ICPC 青岛站 A【water】、B【模拟】、C【规律】、D【概率】
- Hive 数据倾斜总结
- ref
- 吴恩达深度学习笔记(三)week1机器学习策略
- Android Studio 解决运行编译报错问题
- linux 结构体部分成员初始化
- 取余运算||快速幂
- 乒乓球,水题
- Android自定义View实现带百分比圆形进度条
- 学习Pandas(三)
- 【安全牛学习笔记】KALI版本更新和手动漏洞挖掘(SQL注入)
- 配置简单RestTemplate