- LawsonAbs 目前的认知与思考,不一定完善和准确,还请各位读者怀批判思维阅读。
- 持续更新~
1.主要步骤
分成三个大步骤,六个小步骤
1.1三大步骤
- count: 估计噪声标签和真实标签的联合分布
- clean:找出并过滤掉错误样本
- re-training:过滤掉错误样本后,重新调整样本类别权重
1.2 六小步骤
1.2.1 预测概率矩阵 psx
如何生成psx?
- 这个就需要针对各自的模型+数据生成一个预测概率矩阵。假如,现在有n个矩阵,m个标签,那么得到的psx 就是一个 n*m 大小的二维矩阵。
- 使用交叉验证
1.2.2 计数矩阵
- 根据 psx 得到 计数矩阵
- 这个计数矩阵是用于生成后面的 标定计数矩阵。
- 怎么得到?
主要就是根据阈值和psx的值,分门别类的将数据累加到矩阵中。
1.2.3 标定计数矩阵
- 根据计数矩阵得到 标定计数矩阵
- 目的是为了让计数总和 与 人工标记的样本总数相同。【为什么要这么做??因为没有达到某个阈值的概率值会被过滤掉,从而导致计数总和 <= 人工标记的样本总数,这个做法的实质就是:根据人工打的标签数,然后同比例放大。】
1.2.4 噪声标签和真实标签的联合概率分布
- 根据 标定计数矩阵得到 噪声标签和真实标签的联合概率分布。【其实就是归一化】
1.2.5 得到联合分布之后,开始执行clean操作。
clean 的method 有5种:
…
这里不再叙述,可以根据文末夕小瑶的链接查看。
1.2.6 re-training 过滤错误样本后,重新训练
过滤掉错误样本后,根据联合分布
Q
y
^
,
y
∗
Q_{\hat{y},y*}
Qy^,y∗, 将每个类别i下的损失权重修正为
Q
y
∗
=
i
Q
y
^
=
i
,
y
∗
=
i
\frac{Q_{y^*=i}}{Q_{\hat{y}=i,y^*=i}}
Qy^=i,y∗=iQy∗=i
针对上述几个步骤,又出现了如下几个问题:
- 01.为什么权重要扩大?
针对这一点,我和师兄讨论的结果是:为了增大正确样本对模型的影响效果,所以将权重扩大了
当然,学习一个新工具的最好方法就是瞅官方文档+源码,但是我建议可以从我的库中【新人建议从cleanlab/examples 中开始学习如何实现】获取我打过注释的代码进行学习,里面有非常丰富的注释,保证你能够看的懂~
3.参考文章