错误标注太多,不想人工检查?试试置信学习来自动找错

【手把手】如何使用置信学习cleanlab对数据集进行去噪 前言 在做一个项目的时候,发现数据集噪声非常多,项目是是一个文本分类问题, 但是数据集中经常出现 label 错误的情况, 也就是所谓的 label noise问题,在这样的数据集对模型进行训练效果非常差。关于label noise感兴趣可以看 Noisy Label 20 篇论文纵览 ,也是一个研究的热门方向,且对于工业界意义很大。 笔者在经过一些相关的调研之后, 从实现难度,教程数量, 原理理解这些方面角度,最终选取置信学习这种方式对数据集合进行去噪 置信学习相关介绍 那什么是置信学习呢?这个概念来自一 阅读详情
AI摘要

本文介绍一种名为置信学习的方法,用于识别数据集中的错误标签。通过实验展示如何使用cleanlab库在MNIST数据集上应用置信学习,提高模型精度。

众所周知,在机器学习中,测试集是我们用来衡量模型性能的基准。但是,在实际工作中,我们或许会遇到这样一个问题,那就是不论用何种手段获取到的标注数据,都或多或少存在一些标注错误,这对模型精度的提升是一个不可忽视的问题。

在早前的一篇论文中,麻省理工 CSAIL 和亚马逊的研究者对 10 个主流机器学习数据集展开了研究[1],结果发现平均有3.3%的数据标注错了,ImageNet,CIFAR100等知名数据集的错误率竟接近6%。

图一 主流数据集的错误案例

图二 主流数据集的错误情况

因此,如何快速便捷的从数据集中找到错误或者疑似错误的样本,成为一件很重要的事情。

本文介绍了一种采用置信学习的方式来寻找错误样本的方法[2],并选择MNIST数据集进行了实验,介绍了采用置信学习方法来寻找错误样本的主要流程,下面是详细的内容。

一、方法介绍

 NO.1 

何为置信学习

置信学习的概念来自一篇由MIT和Google联合提出的Paper:Confident Learning: Estimating Uncertainty in Dataset Labels[2] 。论文提出的置信学习(confident learning,CL)是一种新兴的、具有原则性的框架,可用于识别标签错误、表征标签噪声并应用于带噪学习(noisy label learning)。

置信学习具有以下优点:

● 可直接估计噪声标签与真实标签的联合分布,具有理论合理性;

● 不需要超参数,只需使用交叉验证来获得样本的预测概率;

● 不需要做随机均匀的标签噪声的假设(这种假设在实践中通常不现实);

● 与模型无关,可以使用任意模型,不像众多带噪学习与模型和训练过程强耦合;

● 作者开源了置信学习的工具包cleanlab,一行代码调用,方便快捷;

 NO.2 

置信学习的流程

置信学习包含三个主要步骤:

● Count:估计噪声标签和真实标签的联合分布;

● Clean:根据联合分布找出噪声样本;

● Re-Training:过滤噪声样本后,重新训练;

在Count阶段,首先进行交叉验证(交叉验证的流程如图三所示),得到所有样本的预测概率,然后统计每个人工标定类别的平均概率作为置信度阈值,如公式一所示;

然后计算每个样本的预测类(预测概率最大的那个类,且该概率大于该类的置信度阈值)如公式二所示;

接着统计预测类别和给定类别之间的计数矩阵(类似混淆矩阵),如公式三所示;

最后标定计数矩阵,让计数矩阵的总和与数据总量相同,并进行归一化,得到预测标签和给定标签的联合分布,如公式四所示。

图三 交叉验证示意图

公式一

公式二

公式三

公式四

上述公式中出现的变量含义如下所示:

  

判断预测结果是否为j类别的置信度阈值

  

给定的标签(原始标签,可能带噪声)

  

预测的标签,这里作为真实标签

  

样本空间

  

单个样本

  

预测模型的参数

  

预测概率

  

给定标签和预测标签的统计矩阵

  

给定标签和预测标签的联合分布矩阵

在Clean阶段,有5种方法进行噪声标签的筛选:

1. 过滤预测类别和人工标记的类别不一致的数据;

2. 过滤计数矩阵中非对角单元的样本;

3. 对于类别c,选取N*p个样本过滤,其中的N是给定类别为c的样本总数,p是联合分布矩阵中除Q(c,c)之外的概率和;

4. 对于计数矩阵非对角单元,选取N*p个样本过滤,其中N是总样本数,p是联合分布矩阵中计数矩阵的单元对应的概率;

5. 方法3与方法4结合;

其中方法2是作者从理论分析认为比较合理的方法,不过同时作者也进行了实验,5种方法之间的结果差异很小。

把上面的过程用一张图来表示,如图四所示:

图四 置信学习流程示意图

 NO.3 

置信学习的效果

论文作者做了大量消融实现来验证置信学习的效果,这里我们只看置信学习在实际数据集中作用,图五是作者在ImageNet(ILSVRC 2012)数据集上进行置信学习所取得的结果:

图五 ILSVRC 2012数据集上置信学习的结果

图五中(a)可见通过置信学习筛选掉噪声标签之后,(对比随机去除样本)精度最多提升了0.6个百分点,对照(b)(c)(d)组实验可以看到,数据集本身包含的错误标签越多,置信学习提升的效果越明显。

二、实际操作

置信学习的作者开源了其代码库cleanlab,只需要一条命令即可安装pip install cleanlab,我们在MNIST上进行了尝试,来介绍置信学习的实际操作过程的详细步骤。代码主要包含以下几个部分:

 NO.1 

参数定义

import numpy as np
import torch
import warnings

SEED = 123
np.random.seed(SEED)
torch.manual_seed(SEED)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
torch.cuda.manual_seed_all(SEED)
warnings.filterwarnings("ignore", "Lazy modules are a new feature.*")

 NO.2 

导入数据集

from sklearn.datasets import fetch_openml
mnist = fetch_openml("mnist_784")  # 获取 MNIST 数据集

X = mnist.data.astype("float32") # 二维数组
X /= 255.0  # 将图片像素值归一化到0~1
X = X.reshape(len(X), 1, 28, 28)  # 改变图片尺寸为 [N, C, H, W] 

y = mnist.target.astype("int64")  # 一维标签
print(X.shape, y.shape)

​​​​​​这里打印数据的尺寸如下图所示,其中70000为图片数量,1为通道数(即灰度图片),28*28为图片的分辨率大小:

 NO.3 

定义分类模型


from torch import nn

class ClassifierModule(nn.Module):
    def __init__(self):
        super().__init__()

        self.cnn = nn.Sequential(
            nn.Conv2d(1, 6, 3),
            nn.ReLU(),
            nn.BatchNorm2d(6),
            nn.MaxPool2d(kernel_size=2, stride=2),
            nn.Conv2d(6, 16, 3),
            nn.ReLU(),
            nn.BatchNorm2d(16),
            nn.MaxPool2d(kernel_size=2, stride=2),
        )
        self.out = nn.Sequential(
            nn.Flatten(),
            nn.Linear(400, 128),
            nn.ReLU(),
            nn.Linear(128, 10),
            nn.Softmax(dim=-1),
        )

    def forward(self, X):
        X = self.cnn(X)
        X = self.out(X)
        return X


from skorch import NeuralNetClassifier
model_skorch = NeuralNetClassifier(ClassifierModule)

​​​​​由于MNIST数据集相对简单,这里用pytorch定义了一个简单的两层卷积层+两层全连接层的分类网络,并采用skorch进行了包装,以方便后续利用sklearn进行调用。

 NO.4 

K重交叉验证


from sklearn.model_selection import cross_val_predict

num_crossval_folds = 3 
pred_probs = cross_val_predict(
    model_skorch,
    X,
    y,
    cv=num_crossval_folds,
    method="predict_proba",
)

​​​​​​这里设置了K=3,交叉训练的结果如下图,其中pred_probs便是后续置信学习所需要的预测概率。

 NO.5 

交叉训练的整体精度

from sklearn.metrics import accuracy_score

predicted_labels = pred_probs.argmax(axis=1)
acc = accuracy_score(y, predicted_labels)
print(f"Cross-validated estimate of accuracy on held-out data: {acc}")

​​​​​​结果如下:

这个结果将会和去除噪声标签后的结果进行对比。

 NO.6 

通过cleanlab库寻找噪声标签

from cleanlab.filter import find_label_issues

ranked_label_issues = find_label_issues(
    y,
    pred_probs,
    return_indices_ranked_by="self_confidence",
)            
#可以通过输入filter_by参数选择筛选方法,默认选择的是方法一,其他一些细节也可以进行调整

print(f"Cleanlab found {len(ranked_label_issues)} label issues.")
print(f"Top 15 most likely label errors: \n {ranked_label_issues[:15]}")

结果返回了噪声数据的索引列表,这里cleanlab一共找到127个标签错误,其中错误概率排在前15位的错误标签的索引如下所示:

 NO.7 

对一些结果进行可视化


import matplotlib.pyplot as plt

def plot_examples(id_iter, nrows=1, ncols=1):
    plt.figure(figsize=(12,8))
    for count, id in enumerate(id_iter):
        plt.subplot(nrows, ncols, count + 1)
        plt.imshow(X[id].reshape(28, 28), cmap="gray")
        plt.title(f"id: {id} \n label: {y[id]}")
        plt.axis("off")

    plt.tight_layout(h_pad=5.0)
    
plot_examples(ranked_label_issues[range(50)], 5, 10)

这里展示了前50个有问题的样本,如下所示:

可以看到,其中多半都是确实错误或者有歧义的标签,其他标签也包含了一些书写不规范的情况。

 NO.8 

去掉噪声标签后re-training

clean_X = np.delete(X, list(ranked_label_issues), 0)
clean_y = np.delete(y, list(ranked_label_issues), 0)
print(clean_X.shape, clean_y.shape)

clean_pred_probs = cross_val_predict(
    model_skorch,
    clean_X,
    clean_y,
    cv=num_crossval_folds,
    method="predict_proba",
)
clean_predicted_labels = clean_pred_probs.argmax(axis=1)
clean_acc = accuracy_score(clean_y, clean_predicted_labels)
print(f"Cross-validated estimate of accuracy on held-out data: {clean_acc}")

去除噪声标签后,数据的尺寸如下图,对比原始数据少了127条数据。

最终的精度如下:

对比前面的精度0.9766,可见精度只有轻微的提升,这是因为MNIST整体70000张图片中去除127条,影响较为轻微,结合论文可以知道MNIST的整体错误率相对较低,如果在面对错误标签较多的数据集时,置信学习应该能有更好的发挥。

 NO.9 

补充实验

由于上面精度提升不是很明显,考虑到MNIST全部图片有70000张,127张噪声图片的影响较低,所以进行了补充实验,从MNIST数据集中挑选一部分(部分干净数据+127张噪声数据),测试噪声率稍微大一些的数据集上,cleanlab的效果。

● 准备数据集

前面cleanlab找出了127张噪声图片,这里让新数据集的噪声率维持在5%(考虑到找出的127张图片不都是错误图片,实际噪声率应该会低于5%),图片总数应该为127*20张,且其中有127张噪声图片,构造代码如下所示:

import random
small_Num = 127*20
small_clean_index = random.sample(list(range(clean_X.shape[0])), small_Num-len(ranked_label_issues))
#新数据集由127张噪声数据和(2540-127)张干净数据组成
small_X = np.concatenate([clean_X[small_clean_index], X[ranked_label_issues]])
small_y = np.concatenate([clean_y[small_clean_index], y[ranked_label_issues]])

#打乱组合后的数据集
random_index = list(range(small_X.shape[0]))
random.shuffle(random_index)
small_X = small_X[random_index]
small_y = small_y[random_index]
print(small_X.shape, small_y.shape)

这里得到新的数据集维度如下,数据量降到了2540,其他不变:

● 交叉验证

model_skorch = NeuralNetClassifier(ClassifierModule)
num_crossval_folds = 3  
pred_probs = cross_val_predict(
    model_skorch,
    small_X,
    small_y,
    cv=num_crossval_folds,
    method="predict_proba",
)
predicted_labels = pred_probs.argmax(axis=1)
acc = accuracy_score(small_y, predicted_labels)
print("=============================================================")
print(f"Cross-validated estimate of accuracy on held-out data: {acc}")

交叉训练的过程和最终精度如下:

可以看到,随着噪声数据的比例变大以及数据量的变小,交叉验证的精度只有0.8236。

● cleanlab寻找噪声标签

重新在小数据集上进行置信学习:


ranked_label_issues = find_label_issues(
    small_y,
    pred_probs,
    return_indices_ranked_by="self_confidence",
)
print(f"Cleanlab found {len(ranked_label_issues)} label issues.")
print(f"Top 15 most likely label errors: \n {ranked_label_issues[:15]}")

这次的寻找结果如下所示:​​​​​​​

由于数据集整体发生了改变,找到的噪声数据也有所改变,这一次找到了101张噪声图片。

● re-training

去掉101张噪声数据后重新训练:

small_clean_X = np.delete(small_X, list(ranked_label_issues), 0)
small_clean_y = np.delete(small_y, list(ranked_label_issues), 0)
print(small_clean_X.shape, small_clean_y.shape)

clean_small_pred_probs = cross_val_predict(
    model_skorch,
    small_clean_X,
    small_clean_y,
    cv=num_crossval_folds,
    method="predict_proba",
)
clean_small_predicted_labels = clean_small_pred_probs.argmax(axis=1)
clean_small_acc = accuracy_score(small_clean_y, clean_small_predicted_labels)
print(f"Cross-validated estimate of accuracy on held-out data: {clean_small_acc}")

​​​​​​​重新交叉验证的精度如下:

去除101个噪声数据后,精度来到了0.8396,对比0.8236,精度提升了1.6个百分点,可见在数据集噪声率5%左右时,置信学习能发挥比较明显的作用。

三、后记

本文介绍了利用置信学习的基本流程,并针对MNIST数据集尝试了cleanlab的使用,希望能帮助读者理解置信学习的原理和实际使用流程。后续也会继续推出其他寻找噪声标签的方法,并尝试在目标检测数据集上进行实验。

参考文献

[1] C. G. Northcutt, L. Jiang, and I. Chuang. Confident learning: Estimating uncertainty in dataset labels. Journal of Artificial Intelligence Research, 70:1373–1411, 2021.

[2] C. G. Northcutt, Anish Athalye, and Jonas Mueller. Pervasive Label Errors in Test Sets Destabilize Machine Learning Benchmarks,  arXiv:2103.14749v4. 2021.

更多数据集上架动态、更全面的数据集内容解读、最牛大佬在线答疑、最活跃的同行圈子……欢迎添加微信opendatalab_yunying 加入OpenDataLab官方交流群。

NLP基本知识 工作原理:TextRank 使用基于图的算法来提取文本中最重要的句子或短语,这些句子或短语组成了文本的摘要。它主要基于共现关系计算节点(句子或短语)的权重,然后选择具有高权重的节点来构建摘要。BERT 是一种深度学习模型,可以学习文本的语义表示。智能摘要通常通过微调预训练的BERT模型来生成,BERT 在理解文本语义方面具有卓越的性能。它不仅可以提取关键信息,还可以生成更具语义的摘要。性能:TextRank 是一种传统的文本处理方法,性能通常取决于共现关系的质量和权重计算的准确性。 阅读详情

相关推荐

深度学习-深度信念(置信)网络(DBN)-从原理到实现(DeepLearnToolBox)

深度信念网络,DBN,Deep Belief Nets,神经网络的一种。既可以用于无监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。作为神经网络,神经元自然是其必不可少的组成部分。DBN由若干层神经元构成,组成元件是受限玻尔兹曼机(RBM)。首先来了解一下受限玻尔兹曼机(RBM): RBM是一种神经感知器,由一个显层和一个隐层构成,显层与隐层的神经元之间为双向全连接。如下图所示

Rainbow0210的博客 7万+

置信学习:让样本中的“脏数据“原形毕露

在实际工作中,你是否遇到过这样一个问题或痛点:无论是通过哪种方式获取的标注数据,数据标注质量可能不过关,存在一些错误?亦或者是数据标注的标准不统一、存在一些歧义?特别是badcase反馈回来,发现训练集标注的居然和badcase一样?如下图所示,QuickDraw、MNIST和Amazon Reviews数据集中就存在错误标注。 为了快速迭代,大家是不是常常直接人工去清洗这些“脏数据”?(笔者也经常这么干~)。但数据规模上来了咋整?有没有一种方法能够自动找出哪些错误标注的样本呢?基于此,本文尝试提供一

hellozhxy的博客 8175

置信学习简述.rar

置信学习简述.rar

置信学习寻找噪音样本(noisy label)在NLP任务中的实践

置信学习寻找噪音样本(noisy label)在NLP任务中的实践

HGlyh的博客 2852

LabVIEW多设备采集实战:1个程序同时控制3个RS485 Modbus仪表

本文详细介绍了如何使用LabVIEW实现多设备RS485 Modbus同步采集,涵盖硬件架构设计、多线程通信框架搭建、数据帧解析技巧及性能优化策略。通过实际项目案例,展示如何解决端口冲突、数据解析错误等工业自动化常见问题,提升采集系统实时性与可靠性。

qsc901234的博客 302

CVPR2023新作HAT实战:5分钟搞定图像超分辨率重建(附代码)

本文介绍了CVPR2023新作HAT模型在图像超分辨率重建中的实战应用。HAT通过创新的混合注意力机制,显著提升了图像重建质量,能激活更多有效像素并减少伪影。文章提供了从环境配置到模型部署的完整指南,帮助开发者在5分钟内快速实现图像超分辨率重建,并附有代码示例和性能优化技巧。

weixin_29062613的博客 238

别让数据坑了你!用置信学习找出错误标注(附开源实现)

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 |JayLou娄杰(NLP算法工程师,信息抽取方向)编 | 北大小才女小轶美 | Sonata1 前言在实际工作中,你是...

夕小瑶科技说 6894

腾讯游戏安全组件运行异常的全面解决方案

在使用腾讯游戏时,玩家可能会遭遇游戏安全组件运行异常的问题,这不仅影响游戏的正常启动,还可能在游戏过程中引发一系列问题。本文将详细介绍解决腾讯游戏安全组件运行异常的几种方法,帮助玩家重拾游戏乐趣。腾讯游戏安全组件运行异常是一个复杂的问题,可能涉及服务设置、游戏更新、系统环境优化以及硬件与驱动检查等多个方面。最后,希望本文能帮助玩家顺利解决腾讯游戏安全组件运行异常的问题,让玩家能够无忧无虑地享受游戏带来的乐趣。首先,我们需要从系统的服务管理入手,检查与游戏安全组件相关的服务是否正常运行。

nntxthml的博客 5810

置信度学习

1、置信度学习 置信度学习CL流程(图1)是用于表征,发现和学习带有标签错误的一系列理论和算法,该算法使用预测的概率和嘈杂的标签对未归一化的置信关节中的样本进行计数,然后归一化以估计联合分配,修剪噪音数据,生成干净的数据作为输出。 ...

霜叶的博客 4513

在Ubuntu 22.04 LTS上搞定Intel Quartus Prime 22.1和QuestaSim:一份保姆级的安装与License配置指南

本文提供在Ubuntu 22.04 LTS上安装和配置Intel Quartus Prime 22.1与QuestaSim的详细指南。涵盖依赖安装、环境变量设置、License配置及常见问题解决,帮助FPGA开发者快速搭建稳定的开发环境。特别针对Ubuntu系统优化,确保工具链高效运行。

weixin_29208077的博客 318

介绍七种常见还危险的病毒(带样本)

简介:能够感染用户计算机bai系统中的.exe、.dll和.html文件,将自身加密以后缀加到目标文件中。样本(源文件):https://wwx.lanzoux.com/iJx4njrpz1c / https://wwx.lanzoui.com/iYRNLwd8ldc。英文名称:Virus.Win32.Viking.A(标准) / Worm.Win32.Fujack.A(标准)英文名称:Net-Worm.Win32.Blaster.A(标准)/ Lovesan.A/ Msblast.A。

2301_78858007的博客 8411

ImageNet 存在十万标签错误,你知道吗?

2020-01-07 10:14:57 作者 | L7 编译 | JocelynWang 使用ImageNet、CIFAR、MNIST 或 IMDB 这些数据集时,你是不是会潜意识中假设,这些数据集中的类标签都是正确的? 然而,你可能不知道:ImageNet数据集中至少有十万个标签是存在问题的。 尽管大量的研究都在使用ImageNet,但却没有发现数据集存在如此多的标签错误。原因在于...

喜欢打酱油的老鸟 1552

关于获取CISP-PTE一些避坑经历

考场内是不允许携带外设键盘的,现场会至少有一个360安全专业人员监考.所有人电脑都会提前装一个奇安信的一个考试exe,刚开始的时候会让你连接一个WIFI,我们将会通过WIFI进行做题,做题期间你的电脑将被全程监控并且一些退出快捷键也是全部锁死(有点像勒索病毒那种界面),想要重启必须直接拔电源。中途可以上厕所,需要监考官陪同

6322

标注有错误?教你使用置信学习将样本错误标识出来!

前言 置信学习也叫信心学习(Confident Learning ,CL),它是一个新兴的、原则性的框架,用于识别标签错误、描述标签噪声。 网上对于这个置信学习描述也挺少的,主要有这一篇:《数据集中存在错误标注怎么办? 置信学习帮你解决》。它主要介绍了置信学习是什么,有什么用。总体来讲是翻译了国外的一个博客,这里大致讲述一下其内容,有很多晦涩难懂的。 首先抛出了一个惊人的事实,那就是我们常用的ImageNet 中可能至少有 10 万个标签有问题。这是令人吃惊的,因为我们都会认为标注的标签是正确的。但是,对于

刘炫320的博客 4095

R语言广义加型模型(GAM)的运用例子及实现教程

一旦拟合了广义加型模型,我们可以查看模型摘要和诊断,以评估模型的质量和拟合情况。# 查看模型摘要响应变量:mpg(汽车的燃油效率)拟合函数:mpg ~ s(hp) + s(wt)

Mrrunsen的博客 3446

Cadence 批量一次性修改title 页码标题

本文介绍如何在Cadence软件中对DSN文件进行标题栏的批量编辑操作,包括选择编辑对象、使用快捷键打开属性面板以及如何修改标题、页码等关键信息。

tianpu2320959696的博客 976

置信度--学习笔记

置信度--学习笔记

oneself的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

具有置信度学习的困难感知注意力网络用于医学图像分割

生成器是增强的UNet,判别器是个FCN,传统的判别器只有下采样结构,得到的是分类结果,此处判别器是个编解码器结构,输出的和原分割图大小一样。即:判别器得到的是正确分割每个局部区域的置信度;判别器和生成器之间的不平衡,为了避免这种不平衡,我们在分析了判别器在生成对抗网络中的作用后,将对抗学习放松为置信学习。,在解码器路径( Merkow等2016)中注入3个尺度的深度监督,并提出通道注意力模块,以更好地融合低层和高层的级联信息(胡、申、孙)。X是输入,P是标签,ctaD是置信度网络的参数,S是分那个网络。

weixin_42489272的博客 1455

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

关于置信学习的文献综述

置信学习的核心思想在于使用模型计算的预测概率来定位错误标签。通过评估模型输出与标签之间的置信度,置信学习能够自动检测和校正这些错误。评估标签置信度:根据预测概率计算各个样本置信值。检测错误标签:进一步评估优惠值,标记低置信样本。正确标签或移除废值:对不合理数据进行数据清洗或重新正确化。置信学习使用统计分析方法,如 Z-Score 和 IQR,检测移动偏移过大的样本。该算法适合低维数据,但对高维数据效果有限 (Cheng et al., 2020)。

FontTian的博客 1460

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【读点论文】Confident Learning: Estimating Uncertainty in Dataset Labels将错误的标签找出来,但是能处理定位、回归任务的标签嘛

置信学习的实用性,发现在 ImageNet、Amazon Reviews、MNIST 和其他数据集中存在大量预先存在的标签问题,并通过在清理过的数据集上进行训练来提高深度神经网络等学习模型的性能。**置信学习促使人们进一步了解数据集不确定性估计、清理训练和测试集的方法,以及识别数据集管理的本体和标签问题的方法**。未来的方向包括在更多数据集上验证 CL 方法,例如 OpenML 基准、多模态自我中心通信 (EgoCom) 基准 和现实的噪声标签基准 CNWL ;使用其他非神经网络模型(如随机森林和 XGBo

白水空空 2401

95%置信区间学习笔记

概率论置信区间学习笔记

qq_33169259的博客 1万+

《Confident Learning: Estimating Uncertainty in Dataset Labels》论文讲解

1.参考链接 (1)别让数据坑了你!用置信学习找出错误标注

weixin_42425256的博客 5146

涨分神器 cleanLabel-清洗噪声数据

在实际操作中,因为人员的标注误差,人员理解等不可控因素,标注数据很难有一致性,会默认算法工程师拿到的数据是带噪声的数据。cleanLabel 则可以完成上述的任务,即从整批数据整筛选出噪声数据或者难例数据,首先他是通过模型筛选数据的,模型从哪儿来,基于数据集去训练的,训练后的模型来反过来筛选数据。再将筛选后的数据进行后续模型的训练。上述考虑用k折交叉验证的原因个人理解是,因为对整个数据集做清洗,同时要对数据集训练,有训练的话会划分训练集和验证集,如果只使用做一次训练,则对训练集会过拟合,且对验证集不公平。.

hllyzms的博客 3045

ImageNet验证集6%的标签都是错的,MIT:十大常用数据集没那么靠谱

作者|张倩、小舟来源|机器之心把老虎标成猴子,把青蛙标成猫,把码头标成纸巾……MIT、Amazon 的一项研究表明,ImageNet 等十个主流机器学习数据集的测试集平均错误率高达 3....

Paper weekly 572

置信学习入门<未完成>

1 置信学习提出的背景 在做机器学习模型的时候我们一般认为数据的标签是可信的,而对于那些不可信的数据可能会直接丢弃或者利用类似半监督学习的思想处理。而置信学习反其道行之,通过使用一些策略给出数据原始标签的置信程度,纠正噪音数据的标签之后再进行后续的训练。该概念来自于ICML2020年的一篇论文:Confident Learning: Estimating Uncertainty in Dataset Labels,先列出置信学习框架的优势: 可以发现标注错误的数据 可以直接估计噪声标签与真实标签的联合分布

哆啦A瑶的博客 1531

高光谱(二)Confident Learning-Based Domain Adaptation for Hyperspectral Image Classification

图1右侧,自信学习尝试评估伪标签Y(戴帽),并从中选择自信标签Yc(戴帽),数量为nc。引入SVM分类器来获得目标域样本的预测概率(戴帽)P。**计数矩阵Cy,yt由P和Y得到,计算每个类别中属于这个类的具有足够大概率的样本的数量。**然后,C y,yt经过归一化得到Q y,yt,用来评估伪标签。通过剪枝操作,将伪标签分为可信标签和不可信标签。然后选择具有自信标签的目标样本作为域适应部分的训练数据。

qq_42595295的博客 877
上一篇: 前方高能!2000+开源数据集来袭,注意收藏
下一篇: 80TB!58.5亿!世界第一大规模公开图文数据集LAION-5B 解读
OpenDataLab
博客等级 码龄4年 636粉丝 135原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值