1.经验误差与过拟合
错误率:把分类错误的样本数占样本总数的比例。
误差:学习器的实际预测输出与样本的真实输出之间的差异。 在训练集上的误差称为 “训误差” (training error) 或 “经验误差” (empirical error), 在新样本上的误差称为“泛化误差” (generalization
error)。
“过拟合" (overfitting):把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化性能下降。
“欠拟合”(underfitting):训练样本的一般性质尚未学好。
上图可以更加直观显示,有关欠拟合与过拟合的关系。
在解决欠拟合的时候,我们可以在决策树学习中扩展分支、在神经网络学习中增加训练轮数等,而过拟合比较麻烦,过拟合是无法彻底避免的,我们所能做的只是“缓解”,或者说减小其风险。
2.评估方法
通过实验测试对学习器的测试进行评估选择。
2.1 留出法
“留出法”(hold-out)直接将数据集。划分为两个互斥的集合,其中一个集合作为训练集S ,另一个作为测试集T ,用 T 来评估其测试误差,作为对泛化误差的估计。
训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,常见做法是将大约 2/3 〜 4/5 的样本用于训练,剩余样本用于测试。
2.2交叉验证法
“交叉验证法” ( cross validation) 先将数据集 D 划分为 k 个大小相似的互斥子集,每个子集 D i 都
尽可能保持数据分布的一致性,即从中通过分层采样得到.然后,每次用k - 1 个子集的并集作为训练集,余下的那个子集作为测试集,k 最常用的取值是 1 0 , 此时称为 10 折交叉验证。
如果说k=m,那么则会出现一个特例,留一法 (Leave-One-Out, 简称 LOO)。
留一法使用的训集与初始数据集相比只少了一个样本,这就使得在绝大多数情况下,留一法中被实际评估的模型与期望评估的用 D 训练出的模型很相似。当数据集较大时则不适用。
2.3 自助法
给定包含N个样本的数据集TT,有放回的采样N次,得到采样集TsTs。数据集TT中样本可能在TsTs中多次,也可能不出现在TsTs。一个样本始终不在采样集中出现的概率是(1−1N)N(1−1N)N。根据:limN→∞(1−1N)N=1e=0.368limN→∞(1−1N)N=1e=0.368,因此T中约有63.2%的样本出现在Ts中。将Ts用作训练集,T−Ts用作测试集。
自助法在数据集较小、难以有效划分训练/测试集时很有用。而且自助法能从初始数据集中产生多个不同的训练集。
2.4 调参与最终模型
在学习算法都有些参数 (parameter) 需要设定,参数不同,模型的性能往往有显著差别.在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定,这就是通常所说的“参数调节”或简 称 “调参 " (parameter tuning)。
我们在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。
3 性能度量
对学习器泛化能力评估。什么样的模型是好的,不仅取决于算法与数据,还取决于任务需求。
回归任务最常用的性能度量是“均方误差”。
3.1 错误率与精度
错误率:
精度:
3.2 查准率、查全率与F1
对于二分类问题,可以将其分为四种类型,真正例 (true positive), 假正例 (false positive), 真反例 (true negative),假反例 (false negative) 四种情形,令 T P ,F P ,T N , F N 分别表示其对应的样例数,则显然有 T P + F P + T N + F N = 样例总数。
T、F是对预测值的判断;T(True) F(False)
P、N是预测的原始值。P(Positive) N(Negative)
查准率P与查全率R分别为
P=TP/(TP+FP)
R=TP/(TP+FN)
查全率与查准率是一对矛盾的度量,如果一个偏高则另一个偏低。
以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简 称 “P-R曲线〃,显示该曲线的图称为“P-R图”。
在上图中可以查看哪个曲线的面积比较大,则性能较好,再根据平衡点的位置,以及大小,更方便的判断性能(F1 = 2 * P * R /( P + R )值较大,则说明学习器的性能较好)。