1. 经验误差与过拟合
学习器在训练集上的误差称为“训练误差”(training error)或“经验误差”(empirical),在新样本上的误差称为“泛化误差”(generalization)。
2. 评估方法
使用一个测试集来测试学习器对新样本的判别能力,然后以测试集上的测试误差作为泛化误差的近似。通常我们假设测试样本也是从样本真实分布中独立同分布采样而得。
2.1 留出法(hold-out)
训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。
划分方式:
若令训练集S包含绝大多数的样本,则训练出的模型可能更接近于用D(整个数据集)训练出的模型,但由于T(测试集)比较小,评估结果可能不够稳定准确;
若令测试集T多包含一些样本,则训练集S与D差别更大了,被评估的模型与用D训练出的模型相比可能有较大差别,从而降低了评估结果的保真性。
这个问题没有完美的解决方案,常见做法是将大约2/3~4/5的样本用于训练,剩余样本用于测试。(一般而言,测试集至少应含30个样例)
2.2 交叉验证法(cross validation)
2.3 自助法(bootstrapping)
自助法在数据集较小、难以有效划分训练/测试集时很有用。但数据量足够时,留出法和交叉验证法更常用一些。
3. 性能度量
3.1 错误率与精度
3.2 查准率(precision)、查全率(recall)与F1
P-R图:以P为纵轴、R为横轴作图。
“平衡点”(BEF)是P-R图的性能度量,它是P=R时的取值。BEF越高,学习器的性能越好。
F1度量
3.3 ROC与AUC
ROC曲线用来衡量学习器的泛化性能。其纵轴为“真正例率”(TPR),横轴是“假正例率”(FPR)。
AUC是ROC曲线下各部分的面积,AUC越大,性能越好。
3.4 代价敏感错误率与代价曲线
《机器学习》35-37页,都是干货。
泛化性能是由学习算法的能力(偏差)、数据的充分性(方差)以及学习任务本身的难度(噪声)所共同决定的。
偏差-方差窘境
参考文献
《机器学习》周志华著