机器学习复习3--模型评估

误差与过拟合

我们将学习器对样本的实际预测结果与样本的真实值之间的差异称为:误差(error)。

误差定义:

①在训练集上的误差称为训练误差(training error)或经验误差(empirical error)。

②在测试集上的误差称为测试误差(test error)。

③学习器在所有新样本上的误差称为泛化误差(generalization error)

当学习器把训练集学得"太好"的时候,即把一些训练样本的自身特点当做了普遍特征;同时也有学习能力不足的情况,即训练集的基本特征都没有学习出来。

①学习能力过强,以至于把训练样本所包含的不太一般的特性都学到了,称为:过拟合 (overfitting)。

②学习能太差,训练样本的一般性质尚未学好,称为**:欠拟合**(underfitting)。

训练集测试集划分

1.留出法

将数据集D划分为两个互斥的集合,一个作为训练集S,一个作为测试集T,满足D=S∪T且S∩T=∅,常见的划分为:大约2/3-4/5的样本用作训练,剩下的用作测试。

2.交叉验证法

将数据集D划分为k个大小相同的互斥子集,满足D=D1∪D2∪...∪Dk,Di∩Dj=∅(i≠j),同样地尽可能保持数据分布的一致性,即采用分层抽样的方法获得这些子集。

性能度量

1.均方误差

在回归任务中,即预测连续值的问题,最常用的性能度量是"均方误差"(mean squared error),很多的经典算法都是采用了MSE作为评价函数

2.P/R/F1

对于二分类问题,分类结果混淆矩阵与查准/查全率定义如下:

除了混淆矩阵,一般还会画**"P-R曲线"**

P-R曲线定义如下:根据学习器的预测结果(一般为一个实值或概率)对测试样本进行排序,将最可能是"正例"的样本排在前面,最不可能是"正例"的排在后面,按此顺序逐个把样本作为"正例"进行预测,每次计算出当前的P值和R值,如下图所示:

①若一个学习器A的P-R曲线被另一个学习器B的P-R曲线完全包住,则称:B的性能优于A。

②若A和B的曲线发生了交叉,则谁的曲线下的面积大,谁的性能更优。

③但一般来说,曲线下的面积是很难进行估算的,所以衍生出了"平衡点"(Break-Event Point,简称BEP),即当P=R时的取值,平衡点的取值越高,性能更优。

P和R指标有时会出现矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,又称F-Score。F-Measure是P和R的加权调和平均,即:

特别地,当β=1时,也就是常见的F1度量,是P和R的调和平均,当F1较高时,模型的性能越好。

3.ROC/AUC

学习器对测试样本的评估结果一般为一个实值或概率,设定一个阈值,大于阈值为正例,小于阈值为负例,因此这个实值的好坏直接决定了学习器的泛化性能,若将这些实值排序,则排序的好坏决定了学习器的性能高低。

ROC曲线 正是从这个角度出发来研究学习器的泛化性能,ROC曲线与P-R曲线十分类似,都是按照排序的顺序逐一按照正例预测,不同的是ROC曲线以"真正例率"(True Positive Rate,简称TPR)为横轴,纵轴为"假正例率"(False Positive Rate,简称FPR),ROC偏重研究基于测试样本评估值的排序好坏。

进行模型的性能比较时

①若一个学习器A的ROC曲线被另一个学习器B的ROC曲线完全包住,则称B的性能优于A。

②若A和B的曲线发生了交叉,则谁的曲线下的面积大,谁的性能更优。

ROC曲线下的面积定义为AUC(Area Uder ROC Curve),不同于P-R的是,这里的AUC是可估算的,即AOC曲线下每一个小矩形的面积之和。易知:AUC越大,证明排序的质量越好,AUC为1时,证明所有正例排在了负例的前面,AUC为0时,所有的负例排在了正例的前面。

比较检验

1 假设检验

"假设"指的是对样本总体的分布或已知分布中某个参数值的一种猜想,例如:假设总体服从泊松分布,或假设正态总体的期望u=u0。

2.交叉验证T检验

比较两个学习率的性能。

3.McNemar检验

MaNemar主要用于二分类问题,与成对t检验一样也是用于比较两个学习器的性能大小。主要思想是:若两学习器的性能相同,则A预测正确B预测错误数应等于B预测错误A预测正确数,即e01=e10,且|e01-e10|服从N(1,e01+e10)分布。

偏差与方差

①偏差指的是预测的期望值与真实值的偏差

②方差则是每一次预测值与预测值得期望之间的差均方。

实际上,**偏差体现了学习器预测的准确度,而方差体现了学习器预测的稳定性。**通过对泛化误差的进行分解,可以得到:

期望泛化误差=方差+偏差

偏差刻画学习器的拟合能力

方差体现学习器的稳定性

在欠拟合时,偏差主导泛化误差,而训练到一定程度后,偏差越来越小,方差主导了泛化误差。因此训练也不要贪杯,适度辄止。

参考: https://www.heywhale.com/mw/project/5e4f89fb0e2b66002c1f6468

相关推荐
zzlyx996 分钟前
AI大数据模型如何与thingsboard物联网结合
人工智能·物联网
说私域31 分钟前
定制开发开源AI智能名片驱动下的海报工厂S2B2C商城小程序运营策略——基于社群口碑传播与子市场细分的实证研究
人工智能·小程序·开源·零售
猛犸MAMMOTH38 分钟前
Python打卡第46天
开发语言·python·机器学习
HillVue1 小时前
AI,如何重构理解、匹配与决策?
人工智能·重构
skywalk81631 小时前
市面上哪款AI开源软件做ppt最好?
人工智能·powerpoint
小九九的爸爸1 小时前
我是如何让AI帮我还原设计稿的
前端·人工智能·ai编程
小wanga2 小时前
【递归、搜索与回溯】专题三 穷举vs暴搜vs回溯vs剪枝
c++·算法·机器学习·剪枝
hanniuniu132 小时前
网络安全厂商F5推出AI Gateway,化解大模型应用风险
人工智能·web安全·gateway
Iamccc13_2 小时前
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
人工智能·数据分析·自动化
蹦蹦跳跳真可爱5892 小时前
Python----目标检测(使用YOLO 模型进行线程安全推理和流媒体源)
人工智能·python·yolo·目标检测·目标跟踪