机器学习- 吴恩达Andrew Ng Week6 知识总结 Machine Learning System Design
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.机器学习的动机和应用(吴恩达 Andrew Ng)
文章目录 0三个目标 0先修课程要求 基本工具 1-网址 2-邮箱 3-本系列课程链接 1机器学习的定义 1-1非正式定义 1-2正式的定义 2监督学习(Supervised Learning) 2- ...
- 第06周:吴恩达 Andrew Ng 机器学习
10 应用机器学习的建议 10.1 决定下一步做什么 依旧用房价预测的例子,假设我们使用已经正则化的线性回归的模型得到了参数,并将参数带入预测函数来预测一组新的房价,但是结果误差很大,那么为了解决问题 ...
- 第01周:吴恩达 Andrew Ng 机器学习
学习内容: 1 机器学习 1.1 机器学习定义 ①Arthur Samuel:在没有明确设置的情况下,使计算机具有学习能力的研究领域. e.g.跳棋游戏,使计算机与自己对弈上万次,使计算机学习到什么是 ...
- 吴恩达新书AI实战圣经《Machine Learning Yearning》中英文版分享
1 前言 因为之前分享了吴恩达老师的<机器学习>和<深度学习>两门课程的全套笔记,结果好多朋友通过后台留言获取了这两份资料,小汤也因此幸运地结识了不好朋友. 最近一个朋友留言问 ...
- 机器学习(Machine Learning) - 吴恩达(Andrew Ng) 视频笔记
背景:写于20190408,大概一周前我已经看到了P47 8-4 - Model Representation II 视频链接:https://www.bilibili.com/video/av991 ...
- 第10周:吴恩达 Andrew Ng 机器学习
15 异常检测(Anomaly Detection) 这种算法虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题. 15.1 问题动机 例:假想一个飞机引擎制造商,当他生产的飞机引 ...
- 第02周:吴恩达 Andrew Ng 机器学习
学习目标: 完成对机器学习逻辑回归部分 完成习题 整理理论与编程题笔记 学习内容: 六.逻辑回归 6.1 分类问题Classification 二分类问题:通常结果有两种可能(0:negative c ...
- 第09周:吴恩达 Andrew Ng 机器学习
14 降维(Dimensionality Reduction) 第二种类型的无监督学习问题叫降维 14.1 目标Ⅰ:数据压缩 使用降维的原因之一是数据压缩,数据压缩可以使数据占用较小的内存或硬盘空间, ...
- 第08周:吴恩达 Andrew Ng 机器学习
13 聚类 聚类算法是学习的第一个无监督学习算法,它所用到的数据是不带标签的. 13.1 无监督学习 什么是无监督学习? 在无监督学习中,所有的数据不带标签,而无监督学习要做的就是将这一系列无标签的数 ...
- 第04周:吴恩达 Andrew Ng 机器学习
学习内容: 8 神经网络 8.1 为什么用神经网络 当只有两个特征时(x1.x2),使用sigmoid函数得到的结果还可以,因为可以把x1.x2的所有组合都包含到多项式中.但当很多问题含有很多特征,不 ...
最新文章
- 关于hive中Map join 时大表left join小表的问题
- struts.xml 文件添加DTD文件
- restTemplate踩过的坑-spring clound--cloud内部服务调用重试次数
- 二进制文件安装mysql_CentOS7下二进制文件安装MySQL5.6
- 他不怕被拒绝_不会敬酒很吃亏,送你五个敬酒词的模版,再也不怕劝酒了
- c语言转意字符 s,第2章 C语言初探:12、C语言转义字符
- 香港科技大学理学院数据建模硕士学位项目MSc DDM 项目介绍×申请指南
- wunderlist_Wunderlist的6种开源替代品
- 解锁pdf文件,删除pdf密码
- SSM+高校学生综合评测系统 毕业设计-附源码200851
- win10之缺少一个或者多个协议(只能上qq不能上网)
- 阿里云短信校验注册完整版
- python中pd series_Python 数据处理(三)——pd.Series
- Zookeeper知识要点与集群安装,欢迎纠错
- armbian 斐讯n1_斐讯N1安装Armbian
- mac 版VirtualBox 安装win10方法 全屏
- 2007年12月全球十大搜索引擎
- 语音专题第一讲,麦克风阵列的语音信号处理技术
- 关于系统时钟的配置问题,如是stm32f1的系统时钟为72Mhz
- 在线查看相机快门次数_我是亲民_新浪博客