机器学习策略 ML strategy

觉得有用的话,欢迎一起讨论相互学习~Follow Me

1.1 什么是ML策略

机器学习策略简介

情景模拟

  • 假设你正在训练一个分类器,你的系统已经达到了90%准确率,但是对于你的应用程序来说还不够好,此时你有很多的想法去继续改善你的系统
  • 收集更多训练数据
  • 训练集的多样性不够,收集更多的具有多样性的实验数据和更多样化的反例集.
  • 使用梯度下降法训练更长的时间
  • 尝试一个不同的优化算法,例如Adam优化算法.
  • 尝试更大的神经网络或者更小的神经网络
  • 尝试dropout
  • 尝试L2正则化
  • 改变神经网络的结构:
    • 修改激活函数
    • 改变隐藏单元的数目
  • 如果你使用了错误的方向,不仅会浪费大量的时间,而且不会有所改善.

课程目的

  • 希望在这门课中,教一些策略,分析机器学习中遇到的问题,指引朝着最有希望的方向前进.

1.2 Orthogonalization正交化

正交化

  • 正交性或正交性是一种系统设计属性,它确保修改指令或算法的组成部分不会对系统的其他组件产生或传播副作用。独立地验证算法变得更加容易,它减少了测试和开发的时间。

    当一个受监督的学习系统在设计时,这四个假设必须是正确的和正交的。
  1. 成本函数在训练集上有好的表现

    • 对于一些应用而言,这可能意味着要达到人类水平的表现
    • 如果它不合适,那么使用更大的神经网络或者切换到更好的优化算法可能会有所帮助。
  2. 成本函数在开发集上有好的表现
    • 如果不合适,规范化或使用更大的训练集可能会有所帮助。
  3. 成本函数在测试集上有好的表现
    • 如果不合适,使用更大的开发集可能会有所帮助。
  4. 在实际系统中表现良好
    • 如果性能不好,开发测试集分布设置不正确,或者成本函数测量的尺度不正确.

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正交化/单一数字评估指标的更多相关文章

  1. ubuntu之路——day10.2单一数字评估指标与满足和优化的评估指标

    单一数字评估指标: 我们在平时常用到的模型评估指标是精度(accuracy)和错误率(error rate),错误率是:分类错误的样本数站样本总数的比例,即E=n/m(如果在m个样本中有n个样本分类错 ...

  2. [DeeplearningAI笔记]ML strategy_1_2开发测试集评价指标

    机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 满足和优化指标 Stisficing and optimizing metrics 有时候把你要考 ...

  3. [DeeplearningAI笔记]ML strategy_2_1误差分析

    机器学习策略-误差分析 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1 误差分析 训练出来的模型往往没有达到人类水平的效果,为了得到人类水平的结果,我们对原因进行分析,这个过程称为误差 ...

  4. [DeeplearningAI笔记]ML strategy_1_3可避免误差与改善模型方法

    机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.8 为什么是人的表现 今天,机器学习算法可以与人类水平的表现性能竞争,因为它们在很多应用程序中更有生产 ...

  5. [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习

    机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...

  6. [DeeplearningAI笔记]ML strategy_2_4端到端学习

    机器学习策略-端到端学习 End-to-end deeplearning 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.9 什么是端到端学习-What is End-to-end dee ...

  7. [DeeplearningAI笔记]ML strategy_2_2训练和开发/测试数据集不匹配问题

    机器学习策略-不匹配的训练和开发/测试数据 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.4在不同分布上训练和测试数据 在深度学习时代,越来越多的团队使用和开发集/测试集不同分布的数据来 ...

  8. Spark ML机器学习库评估指标示例

    本文主要对 Spark ML库下模型评估指标的讲解,以下代码均以Jupyter Notebook进行讲解,Spark版本为2.4.5.模型评估指标位于包org.apache.spark.ml.eval ...

  9. [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学 ...

随机推荐

  1. Python 操作 GA API 指南

    因为需要写一个 Blog Feature 的缘故,所以接触了下 GA 的 Python API,发现 G 家的 API 不是那么直观,比较绕,但是,在使用过程中发现其实 G 家的 API 设计挺有意思 ...

  2. hackerrank 训练军队

    高阶传送魔法 在神奇的Kasukabe国家,人们努力拥有一个技能.一共有N个类型的技能,并且开始的时候拥有第 i 种技能的人有Ci个 . 这个国家有T个巫师,他们有能力将一个人的技能进行转换.每个巫师 ...

  3. HDU2243 考研路茫茫――单词情结

    Description 背单词,始终是复习英语的重要环节.在荒废了3年大学生涯后,Lele也终于要开始背单词了. 一天,Lele在某本单词书上看到了一个根据词根来背单词的方法.比如"ab&q ...

  4. 我的第三个网页制作:b、i、s、u、sub、sup标签的使用

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  5. BZOJ 1411&&Vijos 1544 : [ZJOI2009]硬币游戏【递推,快速幂】

    1411: [ZJOI2009]硬币游戏 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 897  Solved: 394[Submit][Status ...

  6. [Golang]一道考察defer与命名返回值的题目

    题目 输出: 4 1 3 解释 当函数有可命名结果形参时,结果形参的初始值被设置为零值,函数的return语句会设置结果形参的值 当函数有可命名结果形参时,defer函数是可以修改它,然后再将它的值返 ...

  7. Linux安装python3.5

    如果你使用的是Linux发行版,例如Ubantu,那么你的系统中可能已经安装好python了.可以使用python -v来测试一下: ortonwu@ubuntu:~$ python -V Pytho ...

  8. oracle创建触发器及作用举例

    --创建触发器及作用举例 create or replace trigger tri before delete on emp --在删除emp表数据之前需要做的事根据自己的业务去写,before是在 ...

  9. final、finally、finalize

    final是一个修饰词.可以修饰变量.方法.类 final修饰变量时分为两种 )1.修饰成员变量:该成员变量不可以被二次赋值.也就是说成员变量无法改变.且该成员变量要么在定义时初始化,要么在构造器中进 ...

  10. 每天一个linux命令(34):du 命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...