当前位置: 首页 > news >正文

模型评估与选择

2.1 经验误差与过拟合

错误率(error rate): 分类错误的样本数占样本总数的比例

精度(accuracy):1- 错误率

训练误差 / 经验误差:在训练集上的误差

泛化误差:在新样本上的误差

过拟合

欠拟合

2.2 评估方法

测试集:测试学习器对新样本的判别能力,以测试集上的“测试误差”作为泛化误差的近似

对数据集进行适当的处理,拆分成训练集和测试集,常用的处理方法:

2.2.1 留出法

直接将数据集划分为两个互斥的集合

2.2.2 交叉验证法

将数据集划分为k个大小相似的互斥子集。每次用k-1个子集的并集作为训练集,余下的子集作为测试集合,得到k组训练/测试集,从而进行k次训练和测试,最终返回这k个测试结果的均值。

2.2.4 调参与最终模型

2.3 性能度量

性能度量:衡量模型泛化能力的评价标准

2.3.1 错误率与精度

分类任务中最常用的两种性能度量:错误率,精度

错误率:分类错误的样本数占样本总数的比例

精度:分类正确的样本数占样本总数的比例


2.3.2 查准率,查全率与F1

“查准率” (精确率 precision)
“查全率”(召回率 recall)

对于二分类问题,可以将样例根据其真实类别与学习器预测类别的组合划分为:

  • 真正例(true positive):正例里面被预测为正例
  • 假正例(false positive):反例里面被预测为正例
  • 真反例(true negative):反例里面被预测为反例
  • 假反例(false negative):正例里面被预测为反例

令 TP,FP,TN,FN 分别表示其对应的样例数,则有

精确率与召回率 的定义如下:

“平衡点”(Break-Event Point):精确率 == 召回率时的取值

但是 BEP 过于简化,更常用的是F1度量:

2.3.3 ROC 与 AUC

与P-R曲线类似,我们根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别作为横、纵坐标做图。

ROC曲线的的横轴为:假正例率 FP

ROC曲线的的纵轴为:真正例率 TP

2.3.4 代价敏感错误率与代价曲线

代价敏感错误率
不同类型的错误所造成的后果或者代价是不同的,代价敏感错误率是基于非均等代价的。二分类代价矩阵:costij表示将第i类样本预测为第j类样本的代价。一般说来,costii=0;若将第0类判别为第1类所造成的损失更大,则cost01> cost10;在非均等错误代价下,我们希望的是最小化“总体代价”,这样“代价敏感”的错误率为:

2.4 比较检验

使用某种实验评估方法测得学习器的某个性能度量结果,然后对这些结果进行比较。

是直接取得性能度量的值比“大小”吗?

实际上比较复杂,涉及到几个重要因素:

  • 希望比较的是泛化能力。然而获得的是测试集上的性能,测试集也是样本,可能包括的不全;
  • 测试集上的性能与测试集本身的选择有很大关系,且不论使用不同大小的测试集会得到不同的结果,(即使使用相同大小的测试集,若包含的测试样例不同,测试结果也会有不同)
  • 机器学习算法本身具有一定的随机性,即便使用相同的参数设置在同一个测试集上多次运行,其结果也会有不同。


 

http://www.lryc.cn/news/400042.html

相关文章:

  • 有必要把共享服务器升级到VPS吗?
  • LLM代理应用实战:构建Plotly数据可视化代理
  • 大模型系列3--pytorch dataloader的原理
  • SQLServer 如何设置端口
  • 调整网络安全策略以适应不断升级的威胁形势
  • (leetcode学习)9. 回文数
  • QT VTK 简单测试工程
  • ES6 Generator函数的异步应用 (八)
  • Navicat:打造高效数据库管理之道
  • Python和C++全球导航卫星系统和机器人姿态触觉感知二分图算法
  • Unity 优化合集
  • 第九届MathorCup高校数学建模挑战赛-A题:基于数据驱动的城市轨道交通网络优化研究
  • Spring webflux基础核心技术
  • 关闭Ubuntu烦人的apport
  • 海事无人机解决方案
  • Docker--在linux安装软件
  • 知识库与RAG
  • 【2024最新】C++扫描线算法介绍+实战例题
  • 语言主要是一种交流工具,而不是思维工具?GPT5何去何从?
  • 传感器标定(三)激光雷达外参标定(lidar2ins)
  • 【漏洞复现】Crocus系统—Download 文件读取
  • 游戏开发面试题1
  • 线程池笔记
  • Go语言基础数据类型、变量及自增语法
  • ES6-ES13符号:单双引号、变量的解构赋值、占位符 、字符串模版`${} `、扩展运算符...、?,??,_,||=,=,in
  • 【远景能源25届校招PI测评】题型深度解析与应试策略
  • 关于Qt Creator 使用Qt Quick的Design模式设置
  • Spring常见问题一:IOC和DI
  • LabVIEW红外热波图像缺陷检
  • c#与欧姆龙PLC通信——如何更改PLC的IP地址