机器学习笔记 第二章模型估计与选择

2.1 经验错误与过拟合

泛化误差:在"未来"样本上的误差。

经验误差:在训练集上的误差,亦称"训练误差"。

显然,泛化误差越小越好,但是,我们事先并不知道新样本,实际能做的是努力使经验误差最小化。遗憾的是,经验误差过小会导致"过拟合"。

当学习器把训练样本学得"太好"了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样会导致泛化性能下降,这种现象在机器学习中称为"过拟合"。相反,"欠拟合"是指训练样本的一般性质尚未学好。

模型选择需要解决三个关键问题,即如何获得测试结果?如何评估性能优劣?如何判断实质差别?针对以上三个问题,分别对应评估方法、性能度量和比较经验。

2.2 评估方法

通常我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。为此,需使用一个"测试集"来测试学习器对新样本的判别能力,然后以测试集上的"测试误差"作为泛化误差的近似。需要特别注意的是,测试集和训练集是互斥的。对于一个数据集,如何做到既训练又测试呢?我们可以对数据集进行适当处理,从而产生训练集和测试集,下面有三种常见做法。

2.2.1 留出法

"留出法"直接将数据集D划分为互斥的训练集S和测试集T,即。在S上训练出模型后,用T来估计其测试误差,作为对泛化误差的估计。需要注意的是,训练集和测试集的划分要尽可能保持数据分布的一致性,且要多次重复划分。同时,测试集不能太大、不能太小,常见做法是的样本用于测试。

2.2.2 交叉验证法

"交叉验证法"先将数据集D划分为k个大小相似的互斥子集,即 。每个子集都从D中分层采样得到,然后,每次选择一个子集作为测试集,余下k-1个子集作为训练集。这样就可以获得k组训练集和测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。

2.2.3 自助法

"自助法"是一个比较好的解决方案。给定包含m个样本的数据集D,采样产生数据集:每次从D中随机挑选一个样本,将其拷贝放入,然后再将该样本放回初始数据集D中;这个过程重复执行m次后,我们得到包含m个样本的数据集,这就是自助采样的结果。样本在m次采样中始终不被采到的概率是,取极值得到

即通过自助采样,初试数据集D中约有36.8%的样本未出现在采样数据集中,亦称"包外估计"。

2.2.4 调参与最终模型

大多数学习算法都有些参数需要设定,参数配置不同,学得的性能往往有显著差别。调参过程为先产生若干模型,然后基于某种评估方法进行选择,参数调得好不好往往对最终性能有关键影响。

算法的参数:一般由人工设定,亦称"超参数";

模型的参数:一般由学习确定。

2.3 性能度量

性能度量是衡量模型泛化能力的评价标准,反映了任务需求,使用不同的性能度量往往会导致不同的评判结果。什么样的模型是"好"的,不仅取决于算法和数据,还取决于任务需求。

回归任务常用均方误差

错误率

精度

对于二类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例、假正例、真反例、假反例四种情形,令TP、FP、TN、FN分别表示其对应的样例数,TP+FP+TN+FN=样例总数。分类混淆矩阵如下:

查准率

查全率

F1度量

若对查准率/查全率有不同的偏好,那么公式如下:

时查全率有更大影响;时查准率有更大影响。

2.4 比较检验

在某种度量下取得评估结果后,是否可以直接比较评判优劣?答案是否定的,因为测试性能不等于泛化性能,测试性能随着测试集的变化而变化,很多机器学习算法本身有一定的随机性。统计假设检验为学习器性能比较提供了重要依据。


参考文献:《机器学习》周志华

相关推荐
珠海西格电力23 分钟前
零碳园区有哪些政策支持?
大数据·数据库·人工智能·物联网·能源
孙严Pay23 分钟前
快捷支付:高效安全的在线支付新选择
笔记·科技·计算机网络·其他·微信
じ☆冷颜〃29 分钟前
黎曼几何驱动的算法与系统设计:理论、实践与跨领域应用
笔记·python·深度学习·网络协议·算法·机器学习
启途AI44 分钟前
2026免费好用的AIPPT工具榜:智能演示文稿制作新纪元
人工智能·powerpoint·ppt
TH_11 小时前
35、AI自动化技术与职业变革探讨
运维·人工智能·自动化
楚来客1 小时前
AI基础概念之八:Transformer算法通俗解析
人工智能·算法·transformer
风送雨1 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
效率客栈老秦1 小时前
Python Trae提示词开发实战(8):数据采集与清洗一体化方案让效率提升10倍
人工智能·python·ai·提示词·trae
小和尚同志1 小时前
虽然 V0 很强大,但是ScreenshotToCode 依旧有市场
人工智能·aigc
HyperAI超神经1 小时前
【vLLM 学习】Rlhf
人工智能·深度学习·学习·机器学习·vllm