模型评估和选择
-
评估方法。
1),留出法。
将数据集D划分为两个互斥的子集,一个作为测试集,一个作为验证集。为保证准确性,可以随机,可以分层采样。
一般是2/3-4/5用作训练,其余用作测试。
2), 交叉验证法。
平均划分为K个大小相似得互斥子集,尽量数据分布与原数据集保持一致(可以用分层),每次用一个作为验证集,其他作为训练集,训练K次。最后结果取均值。
留一法:
有m个样本点,m=k.
优点:不受随机样本划分影响。
缺点:数据集太大时训练模型得代价太大。
3).自助法。
对m个样本得数据集D。从D中抽出D’,然后放回,重复m次之后。大概有36.8%的样本没有被取到,这些可以被作为验证集。 -
性能度量。
1).
值是离散型:
错误率:E(f;D)=∑i=1mⅡ(f(xi)≠yi)
精度:acc(f;D)=1/m∑i=1mⅡ(f(xi=yi))=1−E(f;D)
值是连续型:E(f;D)=∫x DⅡ(f(x)≠y)∗p(x)dx ∫x DⅡ(f(x)=y)∗p(x)dx
2).查全率查准率与F1:
s | 正例 | 反例 |
---|---|---|
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假反例) | TN(真反例) |
查准率:
查全率:
PS:查全率与查准率是一对矛盾的度量,查准率高时,查全率可能会偏低。
P-R图:
P-R图能直观地显示下、出学习器在样本总体上的查全率,查准率。包含的面积越大性能越好。在“平衡点”取得查全率与查准率都双高(此时,查全率=查准率)。
F1:
因为BEP(平衡点)过于简化,我们更常用F1度量:
F1是基于查准率与查全率的调和平均:
2)ROC与AUC:
ROC曲线的纵轴是真正例率,横轴是假正例率:
绘图过程:
给定
AUC:
AUC就是对ROC包围的下面的面积求和而得,若ROC曲线是由坐标
3**)代价敏感曲线:**
因为有时候不同类型的错误会有不同的代价,我们可以依次为这些错误定义他们的代价。
二分类代价矩阵:
真实类别\预测类别 | 第0类 | 第1类 |
---|---|---|
第0类 | 0 |
|
第1类 |
|
0 |
代价敏感度的错误率:
代价曲线:
横轴是
纵轴是归一化代价:
ROC上坐标为(FPR,TPR),可根据此计算出FNR=1-TPR,在代价平面上画一条从(0,FPR)到(1,FNR)的线段,线段下的面积就是期望总体代价。如上图阴影面积所示。
4)比较检验:
假设检验:
在我们做一次留出法估计时得到一个泛化错误率
此时我们可以用二项检验”
一般我们做多次留出法估计,这时候可以用K个测试错误率,和样本的平均测试错误率和方差做“t检验”。
交叉验证t检验:
对两个学习器,我们用相同的数据集进行交叉验证法对他们进行检验,我们可以假设两个学习器的性能相同,这时候可以用“成对t检验”对他们进行检验。