我试图在Xinchuan Zeng 等人的论文An algorithm for Correcting Mislabeled Data (2001) 中理解一种纠正错误标记数据的算法。作者建议使用等式 4 中的公式和等式 5 中的类标签来更新输出类概率向量。
我想知道:
他们是否在训练时更新标签,从第一次反向传播开始?
似乎如果我们在相同的数据上进行训练,然后在相同的数据上预测标签,这将与作者的建议相同。这是有道理的还是我误解了?
我试图在Xinchuan Zeng 等人的论文An algorithm for Correcting Mislabeled Data (2001) 中理解一种纠正错误标记数据的算法。作者建议使用等式 4 中的公式和等式 5 中的类标签来更新输出类概率向量。
我想知道:
他们是否在训练时更新标签,从第一次反向传播开始?
似乎如果我们在相同的数据上进行训练,然后在相同的数据上预测标签,这将与作者的建议相同。这是有道理的还是我误解了?
我认为进行一些平局可能会有所帮助。
下面我尝试绘制模型架构。我们从经典的前馈结构开始:输入由长度为f(特征数)的向量I 、不具有固定大小的隐藏层H和长度为c(类数)的输出O表示。然后我们比平常多了 3 个向量:一个向量U,它们被称为输入(我不得不说有点令人困惑),两个向量V和P代表类概率。所有这些向量的长度都是c。
P是我们想要学习的,每个实例的新类别概率应该纠正初始数据集中错误分类实例的错误标签。因此,从某种意义上说,这项工作的目的不是训练模型进行预测,而是训练模型来清理训练数据集。我认为强调这一点很重要,因为我们谈论的是训练,但训练后实际上没有测试,我们只是以修改后的训练数据集结束,并重新标记了一些实例。重新标记依赖于V而不是 P 的学习(因为我稍后还会说,从V到P的最后一个箭头是恒等函数)。V取决于U也取决于V,这听起来有点令人困惑,技巧依赖于初始化。
在第二张图片中,我只是从论文中复制了一些公式。他们没有具体说明他们是如何获得向量P的,但我将它简单地视为给定的,因为我们需要它通过按元素应用逆 sigmoid 函数来初始化U。我们还需要定义超参数 D,即真实类 V 的初始概率值在初始数据集中。在论文中,他们将其设置为 0.95。使用 D 我们可以初始化向量V。
一旦我们初始化了U和V,我们就有了所有的元素来遍历数据集。
首先要注意的是他们不使用反向传播来更新U,V和P,他们只是定义了一些更新规则(这需要定义一些其他初始参数,和我)。我想再次强调一下,V和P之间的映射只是恒等函数,我猜他们定义它只是为了避免混淆,因为在论文中P显示为输入元素,但同时也是我们想要的输出学习。反向传播仅用于更新H中的权重。
问题的答案:
所以我们最后可以说,关于你的第一个问题,答案是肯定的,他们确实从第一次迭代开始更新类概率向量P,即使不清楚他们如何初始化它们(或从哪里得到它们)。
关于第二个问题,我会说不,这绝对不是训练具有固定标签的模型,然后再次对训练数据集进行预测。关键是相似的训练实例将使用相同的P初始化,并且它们也会产生相似的U和V向量。对于错误分类的实例,由于产生的O不同, U将更新较大的变化。例如,2 的图像将生成与 5 的图像不同的输出,这将首先反映在U上,然后反映在V和P上. 如果使用固定标签进行训练,您只需强制隐藏层中的权重来学习一个以类似方式处理 2 和 5 表示的函数,导致准确性低,因为您会告诉模型“嘿, 5 中的直线对于识别 2" 也很重要。
我不得不说我从来没有读过这种数据集清理方法,但它很有趣,他们的结果表明数据集的清理版本可以带来更好的性能,这很有趣,因为机器学习分析通常会理所当然地给出标签的正确性.
希望这在某些方面有所帮助!