机器学习模型评估与选择

      • 1. 经验误差与过拟合
      • 2. 评估方法
          • 2.1 留出法(hold-out)
          • 2.2 交叉验证法(cross validation)
          • 2.3 自助法(bootstrapping)
      • 3. 性能度量
          • 3.1 错误率与精度
          • 3.2 查准率(precision)、查全率(recall)与F1
          • 3.3 ROC与AUC
          • 3.4 代价敏感错误率与代价曲线

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)。
机器学习模型评估与选择_第1张图片
AUC是ROC曲线下各部分的面积,AUC越大,性能越好。

3.4 代价敏感错误率与代价曲线

《机器学习》35-37页,都是干货。

泛化性能是由学习算法的能力(偏差)、数据的充分性(方差)以及学习任务本身的难度(噪声)所共同决定的。

偏差-方差窘境

参考文献
《机器学习》周志华著

你可能感兴趣的:(机器学习)