第二章 模型评估与选择
2.1
误差:模型的实际预测输出与样本的真实输出之间的差异。
经验误差(训练误差):模型在训练集上的误差。
泛化误差:模型在新样本上的误差。
一个好的模型应该在训练集上尽可能地学出应用于所有样本的普遍规律,这样才能在遇到新样本时也能做出正确的判断。
过拟合:模型把训练集学得过于好了,甚至把训练集一些本身的特点当作所有样本的一般性质,这样会导致泛化性能下降。模型在训练集上表现好,而在新样本上表现不好。
欠拟合:模型对训练样本的一般特性都尚未学好。
2.2评估方法:对模型的泛化误差进行评估。
留出法:直接将数据集通过分层采样划分为训练集和测试集,在训练集上训练模型后,用测试集来评估其测试误差,作为对泛化误差的估计。(数据划分尽可能保持数据分布的一致性,至少保持样本的类别比例相似;若干次随机划分,重复进行实验评估后取平均值作为留出法的评估结果)
交叉验证法:通过分层采样将数据集划分为k个相似大小的互斥子集,每次使用k-1个子集作为训练集,剩下那个作为测试集,这样就可以得到k个·训练集、测试集,从而可以进行k次训练和测试,最终取k次测试结果的平均值作为最终的结果。
(留一法:每个子集只包含一个样本,使得该评估方法受训练样本规模影响小,但是时间复杂度高)
自助法:给定m个样本的数据,每次随机选择一个样本加入训练集,然后再放回初始数据集中,使得该样本以后还有机会被采样,重复执行随机重采样m次,最后得到包含m个样本的训练集(包含一部分重复的样本),而没被采样到的数据作为测试集。(改变了训练样本的分布这会引入估计偏差,但是减少了训练样本对算法的影响。同时在数据集比较小,难以划分训练集测试集时很有效)
验证集:用来评估测试的数据集,基于验证集上的性能来进行模型评估和调参。
2.3性能度量:对模型的泛化能力的评价标准。
回归任务中:MSE均方误差、RMSE均方根误差、MAE平均绝对值误差、MAPE平均绝对值百分比误差
分类任务中:错误率、精度ACC、查准率(预测正确的正例占总预测正例的比例)、查全率(预测正确的正例占真实正例的比值)、F1(查准率和查全率的调和平均)及PR图(纵坐标查准率、横坐标查全率)、ROC曲线(纵坐标真正例率、横坐标假正例率)及AUC。
关于查准率和查全率:这是一堆矛盾的变量,查全就是希望将好瓜尽可能的被选择出来,可以通过增加选瓜的数量来实现;查准就是希望选出的瓜中好瓜的比例尽可能高,则只选择最有把握的瓜,但这样难免会漏掉不少好瓜。
关于micro和macro:macro是先在各个混淆矩阵上计算p、r并求得其平均值macro-p、macro-r,再求得相应的macro-F1;micro是先计算混淆矩阵上对应元素进行平均,求得TP、FP、TN和FN的平均值,再基于这些值求得micro-p、micro-r以及micro-F1。
2.4偏差与方差:对机器学习算法的期望泛化错误率进行拆解
偏差:期望输出与真实标记之间的差别。度量了学习算法的期望预测与真实结果之间的偏离程度,即刻画了学习算法本身的拟合能力。
方差:期望输出和模型输出之间的差别。度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的性能影响。
期望泛化误差:偏差、方差以及噪声之和。
因此,学习算法的泛化性能是由学习算法本身的能力、数据的充分性以及学习任务本身的难度所决定。
关于偏差方差窘境:给定一个学习任务,刚开始训练时由于训练不足,训练数据的扰动不足以影响到模型,此时泛化错误率由偏差主导;随着训练程度的加深,模型的拟合能力逐渐增加,这个时候方差开始主导泛化错误率;当训练程度充足时,此时训练数据的轻微扰动就会影响到模型发生显著变化,若此时模型把训练数据的一些自身特征当成数据的普遍规律学习了,则将发生过拟合。