Coursera课程地址

因为Coursera的课程还有考试和论坛,后续的笔记是基于Coursera
https://www.coursera.org/learn/machine-learning/home/welcome

ML:机器学习系统设计 Machine Learning System Design

1. 优先处理什么 Prioritizing what to work on: Spam classification example

垃圾邮件拆分词,用分类方法分类

我们可以通过不同的方式解决机器学习问题:

  • 收集大量数据(例如“蜜罐”项目但并不总是有效)
  • 开发复杂的功能(例如:在垃圾邮件中使用电子邮件标题数据)
  • 开发算法以不同的方式处理您的输入(识别垃圾邮件中的拼写错误)。

很难说哪些选项会有所帮助。

2. 误差分析 Error analysis

解决机器学习问题的推荐方法是:

  • 从一个简单的算法开始,快速实现,并尽早测试。
  • 绘制学习曲线以确定更多数据、更多特征等是否有帮助
  • 错误分析:手动检查交叉验证集中示例的错误并尝试发现趋势。

将错误结果作为单个数值获取非常重要。否则很难评估算法的性能。

您可能需要在输入有用之前对其进行处理。例如,如果您输入的是一组单词,您可能希望将具有不同形式(失败/失败/失败)的同一个单词视为一个单词,因此必须使用“词干提取软件”将它们全部识别为一个。

3. 偏斜类的错误度量 Error metrics for skewed classes

有时很难判断错误的减少是否实际上是算法的改进。

  • 例如:在预测癌症诊断时,其中 0.5% 的示例患有癌症,我们发现我们的学习算法有 1% 的错误。但是,如果我们简单地将每个示例归类为 0,那么即使我们没有改进算法,我们的错误也会减少到 0.5%。
    这通常发生在倾斜的类中;也就是说,当我们的类在整个数据集中非常罕见时。

或者换一种说法,当我们从一个分类中获得的例子比来自另一分类的例子多得多。

为此,我们可以使用准确率Precision/召回率Recall。

  • 预测:1,实际:1 — 真阳性
  • 预测:0,实际:0 — 真负
  • 预测:0,实际,1 — 假阴性
  • 预测:1,实际:0 — 误报

精确度:在我们预测的所有患者中,y=1,实际患有癌症的比例是多少?

真正的积极因素 / 预测阳性总数 = 真正的积极因素 / (真阳性+假阳性)

回想一下:在所有实际患有癌症的患者中,我们正确检测出患有癌症的比例是多少?

实际阳性总数 \ 真正的积极因素 = 真正的积极因素 \ (真正的积极因素+假阴性)

这两个指标让我们更好地了解分类器的表现。我们希望准确率和召回率都很高。

在本节开头的示例中,如果我们将所有患者归类为 0,那么我们的召回将是0 / (0 + f) = 0 ,因此尽管错误率较低,但我们可以很快看到它的召回率更差。

注 1:如果一个算法只预测负数,就像它在一个练习中所做的那样,精度没有定义,不可能除以 0。F1 分数也不会被定义。

4. 权衡精度和召回率 Trading off precision and recall

我们可能想要使用逻辑回归对两个类别进行可靠的预测。一种方法是提高我们的门槛:

  • 预测 1 如果: Hθ(x) >= 0.7
  • 预测 0 如果: Hθ(x) < 0.7

这样,我们只有在患者有 70% 的机会时才能预测癌症。

这样做,我们将获得更高的精度但更低的召回率(请参阅上一节中的定义)。

在相反的例子中,我们可以降低阈值:

  • 预测 1 如果: Hθ(x) >= 0.3
  • 预测 0 如果: Hθ(x) < 0.3

这样,我们就得到了一个非常安全的预测。这将导致较高的召回率但较低的精度。

阈值越大,精度越高,召回率越低。

阈值越低,召回率越大,精度越低。

为了将这两个指标合二为一,我们可以取F 值。
一种方法是取平均值:(P + R) / 2

这行不通。如果我们预测所有 y=0,那么尽管召回率为 0,但平均值会提高。如果我们将所有示例预测为 y=1,那么尽管精度为 0,但非常高的召回率将提高平均值。

更好的方法是计算F 分数(或 F1 分数): F Score = 2 * PR / (P + R)

为了使 F Score 大,精度和召回率都必须大。

我们希望在交叉验证集上训练精度和召回率,以免使我们的测试集产生偏差。

5. 机器学习数据 Data for machine learning

我们应该训练多少数据?
在某些情况下,如果给定足够的数据,“劣等算法”可以胜过使用较少数据的高级算法。


我们必须选择我们的特征以获得足够的信息。一个有用的测试是:给定输入 x,人类专家能否自信地预测 y?

大数据的基本原理:如果我们有一个低偏差算法(许多特征或隐藏单元构成一个非常复杂的函数),那么我们使用的训练集越大,过拟合就越少(算法越准确)测试集)。

6. 测验说明

当测验说明告诉您输入“两位十进制数字”的值时,它的真正含义是“两位有效数字”。因此,例如,值 0.0123 应输入为“0.012”,而不是“0.01”。

参考

  • https://class.coursera.org/ml/lecture/index
  • http://www.cedar.buffalo.edu/~srihari/CSE555/Chap9.Part2.pdf
  • http://blog.stephenpurpura.com/post/13052575854/managing-bias-variance-tradeoff-in-machine-learning
  • http://www.cedar.buffalo.edu/~srihari/CSE574/Chap3/Bias-Variance.pdf

参考

https://www.coursera.org/learn/machine-learning/resources/LIZza

https://www.coursera.org/learn/machine-learning/supplement/gFC7y/lecture-slides

机器学习- 吴恩达Andrew Ng Week6 知识总结 Machine Learning System Design相关推荐

  1. 【斯坦福公开课-机器学习】1.机器学习的动机和应用(吴恩达 Andrew Ng)

    文章目录 0三个目标 0先修课程要求 基本工具 1-网址 2-邮箱 3-本系列课程链接 1机器学习的定义 1-1非正式定义 1-2正式的定义 2监督学习(Supervised Learning) 2- ...

  2. 第06周:吴恩达 Andrew Ng 机器学习

    10 应用机器学习的建议 10.1 决定下一步做什么 依旧用房价预测的例子,假设我们使用已经正则化的线性回归的模型得到了参数,并将参数带入预测函数来预测一组新的房价,但是结果误差很大,那么为了解决问题 ...

  3. 第01周:吴恩达 Andrew Ng 机器学习

    学习内容: 1 机器学习 1.1 机器学习定义 ①Arthur Samuel:在没有明确设置的情况下,使计算机具有学习能力的研究领域. e.g.跳棋游戏,使计算机与自己对弈上万次,使计算机学习到什么是 ...

  4. 吴恩达新书AI实战圣经《Machine Learning Yearning》中英文版分享

    1 前言 因为之前分享了吴恩达老师的<机器学习>和<深度学习>两门课程的全套笔记,结果好多朋友通过后台留言获取了这两份资料,小汤也因此幸运地结识了不好朋友. 最近一个朋友留言问 ...

  5. 机器学习(Machine Learning) - 吴恩达(Andrew Ng) 视频笔记

    背景:写于20190408,大概一周前我已经看到了P47 8-4 - Model Representation II 视频链接:https://www.bilibili.com/video/av991 ...

  6. 第10周:吴恩达 Andrew Ng 机器学习

    15 异常检测(Anomaly Detection) 这种算法虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题. 15.1 问题动机 例:假想一个飞机引擎制造商,当他生产的飞机引 ...

  7. 第02周:吴恩达 Andrew Ng 机器学习

    学习目标: 完成对机器学习逻辑回归部分 完成习题 整理理论与编程题笔记 学习内容: 六.逻辑回归 6.1 分类问题Classification 二分类问题:通常结果有两种可能(0:negative c ...

  8. 第09周:吴恩达 Andrew Ng 机器学习

    14 降维(Dimensionality Reduction) 第二种类型的无监督学习问题叫降维 14.1 目标Ⅰ:数据压缩 使用降维的原因之一是数据压缩,数据压缩可以使数据占用较小的内存或硬盘空间, ...

  9. 第08周:吴恩达 Andrew Ng 机器学习

    13 聚类 聚类算法是学习的第一个无监督学习算法,它所用到的数据是不带标签的. 13.1 无监督学习 什么是无监督学习? 在无监督学习中,所有的数据不带标签,而无监督学习要做的就是将这一系列无标签的数 ...

  10. 第04周:吴恩达 Andrew Ng 机器学习

    学习内容: 8 神经网络 8.1 为什么用神经网络 当只有两个特征时(x1.x2),使用sigmoid函数得到的结果还可以,因为可以把x1.x2的所有组合都包含到多项式中.但当很多问题含有很多特征,不 ...

最新文章

  1. 关于hive中Map join 时大表left join小表的问题
  2. struts.xml 文件添加DTD文件
  3. restTemplate踩过的坑-spring clound--cloud内部服务调用重试次数
  4. 二进制文件安装mysql_CentOS7下二进制文件安装MySQL5.6
  5. 他不怕被拒绝_不会敬酒很吃亏,送你五个敬酒词的模版,再也不怕劝酒了
  6. c语言转意字符 s,第2章 C语言初探:12、C语言转义字符
  7. 香港科技大学理学院数据建模硕士学位项目MSc DDM 项目介绍×申请指南
  8. wunderlist_Wunderlist的6种开源替代品
  9. 解锁pdf文件,删除pdf密码
  10. SSM+高校学生综合评测系统 毕业设计-附源码200851
  11. win10之缺少一个或者多个协议(只能上qq不能上网)
  12. 阿里云短信校验注册完整版
  13. python中pd series_Python 数据处理(三)——pd.Series
  14. Zookeeper知识要点与集群安装,欢迎纠错
  15. armbian 斐讯n1_斐讯N1安装Armbian
  16. mac 版VirtualBox 安装win10方法 全屏
  17. 2007年12月全球十大搜索引擎
  18. 语音专题第一讲,麦克风阵列的语音信号处理技术
  19. 关于系统时钟的配置问题,如是stm32f1的系统时钟为72Mhz
  20. 在线查看相机快门次数_我是亲民_新浪博客

热门文章

  1. HttpApplication 类
  2. prototype.js学习(3)函数绑定
  3. 使用go语言开发一个后端gin框架的web项目
  4. WPF Binding学习(三)
  5. JavaScript正则表达式19例(11)
  6. Java SVN管理工具的使用
  7. 物联网时代如何保障数据安全
  8. HTTP协议是什么?(及get和post请求的区别)
  9. RHEL 6.4 安装DNS服务(bind-9.8 )
  10. LaTeX使用小结2