6.4 KiB
评估方法
留出法
留出法(hold-out)直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即有$$D=S∪T,S∩T=∅ $$
建议:
训练集/测试集:2/3~4/5
交叉验证法
交叉验证法(cross validation)先将数据集D划分为k个大小相似的互斥子集。即有:$$D=D1∪D2∪...∪Dk,Di∩Dj=∅$$
每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集
作为测试集,这样就可以获得k组训练/测试集。从而可以进行k次训练与测试,最终返回的是这k个测试结果的均值。
缺陷:数据集较大时,计算开销。同时留一法的估计结果也未必比其他评估方法准确。
自助法
简单的说,它从数据集D中每次随机取出一个样本,将其拷贝一份放入新的采样数据集D′,样本放回原数据集中,重复这个过程m次,就得
到了同样包含m个样本的数据集D′,显然D中会有一部分数据会在D′中重复出现。样本在m次采样中始终不被采样到的概率是
,取极限得到:
即通过自助法,初始数据集中约有36.8%样本未出现在采样数据集D′中。可将D′作为训练集,D\D′作为测试集,(\表示集合的减法)。保
证了实际评估的模型与期望评估的模型都是用m个训练样本,而有数据总量约1/3的、没在训练集中出过的样本用于测试,这样的测试结
果,也叫做”包外估计”(out-of-bagestimate).
适用场景
自助法在数据集较小、难以有效划分训练/测试集很有用;此外自助法可以从初始数据集中产生多个不同的训练集,这对集成学习等方法 有很大好处。
缺点
自助法产生的数据集改变了初始数据集的分布,引入估计偏差。故在数据量足够时,留出法与交叉验证更为常用。
性能度量
在预测任务中,给定样本集
其中,yi是示例xi的真实标记。回归任务中最常用的性能度量是均方误差(mean squeared error),f(x)是机器学习预测结果
更一般的形式(数据分布D,概率密度函数p(x))
错误率和精度
错误率的定义:
更一般的定义:
精度的定义:
更一般的定义:
查准率、查全率与F1
下表是二分类结果混淆矩阵,将判断结果分为四个类别,真正例(TP)、假正例(FP)、假反例(FN)、真反例(TN)。
查准率:【真正例样本数】与【预测结果是正例的样本数】的比值。
查全率:【真正例样本数】与【真实情况是正例的样本数】的比值。
- 当曲线没有交叉的时候:外侧曲线的学习器性能优于内侧;
- 当曲线有交叉的时候:
ROC与AUC
ROC曲线便是从这个角度出发来研究学习器泛化性能的有力工具。
与P-R曲线使用查准率、查全率为横纵轴不同,ROC的纵轴是”真正样例(True Positive Rate,简称TPR)”,横轴是“假正例率(False
Positive Rate,简称FPR),两者分别定义为
显示ROC的曲线图称为“ROC图”
进行学习器比较时,与P-R如相似,若一个学习器的ROC曲线被另一个学习器的曲线“包住”,则可断言后者的性能优于前者;若两个学习
器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则较为合理的判断是比较ROC曲线下的面积,
即AUC(Area Under ROC Curve)。
注意:AUC计算公式没看懂
代价敏感错误率与代价曲线
在现实任务中会遇到这样的情况:不同类型错误所造成的后果不同。以二分类任务为例,我们可根据任务领域知识设定一个“代价矩阵”,
如下图所示,
在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,而“代价曲线(cost curve)”则可达到目的。代价曲线图的横轴是取
值为[0,1]的正例概率代价,
纵轴是取值为[0,1]的归一化代价
画图表示如下图所示