吴恩达教你应用机器学习技巧

原创干货文章第一时间送达!

推荐阅读时间:8min~15min

主要内容:机器学习的实用技巧

在目前数据集中拟合得非常好的算法不一定在新数据集中也能work,极有可能发生了overfitting,所以需要一个评估的方法来判断这个算法是否在新的数据集中可行。

1

Evaluating a Learning Algorithm

首先第一步要做的,就是将目前已有的数据集随机打乱,然后分成training set和test set,一般70%的training set,30%作为test set。随即打乱是为了保持training set和test set的类别分布均匀。

然后根据training set中的错误J(theta)来更新模型;

最后使用test set中的错误J(theta)来评价模型。错误越小越好。

test set error反映出一个模型的范化能力。

Linear Regression的步骤:

Logistic Regression以及one-to-rest的多分类的步骤:

如果有多个模型,需要从中挑选出一个最好的模型,如下图:

模型中的权值theta和偏置b都是由J_train(theta,b)来决定的,即theta和bare fit to training set。如果现在使用J_test(theta,b)来选择模型的话(就是选择d = degree of polynomial),则dwill be fit to test set。

这样的话,如果继续使用J_test(theta,b)评估模型的泛化能力有可能是得模型在d过拟合。为解决这一问题,现在我们把原有数据集分成3分:training set 60%, validation set 20% & test set 20%。 首先,用J_train(θ,b)来决定权值theta和偏置b; 接着,用J_valid(theta,b)来选择模型,即选择d = degree of polynomial; 最后,用J_test(θ,b)来评估模型的泛化能力。

2

Bias vs. Variance

high bias的意思是:拟合程度不够,J_train(theta)、J_valid(theta)和J_test(theta)都大 high variance的意思是:过拟合,范化能力不够,J_train(theta)小了,但是J_valid(theta)和J_test(theta)都大 可以通过观察J_train(theta),J_valid(theta)和J_test(theta)来判断模型什么时候过拟合。 如下图:

和上面选择模型(就是选择d = degree of polynomial)一样,我们用J_valid(theta)来选择λ:

再来看看扩大dataset对模型性能提升的帮助。 首先是,扩大dataset对J_train(theta)和J_valid(theta)的影响:

接着是,当模型确定,而且模型面临high bias的情况下,扩大dataset对_train(theta)和J_valid(theta)的影响:

发现,扩大dataset对于提升拟合能力的帮助并不大。 接着是,当模型确定,而且模型面临high variance的情况下,扩大dataset对_train(theta)和J_valid(theta)的影响:

发现,扩大dataset对于提升范化能力是有帮助的。 对于神经网络来说,越深神经元越多,越有可能overfitting,这就是为什么深度学习需要大量的数据了:

3

Precision & Recall

对于那种“倾斜的数据集(skewed dataset)”,所谓“倾斜”的意思是说,各类别的数据量相差很大。单纯地使用“准确率accuracy”是没法判断模型的好坏的,比如下面的例子:

健康的人有99个(y=0),得癌症的病人有1个(y=1)。我们用一个特别糟糕的模型,永远都输出y=0,就是让所有的病人都是健康的。

这个时候我们的“准确率”accuracy=99%,判断对了99个,判断错了1个,但是很明显地这个模型相当糟糕。

因此需要一种很好的评测方法,来把这些“作弊的”模型给揪出来。

先来了解一下真假阳阴性:

接着引入两个新的术语“查准率precision”和“召回率recall”:

解释一下,“查准率”就是说,所有被查出来得了癌症的人中,有多少个是真的癌症病人;“召回率”就是说,所有得了癌症的病人中,有多少个被查出来得癌症。

按照我们刚才的做法,recall =

0/1

=,所以这不是一个好模型。

拥有高查准率或者高召回率的模型是一个好模型。

注意:我们是对稀有类别使用的查准率或者召回率,而且我们会将这个“稀有类别”设置成y=1!!!

总结,在skewed dataset中,不能使用准确率accuracy来评判模型,而应该使用查准率或者召回率对模型在“稀有类别”上的performance进行评估。

4

F1 score

我们希望对于某个模型而言,在precision越高的情况下,recall也会越高,但是有些情况下这两者是矛盾的,现在来考虑下面情况。

第一种情况:当且仅当非常确信他得癌症了,才确诊他得了癌症,即:

这个时候,就是要“高的查准率”,结果导致了“低的召回率”。

第二种情况:只要怀疑他得了癌症,就确诊他得了癌症,即:

这个时候,就是要“高的召回率”,结果导致了“低的准确率”。

这种情况下precision和recall的关系图如下:

从这张图中看,precision很高的时候,recall就很低,反之。在某些应用中,我们就是需要这种precision和recall反相关的模型,但是有的情况下,我们也需要precision和recall同样好的模型,但是什么样的precision和recall才是同样好的呢?

我们需要一个标准可以综合这二者指标的评估指标,用于综合反映整体的指标,其中一种标准就是F1 score:

看下面一个例子中,F1 score就反映了整体的指标,当precision和recall差不多好的时候,F1也是最好的:

比如,当precision或者recall中有一个特别差的时候,F1会特别低:

precision=0 or recall = 0, then F1=0

当precision和recall都特别好的时候,F1也会特别好:

precision=1 and recall=1, then F1=1

总结一下,不同的应用下会有不同的评判标准,有的时候希望Precision比较高,有的时候希望Recall比较高,还有的时候希望他俩的综合指标F1比较高,这就需要自己根据具体的应用来选定了。

吴恩达机器学习系列笔记

欢迎关注公众号学习交流~

本文来自企鹅号 - 机器学习算法与自然语言处理媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

CVPR2018公布优秀论文,何恺明获PAMI青年研究者奖

正在美国盐湖城举行的年度计算机视觉和模式识别盛会CVPR(Conference on Computer Vision and Pattern Recogniti...

1011
来自专栏大数据

单因子测试框架

SignalFactorAnalyse单因子测试框架哪些因子可以为组合提供超额收益?这是构建多因子模型的第一步,也是最关键一步。 特征选择非常关键,只有把握关键...

2775
来自专栏量子位

想让AI读懂时尚?看看亚马逊新发的这两篇论文

安妮 编译整理 量子位 出品 | 公众号 QbitAI 亚马逊想让AI读懂时尚。 继在Echo Look中加入穿搭指导功能引发大量吐槽后,目前,亚马逊又发表了两...

3504
来自专栏机器之心

业界 | 百度提出NCRF:深度学习癌症图像检测效率再提升

NCRF 项目已开源:https://github.com/baidu-research/NCRF

1160
来自专栏数值分析与有限元编程

广义特征值问题标准化

求解广义特征值 Kx = λMx 问题,一种方法是用广义雅可比方法,另一种方法就是化为标准特征值问题,然后用标准特征值的方法求解。 若质量矩阵M是正定矩阵,那么...

3829
来自专栏AI2ML人工智能to机器学习

图文并茂,卡曼滤波

我务必向大家介绍卡尔曼滤波器(Kalman Filter),因为它之所能, 忒惊人!

802
来自专栏专知

【CVPR2018最佳论文重磅出炉】斯坦福伯克利折桂,何恺明获TPAMI年轻研究员奖

【导读】美国当地时间6 月 18 号,CVPR 2018 在犹他州盐湖城开幕。作为计算机视觉领域的全球顶会,吸引了国内外众多学界、产业界的研究人员参与。CVPR...

1282
来自专栏量化投资与机器学习

【贝叶斯系列】在研究机构如何应用贝叶方法论进行量化投资

贝叶斯方法与量化投资 贝叶斯方法在量化投资中有哪些应用股票分类 市场趋势识别 波动率估计 投资组合风险 股票分类 构造投资组合的方法是买入好的 股票(未来收...

3599
来自专栏思影科技

不同亚型的皮质基底节综合症影响脑网络效率

来自宾夕法尼亚大学的John D. Medaglia等人在Neurology期刊上发文,探讨了两种病源(AD亚型和非AD亚型)的皮质基底节综合症患者的脑网络差异...

2958
来自专栏阮一峰的网络日志

数据可视化:基本图表

"数据可视化"可以帮助用户理解数据,一直是热门方向。 图表是"数据可视化"的常用手段,其中又以基本图表----柱状图、折线图、饼图等等----最为常用。 ? 用...

3634

扫码关注云+社区

领取腾讯云代金券