2.4 比较检验 机器学习

目录

常见比较检验方法

总述

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.hqwc.cn/news/576182.html

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

相关文章

小美的平衡矩阵(前缀和例题)

2024美团秋招,被这一题给难住了 美团校招笔试真题_Java工程师、C工程师_牛客网 题目: 解答: 这道题的关键点就是要计算出以某一点为矩阵右下角时,1的个数 我一开始是想着遍历,以某一点为起点(矩阵左上角&a…

做Linux驱动开发,怎么去看懂驱动框架?

理解Linux驱动框架是进行Linux驱动开发的关键一步。我这里有一套嵌入式入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习嵌入式,不妨点个关注,给个评论222,私信22,我在后台发给你。 以下是一些…

力扣124---二叉树的最大路径和(DFS,Java)

目录 题目描述: 思路描述: 代码: 题目描述: 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一…

Linux repo基本用法: 搭建自己的repo仓库[服务端]

概述 Repo的使用离不开Git, Git 和 Repo 都是版本控制工具,但它们在使用场景和功能上有明显区别… Git 定义:Git 是一个分布式的版本控制系统,由 Linus Torvalds 为 Linux 内核开发而设计,现已成为世界上最流行的版本控制软件之…

Codeforces Round 841 (Div. 2) C. Even Subarrays

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e9, maxm 4e4 5; co…

安全的内网通讯软件,WorkPlus定制化 IM/办公门户解决方案

如今处于数字化转型的“加速期”&#xff0c;政企正经历着一场数字化迭代升级的时代浪潮。而不少企业都已具备了数字化管理的意识&#xff0c;数字化应用场景也在全面推开。WorkPlus不断推动信息技术与企业业务深度融合&#xff0c;作为安全的内网通讯软件&#xff0c;为企业提…

主流好用的 Markdown 编辑器介绍

在当今程序员的日常工作中&#xff0c;Markdown 已经成为了一种常用的文本标记语言&#xff0c;它简洁、易读、易写&#xff0c;被广泛应用于写作、文档编写、博客撰写等场景。为了更高效地编辑和管理 Markdown 格式的文档&#xff0c;选择一款功能强大、易用的 Markdown 编辑器…

YOLOv5 | 鬼魅(幽灵)卷积 | 改进Ghost卷积轻量化网络

目录 原理简介 代码实现 yaml文件实现 检查是否添加执行成功 完整代码分享 论文创新必备 启动命令 由于内存和计算资源有限&#xff0c;在嵌入式设备上部署卷积神经网络 (CNN) 很困难。特征图中的冗余是那些成功的 CNN 的一个重要特征&#xff0c;但在神经架构设计中很…

JVM之EhCache缓存

EhCache缓存 一、EhCache介绍 在查询数据的时候&#xff0c;数据大多来自数据库&#xff0c;咱们会基于SQL语句的方式与数据库交互&#xff0c;数据库一般会基于本地磁盘IO的形式将数据读取到内存&#xff0c;返回给Java服务端&#xff0c;Java服务端再将数据响应给客户端&am…

Excel·VBA数组分组问题

看到一个帖子《excel吧-数据分组问题》&#xff0c;对一组数据分成4组&#xff0c;使每组的和值相近 目录 代码思路1&#xff0c;分组形式、可分组数代码1代码2代码2举例 2&#xff0c;数组所有分组形式举例 这个问题可以转化为2步&#xff1a;第1步&#xff0c;获取一组数据…

工控安全双评合规:等保测评与商用密码共铸新篇章

01.双评合规概述 2017年《中华人民共和国网络安全法》开始正式施行&#xff0c;网络安全等级测评工作也在全国范围内按照相关法律法规和技术标准要求全面落实实施。2020年1月《中华人民共和国密码法》开始正式施行&#xff0c;商用密码应用安全性评估也在有序推广和逐步推进。…

软件接口安全设计规范及审计要点

1.token授权安全设计 2.https传输加密 3.接口调用安全设计 4.日志审计里监控 5.开发测试环境隔离&#xff0c;脱敏处理 6.数据库运维监控审计 项目管理全套资料获取&#xff1a;软件开发全套资料_数字中台建设指南-CSDN博客