# 评估方法 ## 留出法 留出法(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个测试结果的均值。
![交叉验证法](https://img.zeekling.cn/images/2020/04/25/4f02df31de0364f1c9340d0dffab13ea.png)
缺陷:数据集较大时,计算开销。同时留一法的估计结果也未必比其他评估方法准确。 ## 自助法 简单的说,它从数据集D中每次随机取出一个样本,将其拷贝一份放入新的采样数据集D′,样本放回原数据集中,重复这个过程m次,就得 到了同样包含m个样本的数据集D′,显然D中会有一部分数据会在D′中重复出现。样本在m次采样中始终不被采样到的概率是 ![概率](https://img.zeekling.cn/images/2020/04/25/5a38dfeac11eec9b6f702e520f48e8c2.png),取极限得到:
![自助法](https://img.zeekling.cn/images/2020/04/25/c0adf2b44a747e3b3656219e7ef78112.png)
即通过自助法,初始数据集中约有36.8%样本未出现在采样数据集D′中。可将D′作为训练集,D\D′作为测试集,(\表示集合的减法)。保 证了实际评估的模型与期望评估的模型都是用m个训练样本,而有数据总量约1/3的、没在训练集中出过的样本用于测试,这样的测试结 果,也叫做”包外估计”(out-of-bagestimate). ### 适用场景 自助法在数据集较小、难以有效划分训练/测试集很有用;此外自助法可以从初始数据集中产生多个不同的训练集,这对集成学习等方法 有很大好处。 ### 缺点 自助法产生的数据集改变了初始数据集的分布,引入估计偏差。故在数据量足够时,留出法与交叉验证更为常用。 # 性能度量 在预测任务中,给定样本集 ![样本集](https://img.zeekling.cn/images/2020/04/25/356599b3bb2a6e02b0d56f15327e46b0.jpg) 其中,yi是示例xi的真实标记。回归任务中最常用的性能度量是均方误差(mean squeared error),f(x)是机器学习预测结果
![均方误差](https://img.zeekling.cn/images/2020/04/25/4f138effdae759513764bfc7d3c33713.png)
更一般的形式(数据分布D,概率密度函数p(x))
![均方误差](https://img.zeekling.cn/images/2020/04/25/df5933f0b3aec4c93ccac1a67001e466.png) ## 错误率和精度 错误率的定义:
![错误率](https://img.zeekling.cn/images/2020/04/25/a6d785b9b95f854a1dd6229f18978283.png)
更一般的定义:
![错误率](https://img.zeekling.cn/images/2020/04/25/ed0f470faf5604e4a7615acbafac6434.png)
精度的定义:
![精度](https://img.zeekling.cn/images/2020/04/25/f6ad23b157393bd01debfb50c70451e9.png)
更一般的定义:
![精度](https://img.zeekling.cn/images/2020/04/25/cd861ef96f53a9f74f424fbe99c4cbfe.png) ## 查准率、查全率与F1 下表是二分类结果混淆矩阵,将判断结果分为四个类别,真正例(TP)、假正例(FP)、假反例(FN)、真反例(TN)。
![二分类问题](https://img.zeekling.cn/images/2020/04/25/9643db5e5887b74c4573a7a3c1e668e7.jpg)
查准率:【真正例样本数】与【预测结果是正例的样本数】的比值。
查全率:【真正例样本数】与【真实情况是正例的样本数】的比值。
![P-R曲线](https://img.zeekling.cn/images/2020/04/25/5c078520ffcd259bbe498b5676af6ea7.png)
- 当曲线没有交叉的时候:外侧曲线的学习器性能优于内侧; - 当曲线有交叉的时候: - 第一种方法是比较曲线下面积,但值不太容易估算; - 第二种方法是比较两条曲线的平衡点,平衡点是“查准率=查全率”时的取值,在图中表示为曲线和对角线的交点。平衡点在外侧的 曲线的学习器性能优于内侧。 - 第三种方法是F1度量和Fβ度量。F1是基于查准率与查全率的调和平均定义的,Fβ则是加权调和平均。
![F1](https://img.zeekling.cn/images/2020/04/25/41703aab28291f37557a7742e636c5ee.png)
![Fb](https://img.zeekling.cn/images/2020/04/25/9f9b83f34cd9a96a33695020f5646af1.png)
## ROC与AUC ROC曲线便是从这个角度出发来研究学习器泛化性能的有力工具。
与P-R曲线使用查准率、查全率为横纵轴不同,ROC的纵轴是”真正样例(True Positive Rate,简称TPR)”,横轴是“假正例率(False Positive Rate,简称FPR),两者分别定义为
![ROC](https://img.zeekling.cn/images/2020/04/25/7d7a43d6d5d1aa6c60c627e5656ff1cc.jpg)
显示ROC的曲线图称为“ROC图”
![pic](https://img.zeekling.cn/images/2020/04/25/80ba85a56d336856ac19c5bb9ef0cf8b.jpg)
进行学习器比较时,与P-R如相似,若一个学习器的ROC曲线被另一个学习器的曲线“包住”,则可断言后者的性能优于前者;若两个学习 器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则较为合理的判断是比较ROC曲线下的面积, 即AUC(Area Under ROC Curve)。 注意:AUC计算公式没看懂 ## 代价敏感错误率与代价曲线 在现实任务中会遇到这样的情况:不同类型错误所造成的后果不同。以二分类任务为例,我们可根据任务领域知识设定一个“代价矩阵”, 如下图所示,
![代价矩阵](https://img.zeekling.cn/images/2020/04/25/7678f5fbd82759a4e54e40ac946ed795.jpg)
在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,而“代价曲线(cost curve)”则可达到目的。代价曲线图的横轴是取 值为[0,1]的正例概率代价,
![正概率代价](https://img.zeekling.cn/images/2020/04/25/3252090d68a565a5e37789cba5f5ab6e.jpg)
纵轴是取值为[0,1]的归一化代价
![归一化代价](https://img.zeekling.cn/images/2020/04/25/0a30530fec90a584a1449e3373dff3a3.jpg)
画图表示如下图所示
![图](https://img.zeekling.cn/images/2020/04/25/b309cc398dd5a3c7b6d730be973c17a3.jpg)