导图社区 第二章:模型评估与选择
模型评估是指对于一种具体方法输出的最终模型,使用一些指标和方法来评价它的泛化能力。这一步骤通常在模型训练和模型选择之后,正式部署模型之前。模型评估方法不针对模型本身,只针对问题和数据,因此可以用来评价来自不同方法的模型的泛化能力,进行用于部署的最终模型的选择。
编辑于2022-03-31 17:26:56这是一篇关于IELTS Economic Reading Vocabul的思维导图,主要内容包括:1. Basic Economic Concepts,2. Market and Trade,3. Economic Policies and Regulation,4. Economic Phenomena and Trends,5. Impacts and Consequences。
这是一篇关于雅思经济类阅读常用单词的思维导图,主要内容包括:一、经济基本概念,二、市场与贸易,三、经济政策与调控,四、经济现象与趋势,五、影响与后果。
这是一篇关于气候变化话题核心词汇(附中文)的思维导图,主要内容包括:一、基本概念,二、温室气体与污染物,三、气候变化影响,四、应对措施与政策,五、相关术语与行动。
社区模板帮助中心,点此进入>>
这是一篇关于IELTS Economic Reading Vocabul的思维导图,主要内容包括:1. Basic Economic Concepts,2. Market and Trade,3. Economic Policies and Regulation,4. Economic Phenomena and Trends,5. Impacts and Consequences。
这是一篇关于雅思经济类阅读常用单词的思维导图,主要内容包括:一、经济基本概念,二、市场与贸易,三、经济政策与调控,四、经济现象与趋势,五、影响与后果。
这是一篇关于气候变化话题核心词汇(附中文)的思维导图,主要内容包括:一、基本概念,二、温室气体与污染物,三、气候变化影响,四、应对措施与政策,五、相关术语与行动。
第二章:模型评估与选择(简述版)
经验误差与过拟合
错误率&误差:
错误率: 错分样本的占比:
误差:样本真实输出与预测输出之间的差异
训练(经验)误差:训练集上
测试误差:测试集
泛化误差:除训练集外所有样本
过拟合:
学习器把训练样本学习的“太好”,将训练样本本身的特点当做所有样本的一般性质,导致泛化性能下降
优化目标加正则项
early stop
欠拟合:
对训练样本的一般性质尚未学好
决策树:拓展分支
神经网络:增加训练轮数
评估方法
通常将包含个m样本的数据集拆分成训练集S和测试集T:
留出法:
直接将数据集划分为两个互斥集合
训练/测试集划分要尽可能保持数据分布的一致性
一般若干次随机划分、重复实验取平均值
训练/测试样本比例通常为2:1~4:1
交叉验证法:
将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的子集作为测试集,最终返回k个测试结果的均值,k最常用的取值是10.
性能度量
性能度量是衡量模型泛化能力的评价标准,反映了任务需求;使用不同的性能度量往往会导致不同的评判结果
在预测任务中,给定样例集 评估学习器的性能f也即把预测结果f(x)和真实标记比较.
回归任务最常用的性能度量是“均方误差”:
分类任务
错误率:分错样本占样本总数的比例
精度:分对样本占样本总数的比率
统计真实标记和预测结果的组合可以得到“混淆矩阵”
查准率
查全率
根据学习器的预测结果按正例可能性大小对样例进行排序,并逐个把样本作为正例进行预测,则可以得到查准率-查全率曲线,简称“P-R曲线”
平衡点是曲线上“查准率=查全率”时的取值,可用来用于度量P-R曲线有交叉的分类器性能高低
比P-R曲线平衡点更用常用的是F1度量:
比F1更一般的形式
: 标准F1
: 偏重查全率(逃犯信息检索)
:偏重查准率(商品推荐系统)
https://lovebigdata.blog.csdn.net/article/details/107790461?
偏差与方差
通过实验可以估计学习算法的泛化性能,而“偏差-方差分解”可以用来帮助解释泛化性能。偏差-方差分解试图对学习算法期望的泛华错误率进行拆解。
对测试样本 ,令X为YD在数据集中的标记,Y为X的真实标记,f(x;D) 为训练集D上学得模型f在x 上的预测输出。
以回归任务为例:学习算法的期望预期为:
使用样本数目相同的不同训练集产生的方差为
噪声为
控制算法的训练程度
在训练不足时,学习器拟合能力不强,训练数据的扰动不足以使学习器的拟合能力产生显著变化,此时偏差主导泛化错误率; 随着训练程度加深,学习器拟合能力逐渐增强,方差逐渐主导泛化错误率; 训练充足后,学习器的拟合能力非常强,训练数据的轻微扰动都会导致学习器的显著变化,若训练数据自身非全局特性被学到则会发生过拟合。
比较检验
关于性能比较:
测试性能并不等于泛化性能
测试性能随着测试集的变化而变化
很多机器学习算法本身有一定的随机性
二项检验
记泛化错误率为ε,测试错误率为Ê,假定测试样本从样本总体分布中独立采样而来,我们可以使用“二项检验”对ε<ε0进行假设检验。
假设ε≤ε0,若测试错误率小于
则在α的显著度下,假设不能被拒绝, 也即能以 1-α 的置信度认为,模型的泛化错误率不大于ε0
t检验
对应的,面对多次重复留出法或者交叉验证法进行多次训练/测试时可使用“t检验”。
假定得到了k个测试错误率
假设ε=ε0,对于显著度α
若
位于临界范围
则假设不能被拒绝,即可认为泛化错误率ε=ε0 ,其置信度为 1-α
交叉验证t检验
对两个学习器A和B,若k折交叉验证得到的测试错误率分别为
可用k折交叉验证“成对t检验”进行比较检验。若两个学习器的性能相同,则他们使用相同的训练/测试集得到的测试错误率应相同,即
先对每对结果求差
若两个学习器性能相同,则差值应该为0,继而用
来对“学习器A与B性能相同”这个假设做t检验。
假设检验的前提是测试错误率为泛化错误率的独立采样,然而由于样本有限,使用交叉验证导致训练集重叠,测试错误率并不独立,从而过高估计假设成立的概率,为缓解这一问题,可采用“5*2交叉验证”法.
5*2交叉验证法
所谓5*2折交叉验证就是做5次二折交叉验证,每次二折交叉验证之前将数据打乱,使得5次交叉验证中的数据划分不重复。为缓解测试数据错误率的非独立性,仅计算第一次2折交叉验证结果的平均值
和每次二折实验计算得到的方差
则变量
服从自由度为5的t分布。
McNemar检验
对于二分类问题,留出法不仅可以估计出学习器A和B的测试错误率,还能获得两学习器分类结果的差别,如下表所示
假设两学习器性能相同
则
应服从正态分布,且均值为1,方差为
服从自由度为1的学的x²分布。
Friedman检验
交叉验证t检验和McNemar检验都是在一个数据集上比较两个算法的性能,可以用Friedman检验在一组数据集上对多个算法进行比较。
假定用D1,D2,D3,D4四个数据集对算法A,B,C进行比较。 先使用留出法或者交叉验证法得到每个算法在每个数据集上的测试结果,然后在每个数据集上根据性能好坏排序,并赋序值1,2,…;若算法性能相同则平分序值,
继而得到每个算法的平均序值
Friedman检验
得到表格如下所示,由平均序值进行Friedman检验来判断这些算法是否性能都相同。
则变量:
服从自由度为k-1的x²分布其中N,k表示数据集和算法数目
Nemenyi后续检验
若“所有算法的性能相同”这个假设被拒绝,说明算法的性能显著不同,此时可用Nemenyi后续检验进一步区分算法。
Nemenyi检验计算平均序值差别的临界阈值
如果两个算法的平均序值之差超出了临界阈值CD,则以相应的置信度拒绝“两个算法性能相同”这一假设。
Friedman检验图
根据上例的序值结果可绘制如下Friedman检验图,横轴为平均序值,每个算法圆点为其平均序值,线段为临界阈值的大小。
若两个算法有交叠(A和B),则说明没有显著差别;否则有显著差别(A和C),算法A明显优于算法C.
第二章:模型评估与选择(详细版)
经验误差与过拟合
错误率&误差:
错误率: 错分样本的占比:
误差:样本真实输出与预测输出之间的差异
训练(经验)误差:训练集上
测试误差:测试集
泛化误差:除训练集外所有样本
过拟合:
学习器把训练样本学习的“太好”,将训练样本本身的特点当做所有样本的一般性质,导致泛化性能下降
优化目标加正则项
early stop
欠拟合:
对训练样本的一般性质尚未学好
决策树:拓展分支
神经网络:增加训练轮数
评估方法
通常将包含个m样本的数据集拆分成训练集S和测试集T:
留出法:
直接将数据集划分为两个互斥集合
训练/测试集划分要尽可能保持数据分布的一致性
一般若干次随机划分、重复实验取平均值
训练/测试样本比例通常为2:1~4:1
交叉验证法:
将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集的并集作为训练集,余下的子集作为测试集,最终返回k个测试结果的均值,k最常用的取值是10.
性能度量
性能度量是衡量模型泛化能力的评价标准,反映了任务需求;使用不同的性能度量往往会导致不同的评判结果
在预测任务中,给定样例集 评估学习器的性能f也即把预测结果f(x)和真实标记比较.
回归任务最常用的性能度量是“均方误差”:
分类任务
错误率:分错样本占样本总数的比例
精度:分对样本占样本总数的比率
统计真实标记和预测结果的组合可以得到“混淆矩阵”
查准率
查全率
根据学习器的预测结果按正例可能性大小对样例进行排序,并逐个把样本作为正例进行预测,则可以得到查准率-查全率曲线,简称“P-R曲线”
平衡点是曲线上“查准率=查全率”时的取值,可用来用于度量P-R曲线有交叉的分类器性能高低
比P-R曲线平衡点更用常用的是F1度量:
比F1更一般的形式
: 标准F1
: 偏重查全率(逃犯信息检索)
:偏重查准率(商品推荐系统)
https://lovebigdata.blog.csdn.net/article/details/107790461?
偏差与方差
通过实验可以估计学习算法的泛化性能,而“偏差-方差分解”可以用来帮助解释泛化性能。偏差-方差分解试图对学习算法期望的泛华错误率进行拆解。
对测试样本 ,令X为YD在数据集中的标记,Y为X的真实标记,f(x;D) 为训练集D上学得模型f在x 上的预测输出。
以回归任务为例:学习算法的期望预期为:
使用样本数目相同的不同训练集产生的方差为
噪声为
控制算法的训练程度
在训练不足时,学习器拟合能力不强,训练数据的扰动不足以使学习器的拟合能力产生显著变化,此时偏差主导泛化错误率; 随着训练程度加深,学习器拟合能力逐渐增强,方差逐渐主导泛化错误率; 训练充足后,学习器的拟合能力非常强,训练数据的轻微扰动都会导致学习器的显著变化,若训练数据自身非全局特性被学到则会发生过拟合。
比较检验
关于性能比较:
测试性能并不等于泛化性能
测试性能随着测试集的变化而变化
很多机器学习算法本身有一定的随机性
二项检验
记泛化错误率为ε,测试错误率为Ê,假定测试样本从样本总体分布中独立采样而来,我们可以使用“二项检验”对ε<ε0进行假设检验。
假设ε≤ε0,若测试错误率小于
则在α的显著度下,假设不能被拒绝, 也即能以 1-α 的置信度认为,模型的泛化错误率不大于ε0
t检验
对应的,面对多次重复留出法或者交叉验证法进行多次训练/测试时可使用“t检验”。
假定得到了k个测试错误率
假设ε=ε0,对于显著度α
若
位于临界范围
则假设不能被拒绝,即可认为泛化错误率ε=ε0 ,其置信度为 1-α
交叉验证t检验
对两个学习器A和B,若k折交叉验证得到的测试错误率分别为
可用k折交叉验证“成对t检验”进行比较检验。若两个学习器的性能相同,则他们使用相同的训练/测试集得到的测试错误率应相同,即
先对每对结果求差
若两个学习器性能相同,则差值应该为0,继而用
来对“学习器A与B性能相同”这个假设做t检验。
假设检验的前提是测试错误率为泛化错误率的独立采样,然而由于样本有限,使用交叉验证导致训练集重叠,测试错误率并不独立,从而过高估计假设成立的概率,为缓解这一问题,可采用“5*2交叉验证”法.
5*2交叉验证法
所谓5*2折交叉验证就是做5次二折交叉验证,每次二折交叉验证之前将数据打乱,使得5次交叉验证中的数据划分不重复。为缓解测试数据错误率的非独立性,仅计算第一次2折交叉验证结果的平均值
和每次二折实验计算得到的方差
则变量
服从自由度为5的t分布。
McNemar检验
对于二分类问题,留出法不仅可以估计出学习器A和B的测试错误率,还能获得两学习器分类结果的差别,如下表所示
假设两学习器性能相同
则
应服从正态分布,且均值为1,方差为
服从自由度为1的学的x²分布。
Friedman检验
交叉验证t检验和McNemar检验都是在一个数据集上比较两个算法的性能,可以用Friedman检验在一组数据集上对多个算法进行比较。
假定用D1,D2,D3,D4四个数据集对算法A,B,C进行比较。 先使用留出法或者交叉验证法得到每个算法在每个数据集上的测试结果,然后在每个数据集上根据性能好坏排序,并赋序值1,2,…;若算法性能相同则平分序值,
继而得到每个算法的平均序值
Friedman检验
得到表格如下所示,由平均序值进行Friedman检验来判断这些算法是否性能都相同。
则变量:
服从自由度为k-1的x²分布其中N,k表示数据集和算法数目
Nemenyi后续检验
若“所有算法的性能相同”这个假设被拒绝,说明算法的性能显著不同,此时可用Nemenyi后续检验进一步区分算法。
Nemenyi检验计算平均序值差别的临界阈值
如果两个算法的平均序值之差超出了临界阈值CD,则以相应的置信度拒绝“两个算法性能相同”这一假设。
Friedman检验图
根据上例的序值结果可绘制如下Friedman检验图,横轴为平均序值,每个算法圆点为其平均序值,线段为临界阈值的大小。
若两个算法有交叠(A和B),则说明没有显著差别;否则有显著差别(A和C),算法A明显优于算法C.