目录
1 经验误差与过拟合
1. 错误率(error rate):分类错误的样本数占样本总数的比例,即如果在m个样本中有a个样本分类错误,则错误率E=a/m。
2. 精度(accuracy):精度=1-错误率,即1-a/m,常写为百分比形式。
3. 误差(error):这里说的误差指误差期望。
学习器在训练集的误差被称为训练误差(train error)或经验误差(empirical)
新样本上的误差被称为泛化误差(generalization error)
4. 过拟合(overfitting):训练误差低,泛化误差高。
5. 欠拟合(underfitting):训练误差很高。
2 评估方法
使用测试集(testing set)来测试学习器对新样本的判别能力,以测试集上的测试误差(testing error)作为泛化误差的近似。
1. 留出法(hold-out):直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。
2. 交叉验证法(cross vaildation):先将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保证数据分布的一致性,从D中通过分层采样得到。然后,每次用k-1个自己的并集作为训练集,余下的那个自己作为测试集;这样就可获得k组训练/测试集,从而进行k次训练和测试,最终返回这k个测试结果的均值。k的常用取值有10,5,20等,成为k折交叉验证。
3. 留一法(Leave-One-Out, 简称LOO):交叉验证法的特例,此时k=m,m为数据集的样本数。往往比较准确,但是开销大。
4. 自助法(bootstrapping):给定包含m个样本的数据集D,对它进行采样产生新的数据集:每次随机从D中挑选一个样本,将其拷贝放入新的数据集中(然后放回),使得该样本在下次采样时仍有可能被采到。执行m次后得到自助采样结果,作为训练集。数据集与训练集的差集作为测试集。
3 调参
1. 算法的参数:亦称超参数,经人工设定后产生模型。
2. 模型的参数:模型在训练过程中不断更新的。
3. 验证集(validation set):基于验证集的上的性能来进行模型选择和调(超)参。
4 性能度量
1. 混淆矩阵(confusion matrix):对于二分类问题,可将样例根据其真是类别与学习器预测类别的组合划分为四种情况。
真实/预测 | 正例 | 反例 |
正例 | TP(真正例) | FN(假返例) |
反例 | FP(假正例) | TN(真反例) |
2. 查准率(precision): 真正例在预测正例中的占比。
3. 查全率(recall):真正例在真实正例中的占比。
4. F1度量(F1 score):基于调和平均定义,越大越好,最大值为1,最小值为0。
▲更一般形式:
5. 宏查全率与微查全率(macro-F1 and micro-F1):对于多个二分类混淆矩阵(执行多分类任务),综合考察查准率和查全率。
6. ROC与AUC
ROC曲线是描述TPR(True Positive Rate)与FPR(False Positive Rate)之间关系的曲线。
AUC是ROC曲线下的面积。AUC越大,学习器性能越好。
5 方差与偏差
1.偏差:预计值的期望与真实值之间的差距。
2.方差:预测值的离散程度,也就是离其期望值的距离。
模型在训练集上的误差来源主要来自于偏差,在测试集上误差来源主要来自于方差。
欠拟合是一种高偏差的情况。过拟合是一种低偏差,高方差的情况。
未完待续......