使用信任集利用腐败矩阵提高网络对含噪标签的鲁棒性
腐败矩阵
利用腐败矩阵可以提高模型对含噪标签的鲁棒性。
具体应用如下:
一个带标签数据集中,有一部分信任的数据集DDD,有部分是不信任的数据集D~\widetilde DD,我们的目的是如何用上面标签含噪的数据集训练一个对标签噪声具有鲁棒性的网络。
第一步:估计腐败矩阵
腐败矩阵:就是腐败概率的KxK矩阵,K是类别数。腐败概率就是原本标签是 i,却分类成 j 的概率
Cij=p(y~=j∣y=i)C_{ij} = p(\widetilde{y} =j|y=i)Cij=p(y=j∣y=i)
估计准备:
(1): p(y~∣x,y)∗p(x∣y)=p(y~∣y)∗p(x∣y~,y)p(\widetilde{y}|x,y)*p(x|y)=p(\widetilde{y}|y)*p(x|\widetilde{y},y)p(y∣x,y)∗p(x∣y)=p(y∣y)∗p(x∣y,y)
将(1)式两边同时对x进行积分:
(2): ∫p(y~∣y,x)p(x∣y)dx=p(y~∣y)∫p(x∣y~,y)dx=p(y~∣y)\int p(\widetilde{y} \mid y, x) p(x \mid y) \mathrm{d} x=p(\widetilde{y} \mid y) \int p(x \mid \widetilde{y}, y) \mathrm{d} x=p(\widetilde{y} \mid y)∫p(y∣y,x)p(x∣y)dx=p(y∣y)∫p(x∣y,y)dx=p(y∣y)
假设y和y^\hat{y}y^在给定x的情况下条件独立,,则有:
p(y~∣y,x)=p(y~∣x)p(\widetilde{y} \mid y, x)=p(\widetilde{y} \mid x)p(y∣y,x)=p(y∣x)
所以(2)式左边就可以看成p(y~∣x)p(\widetilde{y} \mid x)p(y∣x)的均值。
那p(y~∣x)p(\widetilde{y} \mid x)p(y∣x)怎么得到呢?
我们可以通过在不信任数据集D~\widetilde DD上训练分类器得到p(y~∣x)p(\widetilde{y} \mid x)p(y∣x)的近似估计:
(3): p^(y~∣y,x)≈p(y~∣y,x)\hat{p}(\widetilde{y} \mid y, x) \approx p(\widetilde{y} \mid y, x)p^(y∣y,x)≈p(y∣y,x)
然后我们将在不信任数据集D~\widetilde DD上训练分类器得到的分类器p^(y~∣x)\hat{p}(\widetilde{y} \mid x)p^(y∣x)作用在信任的数据集上面,就可以得到腐败矩阵的估计值了:
(4): C^ij=1∣Ai∣∑x∈Aip^(y~=j∣x)=1∣Ai∣∑x∈Aip^(y~=j∣y=i,x)≈p(y~=j∣y=i).\widehat{C}_{i j}=\frac{1}{\left|A_{i}\right|} \sum_{x \in A_{i}} \widehat{p}(\widetilde{y}=j \mid x)=\frac{1}{\left|A_{i}\right|} \sum_{x \in A_{i}} \widehat{p}(\widetilde{y}=j \mid y=i, x) \approx p(\widetilde{y}=j \mid y=i) . Cij=∣Ai∣1x∈Ai∑p(y=j∣x)=∣Ai∣1x∈Ai∑p(y=j∣y=i,x)≈p(y=j∣y=i).
(4)式中AiA_iAi表示信任数据集中标签为 i 的子集。
第二步 利用腐败标签即腐败矩阵提高网络的鲁棒性
我们初始化模型:g(x)=p^(y∣x;θ)g(x)=\widehat{p}(y \mid x ; \theta)g(x)=p(y∣x;θ)
然后用信任集的损失:
ℓ(g(x),y)onD\ell(g(x),y)\quad on\quad Dℓ(g(x),y)onD
和不信任集的损失:
(5): ℓ(C^⊤g(x),y~)onD~\ell\left(\widehat{C}^{\top} g(x), \widetilde{y}\right) \quad on \quad \widetilde Dℓ(C⊤g(x),y)onD
解释一下在不信任集上的损失(5):
(6): p(y~,y)p(y∣x)=p(y~∣x)p(\widetilde{y},y)p(y \mid x)=p(\widetilde{y}\mid x)p(y,y)p(y∣x)=p(y∣x)
由(6)式我们可以看出,虽然不信任集的损失(5)是在不信任标签y~\widetilde{y}y下训练的,但得到g(x)g(x)g(x)却可以反映真实的预测标签p(y∣x)p(y \mid x)p(y∣x)。
所以我们最终可以得到一个很好的分类模型
g(x)=p^(y∣x;θ)g(x)=\widehat{p}(y \mid x ; \theta)g(x)=p(y∣x;θ)
论文参考:Using Trusted Data to Train Deep Networks on Labels Corrupted by Severe Noise. 2018 NIPS.
使用信任集利用腐败矩阵提高网络对含噪标签的鲁棒性相关推荐
- 公证服务信息_使用多个公证员提高网络吞吐量
公证服务信息 您是否需要高吞吐量的Corda网络? 网络的吞吐量是否稳定? 您是否已经从其他领域挤出了所有可能的表现? 如果您对这些问题的回答是"是",那么我可能会为您提供一些有用 ...
- 多个公证员提高网络吞吐量
您是否需要非常高吞吐量的Corda网络? 网络的吞吐量是否稳定? 您是否已经从其他领域挤出了所有可能的表现? 如果您对这些问题的回答是"是",那么我可能会为您提供一些有用的信息. ...
- 服务器和交换机物理连接_利用Calico融合物理网络的云原生容器SDN方案
01 云原生的背景 随着云计算的蓬勃发展,越来越多的IT设施及架构具备了虚拟化.分布式.多租户的云计算能力,这些能力为高速发展的互联网行业插上了腾飞的翅膀.并为互联网业务的开展提供了极大的便利. 当移 ...
- linux nmcli源码,Linux上利用nmcli命令创建网络组(示例代码)
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 下面我们以CentOS7系统为环 ...
- 神经网络训练集与Fock矩阵
如果将神经网络的训练集理解成哈密顿量,但是哈密顿算符并不是矩阵形式,比如拉普拉斯算符 而神经网络的训练集都是矩阵,如何才能将数学解析式变成矩阵的形式? 一种可能的办法是Fock矩阵方法,比如假设波函数 ...
- 利用python来求解网络的平均路径长度和聚类系数
利用python来求解网络的平均路径长度和聚类系数 # -*- coding: utf-8 -*- """ Created on Mon Aug 19 13:14:12 ...
- Linux系统上利用nmcli命令创建网络组
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 下面我们以CentOS7系统为环 ...
- 单身职场人士怎么利用晚上时间提高自己?
单身职场人士怎么利用晚上时间提高自己? 时间:2014-03-12 00:23 来源:互联网的一些事 作者:知乎--Cher Deo 时间就是海绵里的水,也是平胸的乳沟.能做更多的事情,并不一定是比别 ...
- 利用Pytorch实现ResNeXt网络
目 录 1 ResNeXt网络介绍 1.1 组卷积 1.2 block 1.3 网络搭建 2 利用Pytorch实现ResNet网络 2.1 模型定义 2.2 训练结果 1 ResNeXt网络介绍 ...
最新文章
- 京东金融App收集用户敏感信息?致歉来了
- 2022 AAAI Fellow放榜!SAIL首席科学家颜水成、港科大教授冯雁等10人入选
- python爬虫教程视频-python爬虫(入门教程、视频教程)
- 1101 Quick Sort (25 分)【难度: 一般 / 知识点: 快排】
- JAVA基础知识(5)
- python基础论文_北大博士Python学习笔记,Python基础语法总结,一篇文章带你入门...
- Django之ORM
- input type=submit 和button的区别及表单提交
- linux read recv,read()/ recv()成功,但缓冲区未更改且为空
- Nginx负载均衡(1)
- 【通信系统信道估计】
- 苹果微信默认字体样式
- 2017cad光标大小怎么调_2017版CAD画直线时怎么设置光标处有显示长度和角度的?...
- Win10系统U盘启动盘制作详解
- win10 笔记本 右下角出现 天气的解决办法
- linux中如何升级驱动程序,Redhat 如何升级显卡驱动?
- Java未来城市练习代码01
- lightdm 循环登录问题
- 图文详解:如何给女朋友解释什么是微服务?
- 【Python爬虫】第三课 网页爬取