机器学习-周志华-笔记-第2章

经验误差、泛化误差、测试误差

经验误差,也叫训练误差,在训练集上的误差,与之对应的是泛化误差(generalization error,在新样本上的误差)。评估一个好的模型显然是泛化误差最小。但是实际上事先并不知道新样本是什么,所以实际能做的是最小化经验误差。


经验误差也不能完全决定模型的泛化误差,会存在过拟合现象。书中简单说明了过拟合现象是各种学习算法不可避免的问题,只有“减缓”。这里简单了解了NP-hard问题。

在评估过程中需要使用一个测试集,使用测试集上的测试误差作为泛化误差的近似。

所以需要将数据集D划分为训练集S和测试集T,有两种方法:留出法、交叉验证法、自助法(bootstrapping)。

留出法:尽可能保证S和T的数据分布一致,比如分类任务中,保证每类样本数目比例相似;多次划分,取平均;常见是2/3~4/5作为训练集,剩余作为测试集。

交叉验证:先将D划分为k个大小相似的互斥子集,同样每个子集数据分布一致,然后选其中的k-1个作为训练集,剩下1个作为测试集。k常用的取值为10,称为10折交叉验证(10-fold cross validation);与留出法类似,可以多次划分,取平均。


留出法和交叉验证法 由于预留一部分样本作为测试,实际评估的模型使用的训练集比D小,必然会因为训练样本规模不同引入估计偏差。


自助法:适用与小数据集。设D中有m个样本,从中有放回的取m次,产生的数据集D'作为S。D'中会有部分重复样本,且D中一部分样本在D'中没出现。D'中没出现的样本作为测试集T。


自助法 产生的训练集改变了初始数据集的分布,也会引入估计偏差。


NP-hard问题

作者:王宇
链接:https://www.zhihu.com/question/27039635/answer/101730260
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最简单的解释:

P:算起来很快的问题

NP:算起来不一定快,但对于任何答案我们都可以快速的验证这个答案对不对

NP-hard:比所有的NP问题都难的问题

NP-complete:满足两点:

1. 是NP hard的问题

2. 是NP问题

接下来是比较严谨的定义:
问题:对于一个包含由0和1组成的字符串集合S,以某个01字符串x作为输入,要求某个图灵机判断x在不在S里面。这里的图灵机可以先想象成平时我们用的计算机,S也可以被看成我们要解决的问题。注意我们的问题非常简单,就是要判断某个字符串x是否在某个集合S里面,下面是定义:

P:有一个图灵机在多项式时间内能够判断x是否在S里面

NP:有一个图灵机M,如果某个字符串x在S里面,那么存在一个验证字符串u(注意这个u是针对这个x的,而且长度必须是x长度的多项式|u|=|x|^c关系),M以x和u作为输入,能够验证x真的是在S里面。

NP-hard:如果某个问题S是NP-hard,那么对于任意一个NP问题,我们都可以把这个NP问题在多项式时间之内转化为S,并且原问题的答案和转化后S的答案是相同的。也就是说只要我们解决了S,那么就解决了所有的NP问题。

NP-complete:一个问题既是NP-hard,又在NP里面;也就是说

1. 解决了这个问题我们就解决了所有NP问题

2. 这个问题本身也是个NP问题


### 关于周志华机器学习》(西瓜书)第二的学习笔记 #### 模型评估与选择概述 模型评估与选择是机器学习领域的重要组成部分,旨在通过合理的方法评价不同模型的表现并挑选最优者。这一过程不仅涉及如何衡量单个模型的好坏,还包括怎样对比多个候选方案以做出最佳决策。 #### 偏差、方差和噪声的概念解析 偏差度量了学习算法的期望预测与实际结果之间的差距,反映了算法自身的拟合精度;方差描述的是相同规模训练集变化引起的学习效果波动情况,体现了数据扰动带来的影响;而噪声则设定了给定任务下所有可能采用的学习方法能达到的最佳预期泛化误差界限,揭示了问题本身固有的复杂性和挑战性[^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 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值