吴恩达机器学习笔记 —— 12 机器学习系统设计

摘要:
本章主要关注机器学习的推荐实践过程和评估指标。一方面,它告诉我们如何优化我们的模型;另一方面,它告诉我们,对于分类算法,最好使用准确率和召回率或F1值来衡量效果。最后,强调在大多数机器学习中,训练样本对模型的准确性有一定的影响。有关更多信息,请参阅机器学习和深度学习机器学习最佳实践。对于垃圾邮件分类项目,一般的方法是首先标记一堆电子邮件以及它们是否是垃圾邮件,例如[,,…]。

本章主要围绕机器学习的推荐实践过程以及评测指标,一方面告诉我们如何优化我们的模型;另一方面告诉我们对于分类的算法,使用精确率和召回率或者F1值来衡量效果更佳。最后还强调了下,在大部分的机器学习中,训练样本对模型的准确率都有一定的影响。

更多内容参考 机器学习&深度学习

机器学习最佳实践

针对垃圾邮件分类这个项目,一般的做法是,首先由一堆的邮件和是否是垃圾邮件的标注,如[(邮件内容1,是),(邮件内容2,否),(邮件内容3,是)...]。然后我们针对邮件的内容去做分词,搜集全部词语组织成词表;由于邮件内容的词通常都是常用词,因此可以取top500的词组织成词表,然后替换内容邮件。

接下来如果想要优化机器学学习模型,可以有下面几种:
1 搜集更多的数据
2 从邮件的地址中寻找新的feature
3 从邮件内容中寻找新的feature
4 基于更复杂的算法检测错拼词

推荐的步骤是:
1 先通过一些简单的算法快速实现,然后通过交叉验证选择一个比较好的模型
2 通过学习曲线,确定是属于高偏差的情况、还是高方差的情况,再来决定是否增加样本、或者增加特征
3 错误分类的分析,通过分析那些被分错的样本,观察是否有什么共同的特征。比如分析一个英文单词,提取词干和不提取,错误率有没有什么变化,从而调整算法

P、R、F1模型评测

在说一个其他的例子,癌症检测。如果我们的错误率是1%,而1%中只有0.5%是真正得了癌症的,那么这个分类的算法其实也称不上好。所以错误率低,并不一定代表模型就好。

因此可以使用下面的指标衡量方法,精确率和召回率。精确率是指我们预测的多少是对的;召回率是指我们预测对的全不全(预测对的占本身就是对的多少)。通过这两个指标可以比较好的评判一个分类算法的好坏。

吴恩达机器学习笔记 —— 12 机器学习系统设计第1张

如果不知道怎么平衡精确率和召回率,可以直接使用F1 Score,这个指标同时衡量了两个值:

吴恩达机器学习笔记 —— 12 机器学习系统设计第2张

一般说来,盲目的扩充样本数据并没有什么作用。但是在一些特例中,只有足够的样本才能使得训练更准确。比如基于上下文却分容易混淆的词语。

免责声明:文章转载自《吴恩达机器学习笔记 —— 12 机器学习系统设计》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VS2008 集成SVN工具AnkhSvn介绍目前流行前端几大UI框架下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

spark 特征选择、特征预处理:提取/转换/选择 缺失值 sparkMllib

数据预处理与特征工程 缺失值处理 缺失值处理通常有如下的方法: 对于unknown值数量较少的变量,包括job和marital,删除这些变量是缺失值(unknown)的行; 如果预计该变量对于学习模型效果影响不大,可以对unknown值赋众数,这里认为变量都对学习模型有较大影响,不采取此法; 可以使用数据完整的行作为训练集,以此来预测缺失值,变量hous...

【一致性检验指标】Kappa(cappa)系数

1 定义 百度百科的定义: 它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk)的和,再减去某一类地表真实像元总数与被误分成该类像元总数之积对所有类别求和的结果,再除以总像元数的平方减去某一类中地表真实像元总数与该类中被误分成该类像元总数之积对所有类别求和的结果所得到的。 这对于新手而言可能比较难理解。什么混淆矩阵?什么像元总数? 我们...

[Architecture Design] DDD经验分享 (下)

接续... [Architecture Design] DDD经验分享 (中) 系统设计阶段 (SD) 「系统设计阶段」主要的工作是对设计完成的系统架构,做每个功能模块的对象设计。一般会采UML的「类别图」、「循序图」等等工具,来完成系统设计的工作。最终将设计完毕的解决方案,整理成一份「系统设计规格书」。如果说需求分析阶段是建立骨架,那么系统设计阶段就是填...

面试准备

编程基础: (关注代码的时间复杂度空间复杂度) 进程间通信方式 线程和进程 线程的状态转化 数组和链表的区别 数据结构学过哪些,回答了数组,链表,然后问他们各自的特点以及适合在什么场景下应用,以及他们的时间复杂度 死锁产生的条件,以及如何避免死锁,银行家算法,产生死锁后如何解决 java内存模型java内存区域 java中创建类的实例有几种方法 死锁的原因...

python机器学习sklearn 岭回归(Ridge、RidgeCV)

  1、介绍     Ridge 回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题。 岭系数最小化的是带罚项的残差平方和,          其中,α≥0α≥0 是控制系数收缩量的复杂性参数: αα 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。        2、参数         alpha:{float,array-like}...

R语言快速深度学习进行回归预测(转)

深度学习在过去几年,由于卷积神经网络的特征提取能力让这个算法又火了一下,其实在很多年以前早就有所出现,但是由于深度学习的计算复杂度问题,一直没有被广泛应用。 一般的,卷积层的计算形式为: 其中、x分别表示当前卷积层中第j个特征、前一层的第i个特征;k表示当前层的第j个特征与前一层的第i个特征之间的卷积核;M表示需要卷积的前一层的特征的集合,b表示当前卷积...