0 概述
- 训练误差:在训练集上的误差
- 泛化误差:在新样本上的误差
- 目标:得到泛化误差小的学习器
- 过拟合与欠拟合:把训练样本的特点当作所有样本的特点,泛化性能下降;训练样本的一般性质尚未学习好
1 模型评估
- 通过测试集上的测试误差作为泛化误差的近似。
- 如何得到测试集?留出法,k-fold, 自助法
1.1 留出法
- 将数据集D划分为训练集S和测试集T,S与T互斥
- 划分要尽量保持数据分布的一致性 分层采样 拓展:样本有偏差的情况
- 优缺点:单次使用留出法得到的结果往往不够稳定。常采用多次随机划分,重复评估后取平均值;若S较大,则可能更接近D,易过拟合,若T较大,则结果可能不够准确。通常取2/3-4/5用于训练。
1.2 交叉验证法
- k-fold cross validation
- 评估的结果是k折交叉验证结果的均值
- 为减少因样本划分不同引入的差别,k折交叉验证通常随机使用不同的划分重复p次,此时最终的评估结果是p次结果的均值 进行了pk次训练
1.3 自助法
- 包含m个样本的数据集D,每次有放回的抽样,重复m次,得到D’
- 样本不被采到的概率为 , 取极限得
- D’为训练集,D\D’为测试集
- 优缺点:数据集较小,难以有效划分时有用;可以产生多个不同的训练集 拓展:集成学习bagging。但 改变了初始数据集的分布,会引入估计偏差。
2 调参
后续根据实际应用再说明
3 性能度量
- 测试集上如何度量模型性能?(评价指标)
- 分类:错误率,精确率,召回率,F1,ROC-AUC,PRC
- 回归:RMSE平方根误差,MAE平均绝对误差,MSE平均平方误差
- 聚类:兰德指数,互信息,轮廓系数
3.1 错误率和精度
- 分类任务中常用:错误率和精度,错误率是分类错误的样本数占总体的比例,精度是分类正确的样本数占总体的比例
- 错误率:
- 精度:
准确率评价指标没有对不同类别进行区分,即其平等对待每个类别。但是这种评价有时是不够的,比如有时要看类别0与类别1下分类错误的各自个数,因为不同类别下分类错误的代价不同,即对不同类别的偏向不同,例如在病患诊断中,诊断患有癌症实际上却未患癌症(False Positive)与诊断未患有癌症的实际上却患有癌症(False Negative)的这两种情况的重要性不一样。另一个原因是,可能数据分布不平衡,即有的类别下的样本过多,有的类别下的样本个数过少,两类个数相差较大。这样,样本占大部分的类别主导了准确率的计算。此时我们应选择其他指标作为评价标准。
3.2 精确率, 召回率,F1
- 分类结果的混淆矩阵:
- 精确率P (percision)与 召回率R (recall)
- 精确率(查准率):预测结果为正的正确率
- 召回率(查全率):在实际正样本中,分类器能预测出多少
- 精确率与召回率通常是矛盾的。例如:为了使R较大,将全部样本预测为正,此时FN=0,R=1;但是精确率低。
- P-R曲线
- F1度量:
是P与R的调和平均。更一般的,有加权平均:
其中 时R有更大影响, 时P有更大影响。
3.3 ROC与AUC
- ROC以TPR为纵轴(recall),FPR为横轴(负例中判断为正的比例)
- 对角线