机器学习策略 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. JavaScript判断对象类型及节点类型、节点名称和节点值

    一.JavaScript判断对象类型 1.可以使用typeof函数判断对象类型 function checkObject1(){ var str="str"; console.lo ...

  2. JavaScript判断对象是否含有某个属性

    两种方式,但稍有区别 1,in 运算符 1 2 3 var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toStr ...

  3. DOCKER 开发学习记录

    DOCKER常用命令及参数 DOCKER镜像管理命令: 检索:docker search image_name 下载:docker pull image_namge 查看本地镜像:docker ima ...

  4. 【Java学习笔记之十五】Java中的static关键字解析

    Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...

  5. Flume介绍

    Flume介绍 http://flume.apache.org/FlumeUserGuide.html 一.Flume架构图 含义 Source 规定收集数据的来源 Channel 相当于一个管道,连 ...

  6. Node.js/Vue环境搭配安装

    http://blog.sina.com.cn/s/blog_497ff1a70102x0sw.html 第一次接触Node.js,想创建自己的服务就须配置好Node.js环境 安装Node.js 下 ...

  7. springMVC controller配置方式总结

    第一种:不配置controller 的bean.(注解的方式) 在dispatch-servlet.xml中,在beans节点下配置context:component-scan节点 <!-- 启 ...

  8. IOS UI 滚动视图 UIScrollView

    UIScrollView 常用属性 scrollView.maximumZoomScale= 2.0; //  缩放最大比例 scrollView.minimumZoomScale = 0.2;// ...

  9. @ property 与@ synthesize 的作用 VS @interface

    表示声明了一个实例属性和它的getter和setter器 只在@interface中定义变量的话,你所定义的变量只能在当前的类中访问,在其他类中是访问不了的:而用@property声明的变量可以在外部 ...

  10. 安装mysql后运行.net程序出错

    安装mysql后运行.net程序出错: 出错位置:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config  出错信息:未 ...