[DeeplearningAI笔记]ML strategy_1_1正交化/单一数字评估指标
机器学习策略 ML strategy
觉得有用的话,欢迎一起讨论相互学习~Follow Me
1.1 什么是ML策略
机器学习策略简介
情景模拟
- 假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统
- 收集更多训练数据
- 训练集的多样性不够,收集更多的具有多样性的实验数据和更多样化的反例集.
- 使用梯度下降法训练更长的时间
- 尝试一个不同的优化算法,例如Adam优化算法.
- 尝试更大的神经网络或者更小的神经网络
- 尝试dropout
- 尝试L2正则化
- 改变神经网络的结构:
- 修改激活函数
- 改变隐藏单元的数目
- 如果你使用了错误的方向,不仅会浪费大量的时间,而且不会有所改善.
课程目的
- 希望在这门课中,教一些策略,分析机器学习中遇到的问题,指引朝着最有希望的方向前进.
1.2 Orthogonalization正交化
正交化
- 正交性或正交性是一种系统设计属性,它确保修改指令或算法的组成部分不会对系统的其他组件产生或传播副作用。独立地验证算法变得更加容易,它减少了测试和开发的时间。
当一个受监督的学习系统在设计时,这四个假设必须是正确的和正交的。
- 成本函数在训练集上有好的表现
- 对于一些应用而言,这可能意味着要达到人类水平的表现
- 如果它不合适,那么使用更大的神经网络或者切换到更好的优化算法可能会有所帮助。
- 成本函数在开发集上有好的表现
- 如果不合适,规范化或使用更大的训练集可能会有所帮助。
- 成本函数在测试集上有好的表现
- 如果不合适,使用更大的开发集可能会有所帮助。
- 在实际系统中表现良好
- 如果性能不好,开发测试集分布设置不正确,或者成本函数测量的尺度不正确.
1.3 单一数字评估指标
Single number evaluation metric
单实数评估指标
- 无论是在调整超参数,或者尝试不同的机器学习的算法,或者搭建机器学习系统时尝试不同手段,你会发现,如果你有一个单实数评估指标,你的进展会快很多,它可以快速的告诉你,新尝试的手段比之前的手段好还是坏.
机器学习系统的迭代过程

我们通常有一个想法,编程序,跑实验,看看效果如何.然后使用这些试验结果来改善你的想法.然后继续走这个循环,不断改进你的算法.
查准率,查全率,F1分数
- 假设现在你需要识别猫的图片,并且你已经开发出了A和B两个分类器.评估你的分类器的方式是观察他的查准率(precesion)和查全率(recall)

- Precision 查准率 在你的分类器标记为猫的例子中,有多少真的是猫.95% 的机会表示当你的分类器认为这是一只猫时,95%的机会分类正确.
- Recall 查全率 在所有真的是猫的图片中,你的分类器正确识别出的图片的百分比,实际为猫的图片中,被正确划分出类的个数.
- 事实证明,虽然使用查准率和查全率来评估一个分类器是十分合理的,但是查准率和查重率之间往往需要一个折衷.
例如如果出现A分类器在查全率上表现得更好,但是B分类器在查准率上表现得更好.
F1分数 在机器学习的文献中,权衡查准率P和查全率R的方法是计算P和R的调和平均值(harmonic mean)即F1分数.\[F1=\frac{2}{\frac{1}{P}+\frac{1}{R}}\]

平均误差
对于同一模型,在不同的状态下也许会产生不同的误差,这时候我们可以使用平均误差这个单一数值评估指标评价机器学习模型.

Summary
很多机器学习团队都是这样,有一个开发集,用于测量查准率和查全率还会定义一个单一数值评估指标(单实数评估指标)能让你快速从众多分类器中挑选合适的分类器.加速机器学习算法的迭代过程.

[DeeplearningAI笔记]ML strategy_1_1正交化/单一数字评估指标的更多相关文章
- ubuntu之路——day10.2单一数字评估指标与满足和优化的评估指标
单一数字评估指标: 我们在平时常用到的模型评估指标是精度(accuracy)和错误率(error rate),错误率是:分类错误的样本数站样本总数的比例,即E=n/m(如果在m个样本中有n个样本分类错 ...
- [DeeplearningAI笔记]ML strategy_1_2开发测试集评价指标
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 满足和优化指标 Stisficing and optimizing metrics 有时候把你要考 ...
- [DeeplearningAI笔记]ML strategy_2_1误差分析
机器学习策略-误差分析 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1 误差分析 训练出来的模型往往没有达到人类水平的效果,为了得到人类水平的结果,我们对原因进行分析,这个过程称为误差 ...
- [DeeplearningAI笔记]ML strategy_1_3可避免误差与改善模型方法
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.8 为什么是人的表现 今天,机器学习算法可以与人类水平的表现性能竞争,因为它们在很多应用程序中更有生产 ...
- [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习
机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...
- [DeeplearningAI笔记]ML strategy_2_4端到端学习
机器学习策略-端到端学习 End-to-end deeplearning 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 什么是端到端学习-What is End-to-end dee ...
- [DeeplearningAI笔记]ML strategy_2_2训练和开发/测试数据集不匹配问题
机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来 ...
- Spark ML机器学习库评估指标示例
本文主要对 Spark ML库下模型评估指标的讲解,以下代码均以Jupyter Notebook进行讲解,Spark版本为2.4.5.模型评估指标位于包org.apache.spark.ml.eval ...
- [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)
觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学 ...
随机推荐
- CSS3中first-child、last-child、nth-child、nth-last-child
1.单独指定第一个子元素.最后一个子元素的样式 <style type="text/css"> li:first-child{ background:yellow; } ...
- 移动端APP列表点透事件处理方法
关于点透事件这里不再赘述,如果不清楚的可以上网搜一搜,或者看小火柴的这篇文章. 这里是自己在做移动端时,在列表滑动的时候,遇到的点透问题.出现这个问题的来由是因为在转场的时候,各个手机的转场效果不一样 ...
- CodeM美团点评编程大赛初赛B轮 黑白树【DFS深搜+暴力】
[编程题] 黑白树 时间限制:1秒 空间限制:32768K 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1.树上每个节点i对应一个值k[i].每个点都有一个颜色,初始的时候所有点都是白色 ...
- spring是什么???
1.是一个容器 2.用于降低代码间的耦合度3.根据不同的代码采用ioc和aop两种技术解耦合...
- JS——判断一个对象是否为空
判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in...遍历属性,为真则为"非空数组":否则为"空数组" 2.通过JSON自带 ...
- UEP-弹窗
注意:弹出窗口Action中的dataWrap属性要加上set方法 默认情况下为GET方式传递参数,此方法对参数的长度有限制,若是长度超过范围的话请使用POST方式 function testPopW ...
- Runtime之NSCoding的自动归档、接档
为什么要有Runtime的NSCoding的自动归档.接档 大家所熟知的方法 //归档方法 - (void)encodeWithCoder:(NSCoder *)aCoder { //当学生被归档,学 ...
- PHP error_reporting() 错误控制函数功能详解
定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别. 函数语法: error_reporting(report_level) 如果参数 level 未指定 ...
- Tp框架查询分页显示与全部查询出来显示运行时间快慢有区别吗?
8:08:01 青春阳光 2017/4/7 8:08:01 大神在吗? Tp框架查询分页显示与全部查询出来显示运行时间快慢有区别吗? 青春阳光 2017/4/7 8:08:20 还有个问题,上传到pu ...
- shareInstance
2.+(id)shareInstance; 外界初始化得到单例类对象的唯一借口,这个类方法返回的就是instance,即类的一个对象, 如果instance为空,则实例化一个对象,如果不为空,则直接返 ...