本周的内容主要分为两部分,第一部分:主要内容是偏差、方差以及学习曲线相关的诊断方法,为改善机器学习算法的决策提供依据;第二部分:主要内容是机器学习算法的错误分析以及数值评估标准:准确率(交叉验证集的误差)、查准率(precision)、查全率(recall)以及F值,还有大数据对机器学习的作用,并给出了机器学习算法的设计流程。
第一部分
(一)模型选择
在评估假设函数时,我们通常把数据集分成三部分:60%training set, 20%cross validation set, 20%test set. 分别用于拟合函数,模型选择和预测。
三个集合的误差如下所示(注意是没有正则化参数的):
基于上面的划分,我们对模型选择的步骤为:
1、用测试集training set对多个模型(例如一次函数、二次函数、三次函数)进行训练;
2、用交叉验证集cross validation set验证上一步得到的多个假设函数,选择交叉验证集误差最小的模型;
3、用测试集test set对上一步选择的最优模型进行预测。
下面是模型选择的过程:
以上问题其实是指关系到模型选择的中的一点——多项式的次数d。实际上我们还会去考虑这样两个参数:正则化参数λ、样本量m。而这些知识点涉及到我们下面要说的偏差(bias)、方差(variance)。
(二)偏差(bias)、方差(variance)、学习曲线(learning curve)
根据上图我们可以发现以下对应关系
下面介绍特征量的度d、正则化参数λ、数据量m以及学习曲线:
1、特征量的度d
例如上面线性回归的例子,当我们用二次函数拟合时,训练集和交叉验证集的误差都很小。但是当使用直线拟合时,不管使用多高级的算法去减小代价函数,偏差依然很大,这时候即:多项式次数d太小,导致高偏差、欠拟合;类似的当我们使用10次曲线去拟合,每个样本点都可以经过,训练集的误差近乎为0,但是当我们使用交叉验证集时会发现效果很差,误差很大,这时候即:多项式次数d太大,导致高方差、过拟合。
多项式次数d与训练集、交叉验证集误差时间的关系为:
2、正则化参数λ
正则化参数在第三周的学习中提到过,即λ越大,对θ惩罚越大:θ->0,假设函数是一条水平线,即欠拟合、高偏差;正则化参数越小,相当于正则化作用越弱,即过拟合、高方差。关系如下图所示:
3、样本量m和学习曲线learning curve
学习曲线是误差与训练集和交叉验证集之间的关系,分为高偏差和高方差两种情况(欠拟合和过拟合)
(三)如何决策
综上所诉,发现以下结论:
①训练集误差大、交叉验证集误差也大:欠拟合、高偏差、多项式次数d太小、λ太大;
②训练集误差小、交叉验证集误差却很大:过拟合、高方差、多项式次数d太大、λ太下、样本量太少。
一般来说,使用一个大型的神经网络并使用正则化来修正过拟合通常比使用一个小型神经网络效果更好。但容易出现的问题是计算量会比较大。