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

【论文阅读】Robust Multi-Instance Learning with Stable Instances

1、摘要与引言

以往的MIL算法遵循i.i.d假设:训练样本与测试样本都分别来自于同一分布中,而这一假设往往与现实应用中有所出入。研究人员通过计算训练样本与测试样本之间的密度比对训练样本进行加权,以解决分布变化带来的问题。

分布的变化发生的原因有许多,诸如:训练数据与测试数据是在不同的时间或不同的地点收集的。当分布发生变化时,由于无法区分因果实例与噪声实例,算法的性能会发生改变。当训练集与测试集分布不同时,噪音实例和标签之间的关联性将不一致。

在这里插入图片描述
如图所示,训练集中的数据在夏天收集的,因果实例是狗,噪声实例是草,并与因果实例高度相关。而测试集中的数据是在冬季收集的,背景大多是雪,而雪则成为了噪音实例。若不考虑分布变化,由于训练样本与测试样本的分布差异,标准有监督算法通常倾向于预测草中有狗的图像为正,而雪中有狗的图像为负。

本文提出了第一个解决MIL中分布变化问题的算法框架,并且此方法不需要无标签的测试数据集。将实例分为三类:因果实例(狗勾)、噪声实例(草)和负实例(其他背景实例),解决MIL中的分布变化问题。

2、Stable Multi-instance Learning Framework

因果实例:考虑将实例xxx加入到包XjX_{j}Xj中并观察包标签YYY,并通过观察标签是否发生变化来确定实例xxx与标签YYY是否存在因果关系。换句话说,若实例xxx与标签YYY存在因果关系,则将它添加到一个负包中时,该包的标签将从负变为正。若实例xxx与标签YYY不存在因果关系,则标签不会发生改变。这种因果关系不会因训练数据或测试数据而发生改变。

噪音实例:噪音实例要么与因果实例和包标签中的其中一个有关联,要么与两者都有关联。如:草和雪都属于噪音实例。虽然草和雪都和因果实例以及标签存在关联,但它们的相关性在训练集与测试集中有所不同。

负实例:与标签无关联的实例,即与包标签无任何关联的随机背景对象。

由于因果实例与标签之间的关系不会因训练集与测试集之间的分布不同而改变,基于因果实例的MIL分类器将获得更加稳定的性能。

2.1、Learning Causal Instances from Experiment

我们只考虑从正包中找出因果实例。∪B+\cup \mathcal{B}^{+}B+表示包含着来自正包中的所有实例组成的实例池,池中实例x∈∪B+x\in \cup \mathcal{B}^{+}xB+。为了确定实例xxx是否为因果实例,需要计算实例xxx对包标签YYY的因果效应,通常定义为加入实例后的预期标签与加入实例前的预测标签之间的差异性:
T(x)=E[Y(T=1)]−E[Y(T=0)].(1)\mathcal{T}\left ( x \right ) =\mathbb{E}\left [ Y\left ( T=1 \right ) \right ] -\mathbb{E}\left [ Y(T=0) \right ] .\tag{1}T(x)=E[Y(T=1)]E[Y(T=0)].(1)
其中,Y(T=1)Y(T=1)Y(T=1)表示预期标签,即:候选实例xxx出现在包中;Y(T=0)Y(T=0)Y(T=0)表示预期标签,即:候选实例xxx未出现在包中。

我们可以通过将候选实例xxx添加到一个包中(若包内不存在候选实例)或从包中移出实例xxx(若包内存在候选实例)来获得处理过或未处理过的包。因此,可以通过数据与oracle分类器提供的期望差异来评估因果效益:
T(x)=E[Y∗(T=1)]−E[Y∗(T=0)].(2)\mathcal{T}\left ( x \right ) =\mathbb{E}\left [ Y^{*}\left ( T=1 \right ) \right ] -\mathbb{E}\left [ Y^{*}(T=0) \right ] .\tag{2}T(x)=E[Y(T=1)]E[Y(T=0)].(2)
其中,Y∗Y^{*}Y表示经处理后(将候选因果实例加入包中)的包标签。

由标准MIL假设知:向正包中添加任何实例或是从负包中移除任何实例都不会改变包的标签。因此E[Y∗∣Y=0,T=0]=0,E[Y∗∣Y=1,T=1]=1\mathbb{E}\left [ Y^{*}|Y=0,T=0 \right ]=0,\mathbb{E}\left [ Y^{*}|Y=1,T=1 \right ]=1E[YY=0,T=0]=0E[YY=1,T=1]=1。同时,对正包进行处理时有两种可能性:

①预处理包中含有除xxx以外的正实例;
②预处理包中只含有xxx作为其正实例。

2.2、Learning Stable Instances from Data

为了获得稳定实例,首先使用训练集数据训练一个多示例分类算法A\mathcal{A}A,并使用AAA表示A\mathcal{A}A返回的分类器。对于每一个候选实例xxx,我们构建一组包集合,其中包含了m−m^{-}m个treated bags。每个treated bag都是通过向负包Xi−X_{i}^{-}Xi中添加候选实例xxx构建的。
对于每个treated bag,我们再使用之前训练得到的分类器AAA来预测其标签。最后,我们使用treated bag的预测标签均值来估计预期:
T^(x)=1m−∑i=1m−A(Xix)\hat{\mathcal{T}}(x)=\frac{1}{m^{-}}\sum_{i=1}^{m^{-}}A(X_{i}^{x})T^(x)=m1i=1mA(Xix)
估计后,选择得分sss高于T\mathcal{T}T的候选实例作为稳定实例。

相关文章:

【论文阅读】Robust Multi-Instance Learning with Stable Instances

1、摘要与引言 以往的MIL算法遵循i.i.d假设:训练样本与测试样本都分别来自于同一分布中,而这一假设往往与现实应用中有所出入。研究人员通过计算训练样本与测试样本之间的密度比对训练样本进行加权,以解决分布变化带来的问题。 分布的变化发…...

洛谷 P5116 [USACO18DEC]Mixing Milk B

题目链接:P5116 [USACO18DEC]Mixing Milk B - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 农业,尤其是生产牛奶,是一个竞争激烈的行业。Farmer John 发现如果他不在牛奶生产工艺上有所创新,他的乳制品生意可能就会受…...

华为OD机试 - 最左侧冗余覆盖子串(C 语言解题)【独家】

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:最左侧冗…...

《Netty》从零开始学netty源码(三)之SelectorProvider

...

实验7 图像水印

本次实验大部分素材来源于山大王成优老师的讲义以及冈萨雷斯(MATLAB版),仅作个人学习笔记使用,禁止用作商业目的。 文章目录一、实验目的二、实验例题1. 数字图像水印技术2. 可见水印的嵌入3. 不可见脆弱水印4. 不可见鲁棒水印一、…...

如何实现大文件断点续传、秒传

大家先来了解一下几个概念: 「文件分块」:将大文件拆分成小文件,将小文件上传\下载,最后再将小文件组装成大文件; 「断点续传」:在文件分块的基础上,将每个小文件采用单独的线程进行上传\下载&…...

备战蓝桥python——完全平方数

完全平方数 链接: 完全平方数 暴力解法: n int(input()) for i in range(1, n1):if(((i*n)**0.5)%10.0):print(i)break运用数论相关知识求解 任意一个正整数都可以被分解成若干个质数乘积的形式,例如 :2022∗5120 \ 2^{2}*5^{1}\,20 22∗51 由此…...

WebRTC中的NAT穿透

NAT简介 我们知道,WebRTC会按照内网、P2P、中转的顺序来尝试连接。在大部分的情况下,实际是使用P2P或者中转的。这里P2P的场景主要使用的技术就是NAT穿透。 我们先简单了解下NAT。NAT在真实网络中是常见的,它的出现一是为了解决ipv4地址不够…...

SpringCloud-高级篇(一)

目录: (1)初识Sentinel-雪崩问题的解决方案 (2)服务保护Sentinel和Hystrix对比 (3)Sentinel初始-安转控制台 (4)整合微服务和Sentinel 微服务高级篇 (1&…...

电脑自动重启是什么原因?详细解说

案例:电脑自动重启是什么原因? “一台用了一年的电脑,最近使用,每天都会一两次莫名其妙自动重启,看了电脑错误日志,看不懂什么意思,一直找不到答案。有没有高手知道怎么解决这个问题的。” 当…...

2023美国大学生数学建模竞赛E题思路

problem 背景: 光污染用于描述过度或不良使用人造光。我们称之为光污染的一些现象包括光侵入、过度照明和光杂波。在大城市,太阳落山后,这些现象最容易在天空中看到:然而,它们也可能发生在更偏远的地区。 光污染会改变我们对夜空…...

蓝桥杯三月刷题 第五天

文章目录💥前言😉解题报告💥数的分解🤔一、思路:😎二、代码:💥前言 上午没写,下午写了会被朋友拉出去耍,被冷风吹到了,而且被他坑了,根本没有玩骑…...

Echarts 水波图实现

开发的项目中需要实现这样一个水波图,例如下图在echarts官网中找了很久没找到,后面是在Echarts社区中找到的,实现了大部分的样式,但是还有一些数据的展示没有实现。水波图的数值展示是默认整数百分比,我的需求是需要保…...

逻辑优化基础-shannon decomposition

1. 简介 在逻辑综合中,香农分解(Shannon decomposition)是一种常用的布尔函数分解方法。它将一个布尔函数分解为两个子函数的和,其中每个子函数包含一个布尔变量的取反和非取反的部分。 具体来说,假设对于一个布尔函…...

Java中线程池的创建与使用

前言:默认线程池的弊端在线程池应用中,参考阿里巴巴java开发规范:线程池不允许使用Executors去创建,不允许使用系统默认的线程池,推荐通过ThreadPoolExecutor的方式,这样的处理方式让开发的工程师更加明确&…...

关于HashMap与OkHttp的使用

写了一个okhttp的post请求方法,添加参数很麻烦,需要封装: //post请求public static void sendOkHttpRequestPost(String address , Callback callback) {OkHttpClient client new OkHttpClient();// 创建表单参数RequestBodyRequestBody fo…...

华为OD机试 - 单词倒序(C 语言解题)【独家】

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:单词倒序…...

搭建Samba服务器

搭建Samba服务器 文章目录搭建Samba服务器samba安装安装命令配置-ubuntu侧为samba服务器创建一个共享目录share创建使用该共享文件夹的账号修改samba服务器配置文件重启samba服务windows创建映射1.点击映射网络驱动器2.输入Ubuntu中的ip地址及其用户信息3.输入用户信息及其密码…...

Matlab进阶绘图第5期—风玫瑰图(WindRose)

风玫瑰图(Wind rose diagram)是一种特殊的极坐标堆叠图/统计直方图,其能够直观地表示某个地区一段时期内风向、风速的发生频率。 风玫瑰图在建筑规划、环保、风力发电、消防、石油站设计、海洋气候分析等领域都有重要作用,所以在一些顶级期刊中也能够看…...

【SQL开发实战技巧】系列(二十四):数仓报表场景☞通过执行计划详解”行转列”,”列转行”是如何实现的

系列文章目录 【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

leetcode73-矩阵置零

leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...

麒麟系统使用-进行.NET开发

文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...