当前位置: 首页 > news >正文

[Machine Learning] Learning with Noisy Labels

文章目录

  • 随机分类噪声 (Random Classification Noise, RCN)
  • 类别依赖的标签噪声 (Class-Dependent Noise, CCN)
    • 二分类
    • 多分类
  • 实例和类别依赖的标签噪声 (Instance and Label-Dependent Noise, ILN)


标签噪声是指分类任务中的标签被错误地标记。这可能是由于各种原因,如数据收集错误、主观偏见或其他噪声源。

在有监督的机器学习中,标签噪声指的是数据集中的标签可能不准确或错误。这种噪声可以分为两种类型:

  1. 类别依赖标签噪声:这种噪声的特点是标签错误的概率仅依赖于真实的类别标签。举个例子,猫的图片可能被错误地标记为狗,而这种错误与图片的具体内容无关。

  2. 实例依赖标签噪声:在这种情况下,标签错误的概率依赖于每个具体的实例。比如,某些猫的图片可能由于其特定的特征(如颜色或姿态)更容易被错误地标记为狗。

风险度量了模型的预测与真实输出之间的差异。

  1. 期望的0-1风险 (Expected 0-1 Risk):

    R D ( f ) = P ( sign ( f ( X ) ) ≠ Y ) = E ( X , Y ) ∼ D [ 1 ( sign ( f ( X ) ) ≠ Y ) ] R_D(f) = P(\text{sign}(f(X)) \neq Y) = \mathbb{E}_{(X,Y) \sim D}[1(\text{sign}(f(X)) \neq Y)] RD(f)=P(sign(f(X))=Y)=E(X,Y)D[1(sign(f(X))=Y)]

    这度量了模型预测错误的概率。例如,对于二分类问题,这表示当模型的预测与真实标签不一致时的期望损失。

  2. 期望的L-风险 (Expected L-Risk):

    R D , L ( f ) = E ( X , Y ) ∼ D [ L ( f ( X ) , Y ) ] R_{D,L}(f) = \mathbb{E}_{(X,Y) \sim D}[L(f(X),Y)] RD,L(f)=E(X,Y)D[L(f(X),Y)]

    这是模型预测和实际标签之间损失函数L的期望值。L可以是任何度量预测错误的函数,例如均方误差、交叉熵等。

  3. 经验风险 (Empirical Risk):

    R D , L , n ( f ) = 1 n ∑ i = 1 n L ( f ( X i ) , Y i ) R_{D,L,n}(f) = \frac{1}{n} \sum_{i=1}^{n} L(f(X_i),Y_i) RD,L,n(f)=n1i=1nL(f(Xi),Yi)

    这代表了在训练集上模型的平均损失。

首先,考虑给定的训练样本集合:

{ ( X i , Y ~ i ) } 1 ≤ i ≤ n ∼ D ρ ( X , Y ~ ) n \{(X_i, \tilde Y_i )\}_{1 \leq i \leq n} \sim D_{\rho} (X, \tilde Y)^n {(Xi,Y~i)}1inDρ(X,Y~)n

这意味着我们有 n n n 个训练样本,每个样本 ( X i , Y ~ i ) (X_i, \tilde Y_i) (Xi,Y~i) 是从带噪声的分布 D ρ ( X , Y ~ ) D_{\rho} (X, \tilde Y) Dρ(X,Y~) 中抽取的。其中 X i X_i Xi 是特征或观察值,而 Y ~ i \tilde Y_i Y~i 是可能带有噪声的观察标签。

我们的目标是学习一个判别函数:

f n : X → R f_n: \mathcal{X} \rightarrow \mathbb{R} fn:XR

对于标签噪声,我们引入以下概率模型:

ρ Y ( X ) = P ( Y ~ ∣ Y , X ) \rho_Y (X) = P(\tilde Y|Y, X) ρY(X)=P(Y~Y,X)

这里, ρ Y ( X ) \rho_Y (X) ρY(X) 描述了给定特征 X X X 和真实标签 Y Y Y 时观察到的噪声标签 Y ~ \tilde Y Y~ 的条件概率。

特别地:

ρ + 1 ( X ) = P ( Y ~ = − 1 ∣ Y = 1 , X ) \rho_{+1} (X) = P(\tilde Y = - 1|Y = 1, X) ρ+1(X)=P(Y~=1∣Y=1,X)

ρ − 1 ( X ) = P ( Y ~ = 1 ∣ Y = − 1 , X ) \rho_{-1} (X) = P(\tilde Y = 1|Y = -1, X) ρ1(X)=P(Y~=1∣Y=1,X)

上面两个式子分别描述了当真实标签为 +1 和 -1 时,标签被错误观察(或翻转)的概率。

如果没有标签噪声,则我们可以很直接地说:

P ( Y ~ = 1 ∣ Y = 1 , X ) = P ( Y ~ = − 1 ∣ Y = − 1 , X ) = 1 P(\tilde Y = 1 |Y = 1, X) = P(\tilde Y = - 1|Y = -1, X) = 1 P(Y~=1∣Y=1,X)=P(Y~=1∣Y=1,X)=1

这意味着观察到的标签和真实标签总是相同的。

但是,如果存在标签噪声,观察到的标签可能与真实标签不同。这种情况下:

P ( Y ~ = 1 ∣ Y = − 1 , X ) , P ( Y ~ = − 1 ∣ Y = 1 , X ) ∈ ( 0 , 1 ) P(\tilde Y = 1|Y = -1, X), P(\tilde Y = - 1|Y = 1, X) \in (0,1) P(Y~=1∣Y=1,X),P(Y~=1∣Y=1,X)(0,1)

这表示,即使真实标签是 -1,观察到的标签为 1 的概率是非零的,并且在 (0,1) 范围内。同样,即使真实标签是 +1,观察到的标签为 -1 的概率也是非零的。

随机分类噪声 (Random Classification Noise, RCN)

这是最简单的噪声模型,其中噪声与观测值 X X X和真实标签 Y Y Y都无关。

ρ Y ( X ) = P ( Y ~ ∣ Y ) = ρ \rho_{Y} (X) = P(\tilde Y|Y) = \rho ρY(X)=P(Y~Y)=ρ

这意味着每个标签翻转的概率都是 ρ \rho ρ

当我们使用线性分类器并且我们的目标是最小化一个凸损失函数时,如果我们的数据包含RCN,那么我们的分类性能可能会很差,类似于随机猜测。这是因为随机噪声可能会掩盖数据的真实模式,导致学习算法无法找到有意义的边界。因此,尽管我们成功地最小化了损失函数,但分类器可能仍然表现得像是在随机猜测。

首先,让我们再次明确什么是RCN。当我们得到一个样本的标签时,这个标签可能是正确的,也可能是错误的。在RCN的情况下,标签错误地翻转的概率是固定的,与特定的样本或样本的特征无关。

当我们训练机器学习模型时,我们使用损失函数来度量模型预测和真实标签之间的差异。在存在RCN的情况下,我们希望我们的损失函数能够抵抗这种噪声的影响,即它是鲁棒的。

对称损失函数是对RCN具有鲁棒性的一种损失函数。这意味着,对于给定的输入值x,损失函数在正类和负类上的损失之和是一个常数。

L ( f ( X ) , + 1 ) + L ( f ( X ) , − 1 ) = C L(f (X), +1) + L (f (X), -1) = C L(f(X),+1)+L(f(X),1)=C

其中 C C C是一个常数, f ( X ) f(X) f(X)是我们的模型预测,而 + 1 +1 +1 − 1 -1 1代表类标签。

这种对称性确保了即使在标签翻转的情况下,损失函数的期望值仍然保持不变。也就是说,损失的期望值与是否存在RCN无关。

所以,我们有:

arg ⁡ min ⁡ f R D , L ( f ) = arg ⁡ min ⁡ f R D ρ , L ( f ) \arg\min_f R_{D,L}(f) = \arg\min_f R_{D_\rho,L}(f) argfminRD,L(f)=argfminRDρ,L(f)

这意味着,对于一个具有对称损失的模型,最小化噪声数据的期望风险与最小化干净数据的期望风险是等价的。

首先,让我们回顾一下风险函数的定义。对于任何函数 f f f,其与损失函数 L L L关联的期望风险可以表示为:

R D , L ( f ) = E ( X , Y ) ∼ D [ L ( f ( X ) , Y ) ] R_{D,L}(f) = \mathbb{E}_{(X,Y) \sim D}[L(f(X),Y)] RD,L(f)=E(X,Y)D[L(f(X),Y)]

对于噪声数据,期望风险是:

R D ρ , L ( f ) = E ( X , Y ~ ) ∼ D ρ [ L ( f ( X ) , Y ~ ) ] R_{D_\rho,L}(f) = \mathbb{E}_{(X,\tilde Y) \sim D_\rho}[L(f(X),\tilde Y)] RDρ,L(f)=E(X,Y~)Dρ[L(f(X),Y~)]

根据我们之前关于对称损失函数的定义,我们知道:

L ( f ( X ) , + 1 ) + L ( f ( X ) , − 1 ) = C L(f (X), +1) + L (f (X), -1) = C L(f(X),+1)+L(f(X),1)=C

为了得到我们的关键等式,我们需要将损失函数与噪声模型结合起来。假设标签被随机翻转的概率是 ρ ρ ρ,那么标签保持不变的概率是 1 − ρ 1−ρ 1ρ

考虑两种情况:

  • 当真实标签 Y = + 1 Y=+1 Y=+1,观测到的标签 Y ~ \tilde Y Y~可以是 + 1 +1 +1 − 1 -1 1
  • 当真实标签 Y = − 1 Y=-1 Y=1,观测到的标签 Y ~ \tilde Y Y~可以是 − 1 -1 1 + 1 +1 +1

将这些考虑到期望风险中,我们可以重写噪声风险为:

R D ρ , L ( f ) = ( 1 − ρ ) E ( X , Y ) ∼ D [ L ( f ( X ) , Y ) ] + ρ E ( X , Y ) ∼ D [ L ( f ( X ) , − Y ) ] R_{D_\rho,L}(f) = (1-\rho) \mathbb{E}_{(X,Y) \sim D}[L(f(X),Y)] + \rho \mathbb{E}_{(X,Y) \sim D}[L(f(X),-Y)] RDρ,L(f)=(1ρ)E(X,Y)D[L(f(X),Y)]+ρE(X,Y)D[L(f(X),Y)]

根据对称损失的定义:

E ( X , Y ) ∼ D [ L ( f ( X ) , − Y ) ] = C − E ( X , Y ) ∼ D [ L ( f ( X ) , Y ) ] = C − R D , L ( f ) \mathbb{E}_{(X,Y) \sim D}[L(f(X),-Y)] = C - \mathbb{E}_{(X,Y) \sim D}[L(f(X),Y)] = C - R_{D,L}(f) E(X,Y)D[L(f(X),Y)]=CE(X,Y)D[L(f(X),Y)]=CRD,L(f)

根据对称损失的定义,最后一项可以进一步化简为:

R D ρ , L ( f ) = ( 1 − ρ ) R D , L ( f ) + ρ C − ρ R D , L ( f ) R_{D_\rho,L}(f) = (1-\rho) R_{D,L}(f) + \rho C - \rho R_{D,L}(f) RDρ,L(f)=(1ρ)RD,L(f)+ρCρRD,L(f)

整理得:

R D ρ , L ( f ) = ( 1 − 2 ρ ) R D , L ( f ) + ρ C = E ( X , Y ~ ) ∼ D ρ [ L ( f ( X ) , Y ~ ) ] R_{D_\rho,L}(f) = (1-2\rho) R_{D,L}(f) + \rho C = \mathbb{E}_{(X,\tilde Y) \sim D_\rho}[L(f(X),\tilde Y)] RDρ,L(f)=(12ρ)RD,L(f)+ρC=E(X,Y~)Dρ[L(f(X),Y~)]

它表示了在RCN下,我们可以通过调整无噪声风险来预测噪声风险。这意味着如果我们选择了正确的损失函数,我们可以对噪声数据进行有效的学习,就好像我们正在使用无噪声数据一样。

现在,如果我们的目标是最小化风险,那么这两种情况下的最小化者应该是一样的,因为它们之间的关系是线性的,即 arg ⁡ min ⁡ f R D , L ( f ) = arg ⁡ min ⁡ f R D ρ , L ( f ) \arg\min_f R_{D,L}(f) = \arg\min_f R_{D_\rho,L}(f) argminfRD,L(f)=argminfRDρ,L(f)

类别依赖的标签噪声 (Class-Dependent Noise, CCN)

在这种情况下,噪声仅与真实标签 Y Y Y有关。

ρ Y ( X ) = P ( Y ~ ∣ Y ) \rho_{Y} (X) = P(\tilde Y|Y) ρY(X)=P(Y~Y)

这意味着不同的类可能有不同的翻转概率。

二分类

在类别依赖的标签噪声中,某个类别的标签被错误地标记成另一个类别的概率是固定的,并且这个错误翻转概率可能对不同类别不同,即正类标签变为负类的概率 ρ + 1 \rho_{+1} ρ+1 和负类标签变为正类的概率 ρ − 1 \rho_{-1} ρ1 是不同的, ρ + 1 ≠ ρ − 1 \rho_{+1} \neq \rho_{-1} ρ+1=ρ1

首先,我们定义翻转率:

ρ Y ( X ) = P ( Y ~ ∣ Y , X ) = P ( Y ~ ∣ Y ) ; ρ + 1 ( X ) = ρ + 1 ; ρ − 1 ( X ) = ρ − 1 \rho_{Y} (X) = P(\tilde Y|Y, X) = P(\tilde Y|Y); \quad \rho_{+1} (X) = \rho_{+1}; \quad \rho_{-1} (X) = \rho_{-1} ρY(X)=P(Y~Y,X)=P(Y~Y);ρ+1(X)=ρ+1;ρ1(X)=ρ1

这里的 ρ Y ( X ) ρ_Y (X) ρY(X) 表示在特征 X X X 和真实标签 Y Y Y 的条件下,观测标签 Y ~ \tilde Y Y~ 发生翻转的概率。在我们的假设中, ρ + 1 \rho_{+1} ρ+1 ρ − 1 \rho_{-1} ρ1 是独立于 X X X的常数,代表正标签变成负标签和负标签变成正标签的概率。

为了处理这种噪声,我们需要调整损失函数 L L L L ~ \tilde L L~,以确保在干净数据 D D D和噪声数据 D ρ D_\rho Dρ上最小化损失函数的模型 f f f是一致的,即修改损失函数 L L L L ~ \tilde L L~,使得 arg min ⁡ f ∈ F R D , L ( f ) = arg min ⁡ f ∈ F R D ρ , L ~ ( f ) \argmin\limits_{f \in \mathcal{F}} R_{D,L} (f) = \argmin\limits_{f \in \mathcal{F}} R_{D_\rho,\tilde L} (f) fFargminRD,L(f)=fFargminRDρ,L~(f)

处理这种噪声的方法包括:重要性重新加权(Importance reweighting)、无偏估计器(unbiased estimator)、成本敏感损失(cost-sensitive loss)和排名修剪(rank pruning)。

当我们把噪声数据和干净数据视为来自两个不同领域的样本时,可以应用重要性重新加权。这种方法的目的是通过赋予噪声数据中每个样本一个权重来模拟在无噪声数据上的训练效果。重要性权重 β ( X , Y ) \beta(X,Y) β(X,Y)是实现这一点的关键。

R D , L ( f ) = E ( X , Y ) ∼ D [ L ( f ( X ) , Y ) ] = ∫ P D ( X , Y ) L ( f ( X ) , Y ) d X d Y = ∫ P D ρ ( X , Y ) P D ( X , Y ) P D ρ ( X , Y ) L ( f ( X ) , Y ) d X d Y = E ( X , Y ) ∼ D ρ [ P D ( X , Y ) P D ρ ( X , Y ) L ( f ( X ) , Y ) ] = E ( X , Y ) ∼ D ρ [ β ( X , Y ) L ( f ( X ) , Y ) ] \begin{align*} R_{D,L}(f) &= \mathbb{E}_{(X,Y) \sim D}[L(f(X),Y)] \\ &= \int P_D(X,Y)L(f(X),Y)dXdY \\ &= \int P_{D_\rho}(X,Y) \frac{P_D(X,Y)}{P_{D_\rho}(X,Y)} L(f(X),Y)dXdY \\ &= \mathbb{E}_{(X,Y) \sim D_\rho}[\frac{P_D(X,Y)}{P_{D_\rho}(X,Y)} L(f(X),Y)] \\ &= \mathbb{E}_{(X,Y) \sim D_\rho}[\beta (X,Y) L(f(X),Y)] \\ \end{align*} RD,L(f)=E(X,Y)D[L(f(X),Y)]=PD(X,Y)L(f(X),Y)dXdY=PDρ(X,Y)PDρ(X,Y)PD(X,Y)L(f(X),Y)dXdY=E(X,Y)Dρ[PDρ(X,Y)PD(X,Y)L(f(X),Y)]=E(X,Y)Dρ[β(X,Y)L(f(X),Y)]

这里 β ( X , Y ) \beta(X,Y) β(X,Y)是一个重新加权因子,用于调整噪声数据的损失权重,使其反映在无噪声数据分布下的期望损失。

回想一下,我们有:

P D ρ ( Y ~ = y ∣ X ~ = x ) = ( 1 − ρ + 1 − ρ − 1 ) P D ( Y = y ∣ X = x ) + ρ − y P_{D_\rho}(\tilde Y = y | \tilde X = x) = (1 - \rho_{+1} - \rho_{-1}) P_{D} (Y = y | X = x) + \rho_{-y} PDρ(Y~=yX~=x)=(1ρ+1ρ1)PD(Y=yX=x)+ρy

这个公式是描述在有噪声的数据分布 D ρ D_\rho Dρ中,给定特征 x x x,观察到标签 Y ~ \tilde Y Y~等于某个类别 y y y的条件概率。这里有两个部分组成:

  • ( 1 − ρ + 1 − ρ − 1 ) P D ( Y = y ∣ X = x ) (1 - \rho_{+1} - \rho_{-1}) P_{D} (Y = y | X = x) (1ρ+1ρ1)PD(Y=yX=x): 这是说,如果我们从干净的数据分布 D D D中取一个样本,它的真实标签是 y y y,并且这个标签没有被噪声影响,那么这个标签就会被正确观察到。这里的 ( 1 − ρ + 1 − ρ − 1 ) (1 - \rho_{+1} - \rho_{-1}) (1ρ+1ρ1)是没有噪声影响的概率。

  • ρ − y \rho_{-y} ρy: 这表示当实际标签不是 y y y时,它被错误地翻转为 y y y的概率。对于二元分类来说,如果 y y y是+1,那么 − y -y y就是-1,这表示 ρ − 1 \rho_{-1} ρ1就是实际为-1的标签被错误翻转为+1的概率;同理,如果 y y y是-1,则 ρ + 1 \rho_{+1} ρ+1是实际为+1的标签被错误翻转为-1的概率。

然后我们可以得出重要性重新加权因子 β ( x , y ) \beta(x,y) β(x,y)

β ( x , y ) = P D ( X = x , Y = y ) P D ρ ( X = x , Y ~ = y ) = P D ( Y = y ∣ X = x ) P D ρ ( Y ~ = y ∣ X = x ) = P D ρ ( Y ~ = y ∣ X = x ) − ρ − y ( 1 − ρ + 1 − ρ − 1 ) P D ρ ( Y ~ = y ∣ X = x ) \beta(x,y) = \frac{P_D(X=x,Y=y)}{P_{D_\rho}(X=x,\tilde Y=y)} = \frac{P_D(Y=y | X=x)}{P_{D_\rho}(\tilde Y=y | X=x)} = \frac{P_{D_\rho}(\tilde Y=y | X=x) - \rho_{-y}}{(1 - \rho_{+1} - \rho_{-1}) P_{D_\rho}(\tilde Y=y | X=x)} β(x,y)=PDρ(X=x,Y~=y)PD(X=x,Y=y)=PDρ(Y~=yX=x)PD(Y=yX=x)=(1ρ+1ρ1)PDρ(Y~=yX=x)PDρ(Y~=yX=x)ρy

如果我们知道翻转率,我们就可以计算 β \beta β的值。

估计噪声率,我们有:

P ( Y ~ = − 1 ∣ X ~ = x + 1 ) = ( 1 − ρ + 1 − ρ − 1 ) P ( Y = − 1 ∣ X = x + 1 ) + ρ + 1 P(\tilde Y = -1 | \tilde X = x_{+1}) = (1 - \rho_{+1} - \rho_{-1}) P (Y = -1 | X = x_{+1}) + \rho_{+1} P(Y~=1∣X~=x+1)=(1ρ+1ρ1)P(Y=1∣X=x+1)+ρ+1

P ( Y ~ = + 1 ∣ X ~ = x − 1 ) = ( 1 − ρ + 1 − ρ − 1 ) P ( Y = + 1 ∣ X = x − 1 ) + ρ − 1 P(\tilde Y = +1 | \tilde X = x_{-1}) = (1 - \rho_{+1} - \rho_{-1}) P (Y = +1 | X = x_{-1}) + \rho_{-1} P(Y~=+1∣X~=x1)=(1ρ+1ρ1)P(Y=+1∣X=x1)+ρ1

我们还假设翻转率很小,即 ρ + 1 + ρ − 1 ≤ 1 \rho_{+1} + \rho_{-1} \leq 1 ρ+1+ρ11

这种情况下,我们可以得到两个不等式:

  1. P ( Y ~ = − 1 ∣ X = x ) ≥ ρ + 1 P(\tilde Y = -1 | X = x) \geq \rho_{+1} P(Y~=1∣X=x)ρ+1:在所有标签为-1的噪声数据中,至少有 ρ + 1 \rho_{+1} ρ+1 的比例是由于正类标签被错误地翻转为负类造成的。因此,噪声负类的概率至少包括了所有被错误翻转的正类标签的比例。

  2. P ( Y ~ = + 1 ∣ X = x ) ≥ ρ − 1 P(\tilde Y = +1 | X = x) \geq \rho_{-1} P(Y~=+1∣X=x)ρ1:在所有标签为+1的噪声数据中,至少有 ρ − 1 \rho_{-1} ρ1 的比例是因为负类标签被错误地翻转为正类。

这里, ρ + 1 \rho_{+1} ρ+1 是真实标签为+1(正类)但被观测为-1(负类)的条件概率,而 ρ − 1 \rho_{-1} ρ1 是真实标签为-1但被观测为+1的条件概率。

至少意味着实际上翻转的概率可能更高,但不会低于我们预设的噪声率( ρ + 1 \rho_{+1} ρ+1 ρ − 1 \rho_{-1} ρ1)。所以当我们观测到一个翻转的标签时,我们可以确定,这个翻转的事件发生的概率不会低于预先设定的噪声率阈值。

举一个具体的例子来说明这一点:

假设我们观察一个正类的样本( Y = + 1 Y=+1 Y=+1),它有 ρ + 1 \rho_{+1} ρ+1 的概率被错误地标记为负类( Y ~ = − 1 \tilde Y=-1 Y~=1)。因此,在所有观察到的负类标签中( Y ~ = − 1 \tilde Y=-1 Y~=1),至少有 ρ + 1 \rho_{+1} ρ+1 的比例原本应该是正类。所以,这就解释了为什么 P ( Y ~ = − 1 ∣ X = x ) ≥ ρ + 1 P(\tilde Y = -1 | X = x) \geq \rho_{+1} P(Y~=1∣X=x)ρ+1

ρ + 1 + ρ − 1 ≤ 1 \rho_{+1} + \rho_{-1} \leq 1 ρ+1+ρ11 这个条件则是确保翻转率的合理性,即错误翻转的概率之和不能超过1,这是因为一个标签要么保持不变,要么翻转一次,不可能出现两次翻转(这在二元分类中意味着标签回到了原来的类别)。这个条件帮助保证了噪声模型的一致性和逻辑上的合理性。

这样的假设允许我们为最小化学习算法的损失函数时设置一个下限,确保模型在面对标签噪声时的鲁棒性。

为了估计翻转率,我们设计如下估计器:

ρ − y = min ⁡ X ∈ X P ( Y ~ = y ∣ X ) \rho_{-y} = \min\limits_{X \in \mathcal{X}} P(\tilde Y = y | X) ρy=XXminP(Y~=yX)

在这个估计器中,我们对于所有的特征空间 X \mathcal{X} X,找到在 X X X下观测到标签 y y y的最小概率,作为翻转率 ρ − y \rho_{-y} ρy的估计。

有了噪声数据,我们可以学习翻转率和噪声类后验概率。其中 β ( x , y ) \beta(x,y) β(x,y)定义为:

β ( x , y ) = P D ( X = x , Y = y ) P D ρ ( X = x , Y ~ = y ) = P D ρ ( Y ~ = y ∣ X = x ) − ρ − y ( 1 − ρ + 1 − ρ − 1 ) P D ρ ( Y ~ = y ∣ X = x ) \beta(x,y) = \frac{P_D(X=x,Y=y)}{P_{D_\rho}(X=x,\tilde Y=y)} = \frac{P_{D_\rho}(\tilde Y=y | X=x) - \rho_{-y}} {(1 - \rho_{+1} - \rho_{-1}) P_{D_\rho}(\tilde Y=y | X=x)} β(x,y)=PDρ(X=x,Y~=y)PD(X=x,Y=y)=(1ρ+1ρ1)PDρ(Y~=yX=x)PDρ(Y~=yX=x)ρy

β ( x , y ) \beta(x,y) β(x,y)是一个调整因子,用于从噪声数据分布调整回干净数据分布。

最后,我们结合原始损失函数,利用大数定律(LLN)来估计噪声数据的期望,从而学习关于干净数据的期望风险:

R D , L ( f ) = E ( X , Y ) ∼ D ρ [ β ( X , Y ) L ( f ( X ) , Y ) ] R_{D,L}(f) = \mathbb{E}_{(X,Y) \sim D_\rho}[\beta (X,Y) L(f(X),Y)] RD,L(f)=E(X,Y)Dρ[β(X,Y)L(f(X),Y)]

这里,我们通过期望风险表达式,将噪声数据下的学习问题转换为在干净数据下的风险最小化问题。因此,尽管我们只能观察到噪声数据,但通过合理估计和调整,我们可以构建一个在干净数据上表现良好的模型。

多分类

在多类分类问题中,每个类别的标签可能以不同的概率被错误地标注为其他类别。这种现象可以通过一个称为转移矩阵(Transition Matrix)的概念来建模,记作 T T T。例如,假设我们有 C C C个类别,转移矩阵 T T T如下所示:

T = [ P ( Y ~ = 1 ∣ Y = 1 ) P ( Y ~ = 1 ∣ Y = 2 ) ⋯ P ( Y ~ = 1 ∣ Y = C ) P ( Y ~ = 2 ∣ Y = 1 ) P ( Y ~ = 2 ∣ Y = 2 ) ⋯ P ( Y ~ = 2 ∣ Y = C ) ⋮ ⋮ ⋱ ⋮ P ( Y ~ = C ∣ Y = 1 ) P ( Y ~ = C ∣ Y = 2 ) ⋯ P ( Y ~ = C ∣ Y = C ) ] T = \begin{bmatrix} P(\tilde Y = 1|Y = 1) & P(\tilde Y = 1|Y = 2) & \cdots & P(\tilde Y = 1|Y = C) \\ P(\tilde Y = 2|Y = 1) & P(\tilde Y = 2|Y = 2) & \cdots & P(\tilde Y = 2|Y = C) \\ \vdots & \vdots & \ddots & \vdots \\ P(\tilde Y = C|Y = 1) & P(\tilde Y = C|Y = 2) & \cdots & P(\tilde Y = C|Y = C) \end{bmatrix} T= P(Y~=1∣Y=1)P(Y~=2∣Y=1)P(Y~=CY=1)P(Y~=1∣Y=2)P(Y~=2∣Y=2)P(Y~=CY=2)P(Y~=1∣Y=C)P(Y~=2∣Y=C)P(Y~=CY=C)

在这个矩阵中,每个元素 P ( Y ~ = j ∣ Y = i ) P(\tilde Y = j|Y = i) P(Y~=jY=i)代表真实类别为 i i i时,被误标为类别 j j j的概率。如果假设矩阵 T T T是已知的,那么可以利用它来从噪声标签中恢复出真实的类别概率。

如果我们假定给定真实标签后,噪声标签独立于实例,即 P ( Y ~ ∣ Y ) = P ( Y ~ ∣ Y , X ) P(\tilde Y|Y) = P(\tilde Y|Y,X) P(Y~Y)=P(Y~Y,X),那么可以通过以下前向变换得到噪声标签的概率分布:

[ P ( Y ~ = 1 ∣ X ) , . . . , P ( Y ~ = C ∣ X ) ] T = T [ P ( Y = 1 ∣ X ) , . . . , P ( Y = C ∣ X ) ] T [P(\tilde Y = 1|X),... , P(\tilde Y = C|X)]^T = T[P(Y = 1|X),... , P(Y = C|X)]^T [P(Y~=1∣X),...,P(Y~=CX)]T=T[P(Y=1∣X),...,P(Y=CX)]T

或者,可以通过以下后向变换从噪声标签的概率分布恢复出真实标签的概率分布:

[ P ( Y = 1 ∣ X ) , . . . , P ( Y = C ∣ X ) ] T = T − 1 [ P ( Y ~ = 1 ∣ X ) , . . . , P ( Y ~ = C ∣ X ) ] T [P(Y = 1|X),... , P(Y = C|X)]^T = T^{-1}[P(\tilde Y = 1|X),... , P(\tilde Y = C|X)]^T [P(Y=1∣X),...,P(Y=CX)]T=T1[P(Y~=1∣X),...,P(Y~=CX)]T

上述等式意味着,我们可以通过使用噪声类后验概率和逆转移矩阵来推断干净的类后验概率。

假设我们使用深度学习来处理分类任务:

在这个情境下,我们通常会有一个深度神经网络来估计 [ P ( Y ~ = 1 ∣ X ) , . . . , P ( Y ~ = C ∣ X ) ] T [P(\tilde Y = 1|X),... , P(\tilde Y = C|X)]^T [P(Y~=1∣X),...,P(Y~=CX)]T,即给定输入 X X X时,每个类别的噪声标签的概率。然后,我们可以应用转移矩阵的逆矩阵 T − 1 来估计 [ P ( Y = 1 ∣ X ) , . . . , P ( Y = C ∣ X ) ] T T^{-1}来估计[P(Y = 1|X),... , P(Y = C|X)]^T T1来估计[P(Y=1∣X),...,P(Y=CX)]T,即真实的类后验概率。

这种方法使得我们可以在噪声标签的存在下,仍然有效地训练深度学习模型,并且能够在推理时更准确地预测真实的类别。这是通过校正模型输出,以反映从噪声数据中学习到的真实类别概率分布,而非直接观察到的噪声分布。

实例和类别依赖的标签噪声 (Instance and Label-Dependent Noise, ILN)

这是最复杂的模型,噪声取决于观测值 X X X和真实标签 Y Y Y

ρ Y ( X ) = P ( Y ~ ∣ Y , X ) \rho_{Y} (X) = P(\tilde Y|Y, X) ρY(X)=P(Y~Y,X)

这意味着噪声可能随观测值的变化而变化。

对于实例和类别依赖的标签噪声,估计每个实例的标签翻转率(即标签从正确变为错误的概率)是一个非常困难的问题:

  1. 数据的复杂性:当噪声不仅仅依赖于类别,而且依赖于实例的特定特征时,需要对每个实例的噪声水平进行建模。这意味着需要估计一个可能与实例的所有特征相关的复杂函数。

  2. 标识问题(Identifiability problem):如果不对噪声过程有一定的先验知识,那么从有噪声的数据中区分出实例的影响和随机噪声的影响是不可能的。换句话说,很难确定是实例的哪些特征导致了标签错误。

  3. 缺乏足够信息:在没有关于噪声过程的额外信息(例如噪声率的上下界或噪声的特定模式)的情况下,仅仅从有噪声的数据中估计每个实例的噪声是不可行的。

因此,对于实例和类别依赖的标签噪声,直接估计翻转率通常是不适定的(ill-posed),因为问题的解可能不存在,可能不唯一,或者解对于数据的微小变化可能极其敏感。为了解决这个问题,研究者们通常会:

  • 采用强假设:比如假设实例依赖的噪声可以通过观察到的数据的一些简单函数来建模。

  • 使用半监督学习或无监督学习的方法:这些方法不完全依赖于标签信息,从而在一定程度上能够抵抗标签噪声的影响。

  • 利用小部分清洗数据:如果有一小部分标签是准确的,那么可以利用这部分数据来校准或估计噪声水平。

  • 设计鲁棒的模型和学习算法:例如,通过修改损失函数或正则化策略来减轻噪声标签的不良影响。

相关文章:

  • LeetCode1518 换水问题
  • 微信小程序上传图片和上传视频的组件失效
  • 1-爬虫-requests模块快速使用,携带请求参数,url 编码和解码,携带请求头,发送post请求,携带cookie,响应对象, 高级用法
  • MySQL主从架构
  • 并发编程(线程基础)
  • Qt 插件开发详解
  • linux 系统 安装vnc
  • gRPC源码剖析-Builder模式
  • 0基础学习PyFlink——事件时间和运行时间的窗口
  • 【二、http】go的http基本请求设置(设置查询参数、定制请求头)get和post类似
  • Java基础之类型(内涵面试题)
  • nodemon : 无法加载文件 C:\Users\XXX\\npm\nodemon.ps1,因为在此系统上禁止运行脚本。
  • 《研发效能(DevOps)工程师》课程简介(三)丨IDCF
  • WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  • 单点登录。
  • 【Leetcode】104. 二叉树的最大深度
  • dva中组件的懒加载
  • JavaScript类型识别
  • js
  • JS变量作用域
  • Lsb图片隐写
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • spring + angular 实现导出excel
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 反思总结然后整装待发
  • 搞机器学习要哪些技能
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 技术:超级实用的电脑小技巧
  • 每天一个设计模式之命令模式
  • 批量截取pdf文件
  • 前端代码风格自动化系列(二)之Commitlint
  • 数组的操作
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 阿里云移动端播放器高级功能介绍
  • (12)目标检测_SSD基于pytorch搭建代码
  • (4)(4.6) Triducer
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (LeetCode) T14. Longest Common Prefix
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (九)信息融合方式简介
  • (全注解开发)学习Spring-MVC的第三天
  • (一)Dubbo快速入门、介绍、使用
  • (已解决)什么是vue导航守卫
  • (转) 深度模型优化性能 调参
  • (转载)OpenStack Hacker养成指南
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .“空心村”成因分析及解决对策122344
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net core控制台应用程序初识
  • .NET Project Open Day(2011.11.13)