周志华《机器学习》第二章 模型评估与选择——模型评估方法

本文深入探讨了机器学习模型评估的重要方法,包括留出法、交叉验证法和自助法,详细解析了每种方法的操作流程及注意事项,帮助读者理解如何有效评估模型的泛化能力。

周志华《机器学习》(西瓜书)目录

https://editor.youkuaiyun.com/md?articleId=106864771
————————————————————————

模型评估方法

通常, 我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。

  • 留出法
  • 交叉验证法
  • 自助法
  • 调参与最终模型

留出法

“留出法” (hold-out)直接将数据集 D 划分为两个互斥的集合,其中一个集合作为训练集 S,另一个作为测试集 T, 即 D=SUT, S ∩ \cap T= ∅ \varnothing .在 S 上训 练出模型后,用 T 来评估其测试误差,作为对泛化误差的估计。
eg:
以二分类任务为例,假定 D包含 1000 个样本,将其划分为 8 包含 700 个样本, T 包含 300 个样本,用 S 进行训练后,如果模型在 T 上有 90 个样本分类错 误,那么其错误率为 (90/300) x 100% 口 30%,相应的,精度为 1- 30% = 70%.
注意:

  • 训练/测试集的划分要尽可能保持数据分布的一致性,避免 困数据划分过程引入额外的偏差而对最终结果产生影响
  • 在给定训练/测试集的样本比例后,仍存在多种划分方式对初始数据集D 进行分割。
  • 选择合适的数据分割比例。

交叉验证法

“交叉验证法” (cross validation)先将数据集D划分为 k 个大小相似的互斥子集, 即 D = D1 ∪ \cup D2 ∪ \cup ∪ \cup Dk, Di ∩ \cap Dj = ∅ \varnothing ≠ \ne =j ) . 每个子集 Di 都 尽可能保持数据分布的一致性,即从 D 中通过分层采样得到。 然后,每次用 k-1 个子集的并集作为训练集,余 下的那个子集作为测试集;这样就可获得 k 组训练/测试集,从而可进行 k 次训练和测试, 最终返回的是这 k 个测试结果的均值。如下图所示,
10 折交又验证示意图

自助法

自助法:给定包含m 个样本的数据集 D , 我们对它进行采样产生数据集 D’: 每次随机从 D 中挑选一个样本, 将其拷贝放入 D’, 然后再将该样本放回初始数据集 D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m 次后,我们就得到了包含 m 个样本的数据集 D’,这就是自助采样的结果。
注意:

  • 初始数据集 D 中约有 36.8% 的样本未出现在采样数据集 D’ 中。
  • 自助法在数据集较小、难以有效划分训练/测试集时很有用。
  • 自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差.

调参与最终模型

在进行模型评估与选择时,除了要对适用学习 算法进行选择,还需对算法参数进行设定,这就是通常所说的"参数调节"或 简称"调参" (parameter tuning)。
注意:

  • 调参和算法选择没什么本质区别:对每种参数配置都 训练出模型,然后把对应最好模型的参数作为结果。
  • 学习算法的很多参数是在实数范围内取值,因此,对每种参数 配置都训练出模型来是不可行的。
  • 我们通常把学得模型在实际使用中遇到的数据称为测 试数据,为了加以区分,模型评估与选择中用于评估测试的数据集常称为"验 证集" (validation set)。

参考文献

[1] 周志华. 机器学习 : = Machine learning[M]. 清华大学出版社, 2016.

### 关于周志华机器学习》(西瓜书)第二章的学习笔记 #### 模型评估选择概述 模型评估选择机器学习领域的重要组成部分,旨在通过合理的方法评价不同模型的表现并挑选最优者。这一过程不仅涉及如何衡量单个模型的好坏,还包括怎样对比多个候选方案以做出最佳决策。 #### 偏差、方差和噪声的概念解析 偏差度量了学习算法的期望预测实际结果之间的差距,反映了算法自身的拟合精度;方差描述的是相同规模训练集变化引起的学习效果波动情况,体现了数据扰动带来的影响;而噪声则设定了给定任务下所有可能采用的学习方法能达到的最佳预期泛化误差界限,揭示了问题本身固有的复杂性和挑战性[^2]。 #### 性能度量指标——P-R图及其应用 为了更直观地展示各类分类器的工作特性,通常会绘制精确率-召回率(Precision-Recall, P-R)曲线来辅助分析。当面对多组实验结果时,可以通过观察这些图形相互间的位置关系来进行优劣评判:如果某条曲线始终位于另一条之上,则表明前者具有更好的整体表现;而对于那些存在交点的情况,则需进一步计算各自下方区域面积大小作为判断依据之一。此外,“平衡点”作为一种特殊的性能测度,在特定条件下也能提供有价值的参考信息[^3]。 #### 偏差-方差分解理论简介 该理论为理解学习算法的一般化能力提供了框架性的指导思路,通过对平均测试错误率实施拆分操作,可以深入剖析导致过拟合现象背后的原因所在,并据此探索改进措施的方向。具体而言,总误差由三部分构成——不可约减误差点(即噪声)、平方形式表达出来的偏差项以及线性累加而成的方差成分[^4]。 ```python import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import precision_recall_curve, auc def evaluate_model_performance(model, X, y): """ 计算并返回PR曲线下面积(AUC),用于量化模型的整体性能。 参数: model (object): 已经训练好的分类模型实例。 X (array-like of shape (n_samples, n_features)): 测试特征矩阵。 y (array-like of shape (n_samples,)): 对应的真实标签向量。 返回: float: PR AUC得分。 """ # 划分训练集/验证集 X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2) # 使用训练集拟合模型 model.fit(X_train, y_train) # 获取验证集中各观测对应的概率估计值 probas_pred = model.predict_proba(X_val)[:, 1] # 绘制PR曲线并求得AUC分数 precisions, recalls, _ = precision_recall_curve(y_val, probas_pred) pr_auc_score = auc(recalls, precisions) return pr_auc_score ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jack_jay_du

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值