通常,我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择.为此,需使用一个“测试集”(testing set)来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似.通常我们假设测试样本也是从样本真实分布中独立同分布采样而得,但需注意的是,测试集应该尽可能与训练集互斥,即**测试样本尽量不在训练集中出现、未在训练过程中使用过。
留出法(hold-out)
直接将数据集D划分为两个互斥的集合
交叉验证法(cross validation)
先将数据集 D 划分为k个大小相似的互斥子集,然后每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这 k 个测试结果的均值。为强调k的取值重要性,通常把交叉验证法称为“k折交叉验证”(k-fold crossvalidation)。k最常用的取值是 10,此时称为 10 折交叉验证;其他常用的k值有 5、20 等。
自助法(bootstrap )
现实中常用的做法:对每个参数选定一个范围和变化步长,例如在[0,0.2] 范围内以 0.05 为步长,则实际要评估的候选参数值有5个,最终是从这5个候选值中产生选定值.这是在计算开销和性能估计之间进行折中的结果,通过这个折中,学习过程才变得可行。参数调得好不好往往对最终模型性能有关键性影响.
回归任务最常用的性能度量是“均方误差”(mean squared error)
分类任务中常用的性能度量:
错误度与精度(accuracy)
错误率是分类错误的样本数占样本总数的比例
精度则是分类正确的样本数占样本总数的比例
查准率(precision)与查全率(recall)
查准率:在所预测类别中,预测正确的比例,分母是预测类别的样本数。 例如:挑出的西瓜中,有多少比例是好瓜
查全率:在真实类别中,预测正确的比例,分母是真实类别的样本数。例如:所有好瓜中有多少比例被挑了出来
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情形,令TP、FP、TN、FN分别表示其对应的样例数,则显然有TP+FP+TN+FN=样例总数。分类结果的“混淆矩阵”(confusion matrix)如下:
\(P=\frac{T P}{T P+F P}\)
\(R=\frac{T P}{T P+F N}\)
以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称P-R曲线。
\[F1=\frac{2 \times P \times R}{P+R}=\frac{2 \times TP}{\text { 样例总数 }+TP-TN} \]F1 度量的一般形式 \(F_{\beta}\) 能让我们表达出对查准率/查全率的不同偏好。
\[F_{\beta}=\frac{\left(1+\beta^{2}\right) \times P \times R}{\left(\beta^{2} \times P\right)+R} \]原文:https://www.cnblogs.com/vio1etus/p/02-yang-ben-ping-gu-yu-xuan-ze.html