🍉Book-2章-模型评估与选择
术语名词
1.泛化误差与经验误差
泛化误差:在“未来”样本上的误差
经验误差:在训练集上的误差,亦称“训练误差”
训练集样本数越接近数据集数量,经验误差就越小。 但是经验误差越小,模型效果就越好吗?
请注意,我们是为了得到泛化能力强的模型,而经验误差≠泛化误差
经验误差很小,会使模型学习到训练样本中的许多无用特征,导致泛化能力变弱 我们称其为过拟合(overfitting)
而与之相对的概念,我们称为欠拟合(underfitting),其表示的就是模型没有很好的学习到训练样本上的特征,从而也导致泛化能力变弱
2.过拟合与欠拟合
过拟合:模型在训练数据上表现得过于复杂,以至于在未见过的数据上表现不佳。 欠拟合:模型在训练数据上表现得过于简单,无法捕捉到数据的内在结构和模式。
出现原因: 1.出现欠拟合的情况,一般是由于样本特征少,模型复杂度低等
2.出现过拟合的情况,一般是由于样本数量少、噪声多,模型复杂度过高等
经验误差就是训练程度的体现,经验误差越小则训练程度越强 所以现在,我们可以得出训练程度不能过大也不能过小的结论
那我们能找到一个最佳方案得出最佳的训练程度吗🤔
答案是--------------->不能🙅
原因是: 对于千禧年七大数学问题之——“P=NP”问题,只要我们相信”P≠NP”,就无法找出最优解
但是我们依然有相应的解决方法,用于欠拟合与过拟合的问题 此处的解决方法我们留待以后解决…
好了,回归本章主题—模型评估与选择
对于模型的选择,我们有三个关键问题:
如何获得测试集?------>评估方法
如何评价性能优劣?------>性能度量
如何判断模型实质差别------>比较检验
1.评估方法
因为我们无法得知未来数据的输出标记 故而需要得到测试集用来评估模型
而测试集有多种划分方法,这里我们给出以下三种
1.1 留出法(hold-out):
将数据集直接划分为训练集和测试集
留出法:对数据集的划分方法会影响模型结果;训练集和测试集的数据分布必须保持一致;测试集过大会使模型拟合效果变差,太小会使得测试估计偏小;有一些数据可能从未被训练过
总结:
- 保证数据分布一致性(比如分层取样)
- 多次重复划分 (例如: 100次随机划分)
- 测试集不能太大或太小(例如:1/5~1/3,其实二八分偏多)
- 可能遗漏数据(随机划分没取到该数据进行训练)
1.2 交叉验证法
对于 留出法出现 可能遗漏数据(随机划分没取到该数据进行训练)的问题
我们引入新的划分方法 k-折交叉验证法 可以有效解决该问题

以该图为例:
首先将数据集D随机划分为10个子集, 进行十次操作, 每一次取其中1个子集为测试集,其余为训练集(实际也可以选取多个子集为测试集) 将结果做平均处理
而对于再划分子集的阶段,将测试集中只留有一个数据的方法叫做留一法 留一法,使得训练集极大地逼近了真实模型,但是却让测试误差变得很大
优缺点: 从而我们能得出,尽管交叉检验法保证了所有的数据均被训练, 但仍然存在受限于样本大小的问题;
并且对于较大的k值,会使得计算成本显著增加;
而且对于子集的划分,仍然是一个难题,如果测试集和训练集之间的划分不够随机或不够独立,可能会导致数据泄露,影响模型评估的准确性。
1.3 自助法

“自助法”(bootstrapping) 基于==放回取样== 亦称“可重复采样”
故其可以使最终训练集的样本个数=数据集的样本个数, 我们记数据集的样本个数为m, 则由洛必达法则可得出 未被取出即未进行训练的样本, 我们称为==包外估计==(out-of-bag estimate)的占比为: 我们将其作为训练集即可
优缺点:
优点: 自助法在数据集较小、难以有效划分训练/测试集时很有用, 自助法能从初始数据集中产生多个不同的训练集,这对==集成学习==等方法有很大的好处。
缺点: 自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。但是通过增加数据划分的次数,就可以缓解该影响。
1.4 调参与验证集
在模型评估与选择的过程中,我们既要选择学习算法,还要对算法的参数进行设定
训练过程中的参数分为两种:
- 算法参数:亦称“超参数”,由人工设定
- 模型参数:由训练集训练而成
1.5 重新训练
重新训练:在调整和优化模型之后,可能需要使用整个数据集(包括之前划分的训练集和测试集)重新训练模型,以利用所有可用数据来提高模型的性能。
故之所以划分训练集和测试集,仅仅是为了选定==算法==的种类和参数 当我们确定使用该算法后,我们应将整个数据集放入该算法进行训练,从而得到模型的参数
2.性能度量
2.1 错误率和精度
错误率定义:
精度定义:
然而对于不同的任务需求,仅仅用错误率和精度是不够的,故引出查准率、查全率、F1的概念
2.2 查准率、查全率、F1
二分类任务:
现有一瓜田含10000个瓜,其中有100个好瓜,利用学习器挑瓜
查准率:即准确率(precision),如挑出瓜中好瓜的比例
查全率:即召回率(recall),如所有好瓜中被挑出的比例
F1-score:即查准率与查全率的调和平均在选瓜任务中我们的目标是:
- 在挑出来的瓜中尽可能都是好瓜
- 瓜田中的好瓜尽可能多地被挑出来 很直观的可以感受到查全率越大(如挑出越多的瓜,好瓜被挑出的比例也就越大),查准率就会越低
==混淆矩阵==:

其中查准率P和查全率R的定义为:
F1即综合考虑两者效果:
多分类任务:
2.3 ROC与AUC
3.比较检验
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!