2.4 比较检验 机器学习

news/2024/4/29 3:04:52/文章来源:https://blog.csdn.net/2403_83073833/article/details/137055870

目录

常见比较检验方法

总述

2.4.1 假设检验

2.4.2 交叉验证T检验

2.4.3 McNemar 检验


接我们的上一篇《性能度量》,那么我们在某种度量下取得评估结果后,是否可以直接比较以评判优劣呢?实际上是不可以的。因为我们第一,测试性能不等于泛化性能,第二,测试性能会随着测试集的变化而变化,第二,很多机器学习算法本身有一定的随机性,即便用相同参数设置在同一测试集上其结果也会不同所以直接选取相应评估方法在相应度量下比大小的方法不可取。

常见比较检验方法

统计假设检验 (hypothesis test) 为学习器性能比较提供了重要依据。即比较两算法性能是否相同。一般我们假设两算法性能一样,很显然,若拒绝,则性能不一样,若没拒绝则性能一样。(参见《概率论与数理统计》中假设检验)

两学习器比较:

1.交叉验证 t 检验 (基于成对 t 检验) k 折交叉验证; 5x2交叉验证

2.McNemar 检验 (基于列联表,卡方检验)

多学习器比较:

1.Friedman检验 (基于序值,F检验; 判断“是否都相同”)

2.Nemenyi 后续检验 (基于序值,进一步判断两两差别)

总述

首先我们比较两个学习器的时候,假设我们两学习器一样的性能,我们基于一个值来评估,那么我们在多个测试集中得出的两学习器的误差的差的均值近似为0.显然我们判断此种情况时符合我们的T检验。对于我们的多个值评估,我们使用联列表(记得上次那个TP,NP的表吗?这就类似于那个)假设我们有两个学习器,对于同一组样本,我们的联列表如下:

显然,我们对比副对角线(即代表算法A和B认为的“差异”部分),并对此进行检验分布。

2.4.1 假设检验

在分析交叉验证t检验之前我们先来分析一下二项检验。题目如下:

这个题目可能有点难以理解,我们换个题目:

假设我们有一个球堆A,里面有一些黑球和白球,我们拿m次球,拿到的黑球有m*p个,随后我们又在球堆B里拿球,球堆有m0个球,我们拿到黑球的概率是P2,请问我们恰好有m*p次拿到黑球的概率是多少?

这道题我们只看后面的部分,即:在球堆B里拿球,球堆有m个球,我们拿到黑球的概率是P2,请问我们恰好有m*p次拿到黑球的概率是多少?

显然我们使用二项分布,即C(m*p ,m0)* P2的m*p次方 * (1-P2)的(m0-m*p)次方。

我们回到之前的题目中,是否有些相似了呢?

泛化错误率就是我们这里的P2,测试错误率就是我们这里的p,m和m0分别对应我们这里的m和m0.

类比思考一下,我们就能很轻松的得到以下式子:其表达的含义为:在m个样本上,泛化错误率被测得为测试错误率的概率。(这里的括号与C的含义相同但是上下颠倒),显然我们这里符合二项分布。

随后我们使用极大似然估计(可以参考《概率论与数理统计一书》),得到其概率在\epsilon = \epsilon^时最大。

我们假设ϵ=0.3,m=10,我们可得到以下的图:

这里t分布与之前的二项分布有相似之处,可以结合起来一起理解。

2.4.2 交叉验证T检验

2.4.3 McNemar 检验

其使用的卡方分布,但同样的使用的统计学理念与之前类似。

2.4.4 Friedman检验与Nemenyi后续检验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1027617.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp h5 touch事件踩坑记录

场景:悬浮球功能 当我给悬浮球设置了 position: fixed; 然后监听悬浮球的touch事件,从事件对象中拿到clientY和clientX赋值给悬浮球的left和top属性。当直接赋值后效果应该是这样子: 注意鼠标相对悬浮球的位置,应该就是左上角&a…

在 Windows 11 上安装 MongoDB

MongoDB 是一个流行的 NoSQL 数据库,它提供了灵活的数据存储方案,而 MongoDB Compass 则是一个可视化管理工具,可以更轻松地与 MongoDB 数据库交互和管理。在本文中,我们将介绍如何在 Windows 11 上安装 MongoDB,并配置…

Radio Silence for mac 好用的防火墙软件

Radio Silence for Mac是一款功能强大的网络防火墙软件,专为Mac用户设计,旨在保护用户的隐私和网络安全。它具备实时网络监视和控制功能,可以精确显示每个网络连接的状态,让用户轻松掌握网络活动情况。 软件下载:Radio…

B2902A是德科技B2902A精密型电源

181/2461/8938产品概述: Agilent B2902A 精密源/测量单元 (SMU) 是一款 2 通道、紧凑且经济高效的台式 SMU,能够源和测量电压和电流。它用途广泛,可以轻松、高精度地执行 I/V(电流与电压)测量。4 象限源和测量功能的集…

基于SpringCloud+Hadoop+Vue实现的企业级网盘系统实现

编程语言:Java、Mybatis、Spring、SpringBoot、SpringCloud、Node、Vue 开发环境:Windows 10 Mysql 开发工具:WebStorm、IDEA编译器、Git、Maven 应用部署服务器:SpringBoot内置Tomcat插件 Node服务器:Node v10.1…

低功耗、低成本 NAS/公共文件夹 的可能性

使用现状:多台工作电脑,家里人手一台,还在两个住处 有好几台工作电脑,不同电脑不同OS有不同的用途,最大的问题就是各个电脑上文件的同步问题,这里当然就需要局域网里的公共文件夹,在NAS的问题上…

002-基于Pytorch的手写汉字数字分类

本节将介绍一种 2.1 准备 2.1.1 数据集 (1)MNIST 只要学习过深度学习相关理论的人,都一定听说过名字叫做LeNet-5模型,它是深度学习三巨头只有Yann Lecun在1998年提出的一个CNN模型(很多人认为这是第一个具有实际应用…

Qlib-Server:量化库数据服务器

Qlib-Server:量化库数据服务器 介绍 Qlib-Server 是 Qlib 的配套服务器系统,它利用 Qlib 进行基本计算,并提供广泛的服务器系统和缓存机制。通过 Qlib-Server,可以以集中的方式管理 Qlib 提供的数据。 框架 Qlib 的客户端/服务器框架基于 WebSocket 构建,这是因为 WebS…

学点儿Java_Day10_集合框架(List、Set、HashMap)

1 简介 ArrayList: 有序(放进去顺序和拿出来顺序一致),可重复 HashSet: 无序(放进去顺序和拿出来顺序不一定一致),不可重复 Testpublic void test1() {String[] array new String[3];//List: 有序 可重复//有序: 放入顺序 与 拿出顺序一致,…

【NLP笔记】大模型prompt推理(提问)技巧

文章目录 prompt概述推理(提问)技巧基础prompt构造技巧进阶优化技巧prompt自动优化 参考链接: Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing预训练、提示和预测:NL…

【并发】第二篇 ThreadLocal详解

导航 一. ThreadLocal 简介二. ThreadLocal 源码解析1. get2. set3 .remove4. initialValue三. ThreadLocalMap 源码分析1. 构造方法2. getEntry()3. set()4. resize()5. expungeStaleEntries()6. cleanSomeSlots()7. nextIndex()8. remove()9. 总结ThreadLocalMap四. 内存泄漏…

HarmonyOS 应用开发之显式Want与隐式Want匹配规则

在启动目标应用组件时,会通过显式 Want 或者隐式 Want 进行目标应用组件的匹配,这里说的匹配规则就是调用方传入的 want 参数中设置的参数如何与目标应用组件声明的配置文件进行匹配。 显式Want匹配原理 显式 Want 匹配原理如下表所示。 名称类型匹配…

NanoMQ的安装与部署

本文使用docker进行安装,因此安装之前需要已经安装了docker 拉取镜像 docker pull emqx/nanomq:latest 相关配置及密码认证 创建目录/usr/local/nanomq/conf以及配置文件nanomq.conf、pwd.conf # # # # MQTT Broker # # mqtt {property_size 32max_packet_siz…

使用苹果应用商店上架工具实现应用快速审核与发布

摘要 移动应用app上架是开发者关注的重要环节,但常常会面临审核不通过等问题。为帮助开发者顺利完成上架工作,各种辅助工具应运而生。本文探讨移动应用app上架原理、常见辅助工具功能及其作用,最终指出合理使用工具的重要性。 引言 移动应…

第4章.精通标准提示,引领ChatGPT精准输出

标准提示 标准提示,是引导ChatGPT输出的一个简单方法,它提供了一个具体的任务让模型完成。 如果你要生成一篇新闻摘要。你只要发送指示词:汇总这篇新闻 : …… 提示公式:生成[任务] 生成新闻文章的摘要: 任务&#x…

Stable Diffusion WebUI 生成参数:脚本(Script)——提示词矩阵、从文本框或文件载入提示词、X/Y/Z图表

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 大家好,我是水滴~~ 在本篇文章中,我们将深入探讨 Stable Diffusion WebUI 的另一个引人注目的生成参数——脚本(Script)。我们将逐一细说提示词矩阵、从文本框或文件导入提示词,…

跑腿小程序|基于微信小程序的跑腿平台小程序设计与实现(源码+数据库+文档)

跑腿平台小程序目录 目录 基于微信小程序的跑腿平台小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、跑腿任务管理 3、任务类型管理 4、公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、…

如何安全地添加液氮到液氮罐中

液氮是一种极低温的液体,它在许多领域广泛应用,但在处理液氮时需谨慎小心。添加液氮到液氮罐中是一个常见的操作,需要遵循一些安全准则以确保操作人员的安全和设备的完整性。 选择合适的液氮容器 选用专业设计用于存储液氮的容器至关重要。…

SnapGene 5 for Mac 分子生物学软件

SnapGene 5 for Mac是一款专为Mac操作系统设计的分子生物学软件,以其强大的功能和用户友好的界面,为科研人员提供了高效、便捷的基因克隆和分子实验设计体验。 软件下载:SnapGene 5 for Mac v5.3.1中文激活版 这款软件支持DNA构建和克隆设计&…

线性代数 - 应该学啥 以及哪些可以交给计算机

AI很热,所以小伙伴们不免要温故知新旧时噩梦 - 线代。 (十几年前,还有一个逼着大家梦回课堂的风口,图形学。) 这个真的不是什么美好的回忆,且不说老师的口音,也不说教材的云山雾绕,单…