经验误差与过拟合
- 错误率:如果在$m$个样本中有$a$个样本分类错误,则错误率$E=\frac{a}{m}$
- 精度(accuracy):$1-\frac{a}{m}$,即“精度=1-错误率”
- 误差:学习器的实际预测输出与样本的真实输出之间的差异。
- 训练误差:学习器在训练集上的误差。
- 泛化误差:学习器在新样本上的误差。
- 过拟合(overfitting)与欠拟合(underfitting)
评估方法
数据集的划分
- 留出法:直接将数据集$D$划分为两个互斥的集合,其中一个作为训练集$S$,另一个作为测试集$T$,即$D=S\cup T, S\cap T=\phi$。为了保证划分后数据分布的一致性。通常采用“分层抽样”(stratified sampling)的方法。
- 交叉验证法:将数据集$D$划分为$k$个大小相似的互斥子集,即$D=D_{1}\cup D_{2}\cup…\cup D_{k},D_{i}\cap D_{j}=\phi(i\neq j)$,每个子集$D_{i}$都尽可能保证数据分布的一致性,即来自分层抽样。然后每次用$k-1$个子集的并集作为训练集,剩下的那个子集作为测试集,这样就得到$k$组 训练/测试集,从而可以进行$k$次训练和测试,最终返回的是这$k$个测试结果的均值,称为“$k$折交叉验证”(k-fold cross validation)
- 自助法(bootstrapping):给定包含$m$个样本的数据集$D$,我们对它进行采样产生数据集$D’$:每次随机从$D$中挑选一个样本,将其拷贝放入$D’$,然后再将该样本放入$D$中,使得该样本在下次采样时任有可能被采到;重复这个过程$m$次后,我们就得到了含有$m$个样本的数据集$D’$。做一个简单的估计,样本每次采样不被采到的概率为$1-\frac{1}{m}$,则$m$次不被猜到的概率为$(1-\frac{1}{m})^m$,当$m$足够大时有:即通过自助采样,初始数据集$D$中大约有$36.8\%$的样本没有出现在$D’$中。适用于数据集较小,难以划分的数据集。
调参与最终模型
性能度量
回归任务中常用的均方误差:
更一般的,对于数据分布$\mathfrak{D}$和概率密度函数$p(\cdot)$,均方误差可描述为
查准率、查全率与$F1$
对于二分类问题,可将样例的真实类别与学习器的预测类别的组合划分为:
- 真正例(true positive):预测的正例实际上就是正例
- 假正例(false positive):预测的正例实际上是反例
- 真反例(true negative):预测的反例实际上就是负例
- 假反例(false negative):预测的反例实际上是正例
由以上的概念可以得出,$真实的正例=TP+FN,真实的反例=TN+FP,预测的正例=TP+FP,预测的反例=TN+FN$,可组成混淆矩阵(confusion matrix)。
- 查准率:$P=\frac{TP}{TP+FP}=\frac{预测正确的正例}{预测的正例数}$,即考量预测正例的准确率
- 查全率:$R=\frac{TP}{TP+FN}=\frac{预测正确的正例}{真实的正例数}$,即考量预测正例的完整率
- P-R曲线与平衡点(Break-Event Point,简称BEP,它是查准率=查全率时的取值)
- $F1$度量比平衡点更常用:
- 对查全率与查准率的重视程度不同,定义$\beta>0$度量了查全率对查准率的相对重要性:
- 很多时候会多次的训练/测试,得到多个混淆矩阵。从而使用各种指标的均值来进行考量
ROC与AUC
ROC(Reveiver Operating Characteristic)全称是“受试者工作特征”,它考察“真正例率”(TPR)与“假正例率”(FPR):
AUC即ROC曲线下的面积