首页 › AI产品经理入门 › 【关于 优化算法】那些你不知道的事 › 【关于 对话系统】那些你不知道的事 › 【关于 支持向量机】那些你不知道的事 › 【关于 “脏数据”处理】那些你不知道的事

【关于 “脏数据”处理】那些你不知道的事

​

飞书文档 - 图片

​

一、动机​

1.1 何为“脏数据”?​

在 生产中,我们从 标注人员那边 所得到的数据,可能并不是“干净数据”,而有可能存在 一小部分 “脏数据”。​

•

那么,何为“脏数据”:​

◦

数据标注规范不统一【eg:一开始设定了标注规范,但是标一般之后发现不对,然后修改了规范,但是没有改之前处理的数据,sad!!!】​

◦

标注歧义问题 【eg:同一条数据,可能被标注为不同的标签】​

1.2 “脏数据” 会带来什么后果?​

神经网络的成功通常建立在大量、干净的数据上,标注错误过多必然会影响性能表现。​

二、“脏数据” 处理篇​

2.1 “脏数据” 怎么处理呢?​

•

如何寻找“脏数据”?​

◦

人工清洗? 【眼瞎】​

◦

重标? 【标注人员和平相处五项原则】​

◦

自己改? 【外号 “算法工程师” 的 “标注工程师”】​

•

那有没有好点的方法呢?​

◦

置信学习方法​

◦

...​

2.2 置信学习方法篇​

2.2.1 什么是 置信学习方法?​

•

置信学习方法 其实就是 计算 每一个样本的 标签的置信度,以识别标签错误、表征标签噪声并应用于带噪学习(noisy label learning)。【注:模型找出的置信度低的样本,并不一定就是错误样本,而只是一种不确定估计的选择方法】​

•

举例说明:​

◦

在某些场景下,对训练集通过交叉验证来找出一些可能存在错误标注的样本,然后交给人工去纠正。​

2.2.2 置信学习方法 优点?​

•

发现 “可能错误的样本” 【注:这个只能说是相对的,因为模型找出的置信度低的样本,并不一定就是错误样本,而只是一种不确定估计的选择方法】;​

•

置信学习开源工具 cleanlab​

•

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

•

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

•

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

•

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

2.2.3 置信学习方法 怎么做?​

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

Clean:找出并过滤掉错误样本;​

Re-Training:过滤错误样本后,重新调整样本类别权重,重新训练;​

​

飞书文档 - 图片

​

2.2.4 置信学习方法 怎么用?有什么开源框架?​

•

置信学习开源工具: cleanlab​

•

使用文档:cleanlab 操作手册​

•

使用​

cleanlab在MINIST数据集中找出的错误样本​

​

代码块​

Python

from cleanlab.pruning import get_noise_indices​

# 输入​

# s:噪声标签​

# psx: n x m 的预测概率概率,通过交叉验证获得​

ordered_label_errors = get_noise_indices(​

s=numpy_array_of_noisy_labels,​

psx=numpy_array_of_predicted_probabilities,​

sorted_index_method='normalized_margin', # Orders label errors​

)​

​

找出错误样本后,clean 点,重新训练​

​

代码块​

Plain Text

from cleanlab.classification import LearningWithNoisyLabels​

from sklearn.linear_model import LogisticRegression​

​

# 其实可以封装任意一个你自定义的模型.​

lnl = LearningWithNoisyLabels(clf=LogisticRegression()) ​

lnl.fit(X=X_train_data, s=train_noisy_labels) ​

# 对真实世界进行验证.​

predicted_test_labels = lnl.predict(X_test)​

​

2.2.5 置信学习方法 的工作原理?​

置信学习方法 主要是通过 寻找出 标注数据中的 “脏数据”,然后抛弃掉这些数据后重新训练,也就是直接估计噪声标签和真实标签的联合分布,而不是修复噪声标签或者修改损失权重。​