西瓜书第二章 模型评估与选择

第2章 模型评估与选择

2.1 经验误差与过拟合

  学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”;过拟合一般是由于学习能力过于强大,以至于把训练样本所包含的不太一般的特性都学到了,而欠拟合则通常是由学习能力低下而造成的。欠拟合比较容易克服,例如在决策树学习中扩展分支,在神经网络学习中增加训练轮数等,而过拟合则很麻烦,它是无法避免的,机器学习面临的问题通常是NP难甚至更难,而有效的学习算法必然是在多项式时间内运行完成,若可彻底的避免过拟合,则通过经验误差最小化就能获最优解,即意味着构造性的证明了“P=NP”,因此只要相信“P不等于NP”,过拟合就无法避免。

2.2 评估方法

  测试集应该尽可能与训练集互斥。

  “留出法”将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T。保留类别比例的采样方式通常称为“分层采样”,使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果,留出法的问题在于不好确定划分训练集合测试集的比例。

  “交叉验证法”cross validation,先将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到,然后每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集,这样就可以获得k组训练\测试集,从而进行k次训练和测试,最终返回的是这k个测试结果的均值,交叉验证法评价结果的稳定性和保真性在很大程度上取决于k的取值。假定数据集D中包含m个样本,若另k=m,则得到了交叉验证法的一个特例,留一法(Leave-One-Out,简称LOO),留一法的缺陷在于数据集比较大时,训练m个模型的计算开销可能是难以忍受的。

  “自助法”直接以自助采样法为基础,给定包含m个样本的数据集D,对它采样产生数据集D‘:每次随机从D中挑选一个样本,将其拷贝放入D',然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到,重复上述过程m次后,得到了包含m个样本的数据集D',自助法在数据集较小、难以有效划分训练\测试集时很有用。

  一般地,用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。

2.4 性能度量

  performance measure,回归任务最常用的性能度量是“均方误差”(mean squared error)

      

  错误率与精度:错误率是分类错误的样本数占样本总数的比例,精度是分类正确的样本数占样本总数的比例。

  查准率(准确率precision)与查全率(召回率recall)与F1:“检索出的信息中有多少比例是用户感兴趣的”“用户感兴趣的信息中有多少被检索出来了”。

真实情况 预测结果
正例 反例
正例 TP(真实例) FN(假实例)
反例 FP(假正例) TN(真反例)

   查准率P与查全率R分别定义为:P=TP/(TP+FP)  R=TP/(TP+FN). 查准率高时查全率一般偏低,查全率高时查准率一般偏低。

  P-R曲线下面积的大小,一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例,但是不容易估算,所以平衡点(Break-Even Point)是查准率=查全率时的取值,更常用的是F1度量,即F1=2PR/(P+R),在一些应用中,对查准率和查全率的重视程度不同,比如推荐信息一般尽可能推荐用户感兴趣的东西,所以要求查准率高,而逃犯信息监控系统则要求查全率高。F1度量的一般形式是

  ROC与AUC:根据概率预测结果,可将测试样本进行排序,“最可能”是正例的排在最前面,“最不可能”是正例的排在最后面,分类过程相当于在这个排序中以某个“截断点”将样本分为两部分,前一部分作为正例,后一部分作为反例,在不同的应用任务中,可根据任务需求来采用不同的截断点,若更重视查准率,则可选择排序中靠前的位置进行截断,若更重视查全率,则可选择靠后的位置进行截断。ROC(Receiver Operating Characteristic)曲线,源于“二战”中用于敌机检测的雷达信号分析技术。ROC曲线的纵轴是“真正例率”(True Positice Rate,TPR),横轴是“假正例率”(False Positive Rate,FPR):

  TPR=TP/(TP+FN)   FPR=FP/(TN+FP)

  ROC曲线绘图过程:给定m+个正例和m-个反例,根据学习器预测结果对样例进行排序,然后把分类阈值设为最大,即把所有样例均预测为反例,此时真正例率和假正例率均为0,在坐标(0,0)处标记一个点,然后分类阈值依次设为每个样例的预测值,依次将每个样例划分为正例。设前一个标记点坐标为(x,y).当前若为真正例,则对应标记点的坐标为(x,y+1/m+);当前若为假正例,则对应标记点的坐标为(x+1/m-,y),然后用线段连接相邻点即得。

  ROC曲线的比较一般是通过比较ROC曲线下的面积,即AUC(Area Under ROC Curve)。

2.5 偏差与方差

  学习算法的期望预测为

  泛化误差可分解为偏差、方差与噪声之和。偏差度量了学习算法的期望预测与真实结果的偏离程度,即预测了学习算法本身的拟合能力;方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。泛化性能是由学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。

  一般来说,偏差与方差是有冲突的。

 

posted on 2016-07-18 23:16  开心咿呀  阅读(631)  评论(0编辑  收藏  举报