论文阅读 (四):MILIS: Multiple Instance Learning with Instance Selection.
文章目录
- 引入
- 学前娱乐
- 摘要
- 算法过程
- 训练
- 测试
- 实例选择和分类器学习
- A.A.A. 包级特征表示
- B.B.B. 初始化实例原型
- C.C.C. 分类
- D.D.D. 实例更新
引入
论文地址
学前娱乐
老公出差在外,晚上给老婆来了一个查岗电话,结果听到老婆那边有男人的声音,老公问:怎么你那边有男人?老婆说:隔壁王叔拿保鲜袋,过来装酸奶!突然老婆啊的一声。老公问:老婆怎么了?老婆说:天…气太……太冷了,我正给你做……嗯~做帽子呢~!我回答到老婆对我真好!!
摘要
一个好的摘要,就是看了之后就能明白这篇文章是拿来干啥的。
为了提高多示例学习,在交替优化框架中通过以迭代方式将实例选择和分类器学习的步骤交织在一起的方式来做到这一点,以确保收敛。初始实例选择是通过在负实例上使用一个简单但有效的内核密度估计器来实现的。
算法过程
训练
1)在训练样本中进行实例的选择,通过对负实例的分布进行建模并从每个正包中选择最负的实例来实现,这样做可以得到一组实例原型 Instance Prototypes (IPs),用 xi∗(t)x_{i}^{\ast(t)}xi∗(t) 表示;他们中的每一个实例都是从正包中选择的。
2)然后把多示例转化为单示例,用一种映射方法来映射,ziz_izi 代表映射后的第iii 个包,s(Bi,xj∗(t))s(B_i,x_j^{\ast(t)})s(Bi,xj∗(t)) 就表示他的第 jjj个特征向量(是包与实例原型的一个相似度),关于这个 s(Bi,xj∗(t))s(B_i,x_j^{\ast(t)})s(Bi,xj∗(t)),后面进行解答;
3)然后用线性核 SVM 训练这些映射后的包向量,基于训练结果,更新和重新选择 IPs,重复 1-3 序列直到收敛。
测试
测试就很简单了,直接用训练过程的实例原型来进行函数映射,得到向量,用SVM 模型预测。
实例选择和分类器学习
A.A.A. 包级特征表示
最小 Hausdorff 距离来计算包与实例的距离 d(Bi,x)=minxi,j∈Bi∥xi,j−x∥2d(B_i,x) = \min_{x_{i,j} \in B_i}{\| x_{i,j}-x\|^2}d(Bi,x)=minxi,j∈Bi∥xi,j−x∥2 ,因此,包与实例的相似度
s(Bi,xj∗(t))=exp(−λd(Bi,x))=maxxi,j∈Bi(exp−γ∥xi,j−x∥2)(1)\tag{1} s(B_i,x_j^{\ast(t)}) = \exp{(-\lambda d(B_i,x))} = \max_{x_{i,j} \in B_i}{(\exp{-\gamma\| x_{i,j}-x\|^2})}s(Bi,xj∗(t))=exp(−λd(Bi,x))=xi,j∈Bimax(exp−γ∥xi,j−x∥2)(1)
这里对正负包的相似度不一样,正包的相似度值更大,负包的相似度值更小
B.B.B. 初始化实例原型
1) 在训练集中选择实际存在的实例来构建相似度,从每个训练包中选取一个单独的实例来充当整个 IPs 的一个子集,显然,我们要在子集中用真正的正负实例来计算判别特征图;
2) 在 DD 中直接选取正实例,对负包中所有的实例用 KDE 来建立模型
f(x)=1Z∑imi∑yi=−1∑j=1miexp(−β∥x−xi,j−∥)(2)\tag{2} f(x)=\frac{1}{Z \sum_{i} m_{i}} \sum_{y_{i}=-1} \sum_{j=1}^{m_{i}} \exp \left(-\beta\left\|x-x_{i, j}^{-}\right\|\right) f(x)=Z∑imi1yi=−1∑j=1∑miexp(−β∥∥x−xi,j−∥∥)(2)
xi,j−x_{i,j}^{-}xi,j−是第 iii 个负包中的第 jjj 个实例,ZZZ 是一个常数(实验中被忽视)代表归一化因子,这个公式定义了负包的归一化概率密度函数.
3)然后每一个包中实例根据概率密度函数都可以计算得到一个密度值,在正包中选取密度值最小的实例来作为实例原型,从负包中选取密度值最大的实例来作为实例原型 。
C.C.C. 分类
1)根据初始化原型,能够得到一组实例原型 {x1,⋯,xn}\{x_1,\cdots,x_n\}{x1,⋯,xn} xix_ixi 就是每个包选出来的实例原型;
2)通过公式(1),每一个包可以映射得到这么一个向量
zi=[s(Bi,x1),⋯,s(Bi,xn)](3)\tag{3} \boldsymbol{z}_i=[s(B_i,x_1), \cdots, s(B_i,x_n)] zi=[s(Bi,x1),⋯,s(Bi,xn)](3)
3)然后用线性 SVM 训练得到模型
D.D.D. 实例更新
通过上一步,得到了一个包级别的 SVM 分类器,然后可以验证选择的 IPs,并更新这些IPs,那么怎么来更新呢?可以将其视为离散变量的优化问题,可以使用类似于协调下降的方法有效地解决离散变量;
1)定义一组辅助变量 ϕi\phi_iϕi,每一个包都有一个辅助变量,ϕi\phi_iϕi 的取值范围在 {1,⋯,mi}\{1, \cdots,m_i\}{1,⋯,mi} 之中 ϕi=j\phi_i = jϕi=j 表示第 iii 个包中的第 jjj个实例被选中当实例原型;
2)利用这些成分,我们现在根据变量 ϕi\phi_iϕi 和分类器权重 www 定义迭代框架下的优化问题:
minw,ϕQ(w,ϕ)=12∥w∥2+C∑iℓ(yi,wTg(Bi,ϕ))(4)\tag{4} \min _{\mathbf{w}, \phi} Q(\mathbf{w}, \phi) =\frac{1}{2}\|\mathbf{w}\|^{2}+C \sum_{i} \ell\left(y_{i}, \mathbf{w}^{T} g\left(B_{i}, \phi\right)\right) w,ϕminQ(w,ϕ)=21∥w∥2+Ci∑ℓ(yi,wTg(Bi,ϕ))(4)
g(Bi,ϕ)=[s(Bi,x1,ϕ1),…,s(Bi,xn,ϕn)](5)\tag{5} g\left(B_{i}, \phi\right) =\left[s\left(B_{i}, \mathbf{x}_{1, \phi_{1}}\right), \ldots, s\left(B_{i}, \mathbf{x}_{n, \phi_{n}}\right)\right] g(Bi,ϕ)=[s(Bi,x1,ϕ1),…,s(Bi,xn,ϕn)](5)
ℓ(yi,fi)\ell(y_i,f_i)ℓ(yi,fi) 是公式(2)的损失函数,g(Bi,ϕ)g(B_i,\phi)g(Bi,ϕ) 在给定原型索引ϕ={ϕ1,⋯,ϕn}\phi =\{\phi_1, \cdots, \phi_n\}ϕ={ϕ1,⋯,ϕn}的情况下指定第i个袋Bi的袋级特征映射,给定训练器SVM一个权重 www,就能够更新每个包中选择的实例原型 IP;
3)我们用迭代的方式来更新每一个实例
ϕ1(t+1)=argminj=1m1∑iℓ(wTg(Bi,{j,…,ϕn(t)}),y1)⋯ϕi(t+1)=argminj=1mi∑iℓ(wTg(Bi,{…,ϕi−1(t),j,ϕi+1(t),…}),yi)⋯ϕn(t+1)=argminj=1∑iℓ(wTg(Bi,{ϕ1(t),…,j}),yn)(6)\tag{6} \phi_{1}^{(t+1)} =\arg \min _{j=1}^{m_{1}} \sum_{i} \ell\left(\mathbf{w}^{T} g\left(B_{i},\left\{j, \ldots, \phi_{n}^{(t)}\right\}\right), y_{1}\right) \\ \cdots \\ \phi_{i}^{(t+1)} =\arg \min _{j=1}^{m_{i}} \sum_{i} \ell\left(\mathbf{w}^{T} g\left(B_{i},\left\{\ldots, \phi_{i-1}^{(t)}, j, \phi_{i+1}^{(t)}, \ldots\right\}\right), y_{i}\right) \\ \cdots \\ \phi_{n}^{(t+1)} =\arg \min _{j=1} \sum_{i} \ell\left(\mathbf{w}^{T} g\left(B_{i},\left\{\phi_{1}^{(t)}, \ldots, j\right\}\right), y_{n}\right) ϕ1(t+1)=argj=1minm1i∑ℓ(wTg(Bi,{j,…,ϕn(t)}),y1)⋯ϕi(t+1)=argj=1minmii∑ℓ(wTg(Bi,{…,ϕi−1(t),j,ϕi+1(t),…}),yi)⋯ϕn(t+1)=argj=1mini∑ℓ(wTg(Bi,{ϕ1(t),…,j}),yn)(6)
ϕi(t)\phi_i^{(t)}ϕi(t) 和 ϕi(t+1)\phi_i^{(t+1)}ϕi(t+1) 分别表示第 iii 个包的旧新实例原型的下标。
论文阅读 (四):MILIS: Multiple Instance Learning with Instance Selection.相关推荐
- 【论文阅读】Rethinking Spatiotemporal Feature Learning For Video Understanding
[论文阅读]Rethinking Spatiotemporal Feature Learning For Video Understanding 这是一篇google的论文,它和之前介绍的一篇face ...
- 论文阅读: Channel Augmented Joint Learning for Visible-Infrared Recognition
论文阅读: Channel Augmented Joint Learning for Visible-Infrared Recognition code: https://gitee.com/mind ...
- 【论文阅读】Decision Transformer: Reinforcement Learning via Sequence Modeling
[论文阅读]Decision Transformer: Reinforcement Learning via Sequence Modeling 1 本文解决了什么问题? 本文将强化学习抽象为一个序列 ...
- 近年多示例论文阅读(2): Multiple instance learning: A survey of problem characteristics and applications
目录 基本信息 核心思想 基本信息 题目:Multiple instance learning: A survey of problem characteristics and application ...
- 【论文阅读】Gait Lateral Network: Learning Discriminative and Compact Representations for Gait Recognition
Gait Lateral Network: Learning Discriminative and Compact Representations for Gait Recognition 摘要: I ...
- 论文阅读:Self-supervised Video Representation Learning with Cross-Stream Prototypical Contrasting
题目:Self-supervised Video Representation Learning with Cross-Stream Prototypical Contrasting 作者:Marti ...
- 【论文阅读】Parametrized Deep Q-Networks Learning: RL with Discrete-Continuous Hybrid Action Space
[论文阅读-深度强化学习打王者荣耀]Parametrized Deep Q-Networks Learning: Reinforcement Learning with Discrete-Contin ...
- 论文阅读:Self-supervised video representation learning with space-time cubic puzzles
论文名称:Self-supervised video representation learning with space-time cubic puzzles(2019 AAAI) 论文作者:Dah ...
- 论文阅读:Self-Supervised Video Representation Learning With Odd-One-Out Networks
目录 Contributions Method 1.Model 2.Three sampling strategies. 3.Video frame encoding. Results More Re ...
最新文章
- RocketMQ集群启动报错:java.lang.RuntimeException: Lock failed,MQ already started
- SAP UI5 web Component里的条件渲染机制
- Ubuntu 14.04下安装Redis报错:“You need tcl 8.5 or newer in order to run the Redis test”问题解决
- flutter: 建树流程
- 研究Ajax(二)WebService实现加 减 乘 除
- Android 各API版本代码常量
- 查看服务器sftp用户信息,linux查看sftp服务器配置
- Windbg双机调试配置
- QTcpSocket使用发现的问题
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- unctf2020部分wp
- 云更新服务器更新不了最新游戏,云更新游戏更新自动/手动更新游戏教程
- 横向导航条页面居中的方法
- Next数组个人理解
- srand和rand详细讲解
- wx小程序(wxml)
- appemit使用mpvPlayer在谷歌chrome浏览器播放RTSP
- YOLOV5:在本地电脑训练模型
- 复制微信好友发来的代码
- 客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (2) 采购以及组装
热门文章
- MySQL、JDBC、HTML、CSS、JavaScript、jQuery、tomcat、Http、Servlet、JSP、EL、JSTL、Maven、Cookie、Session(框架第一部分)
- arm shell 获取本地键盘输入值_arm Linux 如何自动检测并mount SD卡,以及如何得知已经mount...
- 如何建立一个属于自己的网站(小白教程)
- 莫比乌斯反演入门题目(详细)
- 软件测试工作学习必备指南——硬实力
- Java字节码角度分析多态原理 ——提升硬实力8
- 技术人的软实力(0)不可忽视的软实力培养
- Docker:架构分解
- 张正友相机标定Opencv实现程序(ubuntu下)
- 移动 APP 网络优化概述