2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种基于自训练的众包标记噪声纠正算法

杨艺 蒋良孝 李超群

杨艺, 蒋良孝, 李超群. 一种基于自训练的众包标记噪声纠正算法. 自动化学报, 2023, 49(4): 830−844 doi: 10.16383/j.aas.c210051
引用本文: 杨艺, 蒋良孝, 李超群. 一种基于自训练的众包标记噪声纠正算法. 自动化学报, 2023, 49(4): 830−844 doi: 10.16383/j.aas.c210051
Yang Yi, Jiang Liang-Xiao, Li Chao-Qun. A self-training-based label noise correction algorithm for crowdsourcing. Acta Automatica Sinica, 2023, 49(4): 830−844 doi: 10.16383/j.aas.c210051
Citation: Yang Yi, Jiang Liang-Xiao, Li Chao-Qun. A self-training-based label noise correction algorithm for crowdsourcing. Acta Automatica Sinica, 2023, 49(4): 830−844 doi: 10.16383/j.aas.c210051

一种基于自训练的众包标记噪声纠正算法

doi: 10.16383/j.aas.c210051
基金项目: 国家自然科学基金联合基金(U1711267), 中央高校基本科研业务费专项资金(CUGGC03)资助
详细信息
    作者简介:

    杨艺:中国地质大学(武汉)计算机学院硕士研究生. 2018年获得中国地质大学(武汉)计算机学院学士学位. 主要研究方向为机器学习与数据挖掘. E-mail: yangyi@cug.edu.cn

    蒋良孝:中国地质大学(武汉)计算机学院教授. 2009年获得中国地质大学(武汉)地球探测与信息技术博士学位. 主要研究方向为机器学习与数据挖掘. 本文通信作者. E-mail: ljiang@cug.edu.cn

    李超群:中国地质大学(武汉)数学与物理学院副教授. 2012年获得中国地质大学(武汉)地球探测与信息技术博士学位. 主要研究方向为机器学习与数据挖掘. E-mail: chqli@cug.edu.cn

A Self-training-based Label Noise Correction Algorithm for Crowdsourcing

Funds: Supported by National Natural Science Foundation of China (U1711267) and Fundamental Research Funds for the Central Universities (CUGGC03)
More Information
    Author Bio:

    YANG Yi Master student at the School of Computer Science, China University of Geosciences (Wuhan). He received his bachelor degree from China University of Geosciences (Wuhan) in 2018. His research interest covers machine learning and data mining

    JIANG Liang-Xiao Professor at the School of Computer Science, China University of Geosciences (Wuhan). He received his Ph.D. degree in earth prospecting and information technology from China University of Geosciences (Wuhan) in 2009 . His research interest covers machine learning and data mining. Corresponding author of this paper

    LI Chao-Qun Associate professor at the School of Mathematics and Physics, China University of Geosciences (Wuhan). She received her Ph.D. degree in earth prospecting and information technology from China University of Geosciences (Wuhan) in 2012. Her research interest covers machine learning and data mining

  • 摘要: 针对众包标记经过标记集成后仍然存在噪声的问题, 提出了一种基于自训练的众包标记噪声纠正算法(Self-training-based label noise correction, STLNC). STLNC整体分为3个阶段: 第1阶段利用过滤器将带集成标记的众包数据集分为噪声集和干净集. 第2阶段利用加权密度峰值聚类算法构建数据集中低密度实例指向高密度实例的空间结构关系. 第3阶段首先根据发现的空间结构关系设计噪声实例选择策略; 然后利用在干净集上训练的集成分类器对选择的噪声实例按照设计的实例纠正策略进行纠正, 并将纠正后的实例加入到干净集, 再重新训练集成分类器; 重复实例选择与纠正过程直到噪声集中所有的实例被纠正; 最后用最后一轮训练得到的集成分类器对所有实例进行纠正. 在仿真标准数据集和真实众包数据集上的实验结果表明STLNC比其他5种最先进的噪声纠正算法在噪声比和模型质量两个度量指标上表现更优.
  • 随着计算机技术和互联网技术的飞速发展, 当今社会进入了大数据时代, 数据的重要性也变得越来越高. 而与此相关的人工智能领域, 例如目标检测[1]、图像识别[2]和语音识别[3]等, 对数据的需求也在不断提高. 但是, 这些图像和语音类数据需要标注的数据量巨大, 采用传统的专家标注方法已经不能满足需求.

    近年来, 随着AMT (Amazon mechanical turk)、CrowdFlower和Clickworker等众包平台的出现, 众包技术为获取大量数据标记提供了一种经济、高效的方式. 众包学习也因此成为了一个新兴的研究领域. 在众包学习中, 首先通过在线的平台雇佣多个众包工人, 对每个实例进行标注, 获得该实例的多噪声标记集. 然后通过标记集成算法, 从每个实例的多噪声标记集中推理出一个合理的集成标记. 目前, 已经有研究者在标记集成算法的研究上做了大量工作, 例如: MV (Majority voting)算法[4]、ZC (ZenCrowd)算法[5]、MNLDP (Multiple noisy label distribution propagation)算法[6]、M3V (Max-margin majority voting)算法[7]、QS-LFC (Quality-sensitive learning from crowds)算法[8].

    然而, 众包工人在专业知识水平、打标积极性和对评价指标的理解等方面的差异性, 导致数据标注的质量普遍偏低. 因此标记集成算法得到的集成标记中仍然存在一定比例的噪声, 即实例的集成标记与真实标记不一致. 标记噪声的存在会损害数据集的标记质量, 而具有高标记质量的数据集在相关研究和应用技术中又是至关重要的. 所以, 对标记集成后的数据集通过众包标记噪声纠正算法进行纠正从而提高数据集的标记质量具有重要的研究意义.

    为了降低标记噪声的影响, 提高标记集成后的数据集的标记质量, 目前已经有研究者在众包标记噪声纠正方向做了一些工作, 主要可分为3类:

    1)基于监督学习的众包标记噪声纠正算法. Nicholson等[9]提出了适用于众包领域的标记噪声纠正算法PL (Polishing labels). PL算法通过将数据集分成10个子集, 并在每个子集上训练一个分类器, 由生成的10个分类器对每个实例进行分类投票, 最终将得票最高的标记赋予实例. 而Xu等[10]结合重抽样的思想, 提出了一种基于重抽样的众包标记噪声纠正算法(Resampling-based noise correction, RNC). RNC通过在干净集和噪声集上按照比例多次重抽样训练多个分类器, 再用得到的多个分类器对整个数据集进行纠正, 从而提高数据集的标记质量. 除了以上两种众包标记纠正算法, 部分研究者还将研究的重点聚焦于监督学习领域知识和众包数据集信息的不确定性方法, 其中的代表性算法有AVNC (Adaptive voting noise correction)算法[11]、BMNC (Between-class margin-based noise correction)算法[12]以及CENC (Cross-entropy-based noise correction)算法[13]. AVNC算法提出了众包领域的噪声纠正框架, 利用众包服务提供的标记信息, 估计了众包工人的质量, 并进一步评估了数据集中含有噪声的比例. 然后对实例的噪声等级进行了排序, 最终通过集成模型对被认定为噪声的实例进行纠正. BMNC算法则是利用了众包数据集中实例的多噪声标记集信息, 评估每个实例的集成标记的置信程度, 从而更加精准地过滤出噪声实例, 并通过最终得到的干净集训练分类器对噪声实例进行纠正. 而CENC算法同样利用了众包数据集中实例的多噪声标记集, 计算多噪声标记集的信息熵去评估集成标记的置信程度, 然后在得到的干净集上训练多个分类器对噪声集实例进行预测, 进一步利用交叉熵的思想去衡量噪声集中实例标记的真实分布和预测分布的相似度, 从而实现对噪声实例的纠正, 提高数据集的标记质量.

    2)基于无监督学习的众包标记噪声纠正算法. Nicholson等[9]提出了一种基于聚类的众包标记噪声纠正算法CC (Cluster-based correction). 聚类是无监督学习技术, 在噪声处理领域的优势是不依赖实例的类标记. 这种优势的存在使得该方法在性能上往往优于基于监督学习的算法, 但是CC算法在时间效率方面则较差. CC的核心思想是进行多次聚类算法, 在每次聚类执行时, 对每个簇中的实例计算并赋予相同的权重, 权重反映了实例属于不同类别的可能性. 最终根据每个实例的最大权值对实例进行重新标注, 从而提高数据集的标记质量.

    3)基于半监督学习的众包标记噪声纠正算法. Nicholson等[9]提出的STC (Self-training correction)算法则是受自训练过程的启发, 首先用过滤器将数据集分为干净集和噪声集, 然后在干净集上训练分类器用于对噪声集中的实例进行预测打标, 再选取每类中打标置信度最高的噪声实例, 将预测标记赋予实例并加入干净集中, 重复上述步骤直到纠正的噪声实例达到设定的阈值. 通过以上步骤, 该算法提高了数据集的标记质量和模型精度.

    在上文提到的3类众包标记噪声纠正算法中, 基于监督学习的方法训练分类器估计实例的集成标记质量, 并对噪声实例进行纠正; 基于无监督学习的方法不依赖数据集的集成标记, 通过数据的特征估计实例所属某类的权重; 基于半监督学习的方法是将干净集实例作为已标记实例来训练分类器, 对噪声集实例进行重新标注的方法. 在基于半监督学习的方法中, STC算法因为简单有效, 不需要特定的假设条件而被广泛应用. 但通过对STC算法的分析, 本文发现该算法仍然存在3个方面的不足: 1)当用于训练初始分类器的干净集不能很好表示整个数据空间, 难以反映数据的分布时, STC算法得到分类器的效果较差. 从而较多错误纠正的实例加入干净集, 误差的影响在循环中不断扩大, 导致STC算法效果受损; 2)经过过滤得到的干净集仍然存在噪声实例, 而STC算法是在干净集上训练单个分类器用于纠正噪声集, 因此训练的分类器纠正效果不佳; 3) STC算法是基于半监督学习领域的思想, 未充分利用众包数据集所含的标记信息, 难以取得更好的众包标记噪声纠正效果.

    针对STC算法存在的不足, 本文提出了一种基于自训练的众包标记噪声纠正算法(Self-training-based label noise correction, STLNC). 本文同时使用仿真标准数据集和真实众包数据集进行了实证研究, 结果表明在噪声比和模型质量两个度量指标上, STLNC算法比其他五种最先进的标记噪声纠正算法表现更好.

    在一个众包系统中, N个实例由J个工人打标后, 获得了众包数据集$D = \left\{ {\left( {{{\boldsymbol{x}}_i},{L_i}} \right)} \right\}_{i = 1}^N $, 其中$ {L_i} = \left\{ {{l_{ij}}} \right\}_{j = 1}^J$为每个实例的多噪声标记集, $l_{ij} $表示实例${\boldsymbol{x}}_i $由众包工人${u_j}\left( {j = 1,2, \cdots ,J} \right) $给出的标记. 对于二分类问题, $ l_{ij} $属于{+, 0, −}, 其中的值分别表示众包工人对实例打正标, 未给出标记和打负标. 众包数据集$ D$中的每个实例$ {\boldsymbol{x}}_i $在经过标记集成算法推理得到集成标记${\hat y_i} $后, 获得了带有集成标记的众包数据集$ D' = \left\{ {\left( {{{\boldsymbol{x}}_i},{{\hat y}_i}} \right)} \right\}_{i = 1}^N$. 而数据集$ D'$正是众包标记噪声纠正工作的起点.

    上文分析了STC算法的不足, 为了提高STC算法的性能, 本文提出的STLNC算法利用加权密度峰值聚类算法构建数据集中低密度实例指向高密度实例的空间结构关系, 以便更好地指导噪声集实例的选择. 同时, 将STC中的单个分类器替换为集成分类器, 在纠正阶段利用设计的纠正策略对选择的噪声实例进行纠正, 降低了纠正的误差, 提高了数据集的标记质量和模型精度, 整个算法的框架如图1所示.

    图 1  STLNC算法的框架
    Fig. 1  Framework of STLNC

    图1可以看出, STLNC算法工作的起点是带有集成标记的数据集$D' $, 该数据集的集成标记是通过标记集成算法推理获得的. 在获得数据集$ D'$后, STLNC算法可分为3个阶段: 1)噪声过滤; 2)构建空间结构关系; 3)实例选择与纠正. 在噪声过滤阶段, 采用过滤器对$D' $进行过滤, 得到干净集$D_c'$和噪声集$D_n'$; 在构建空间结构关系阶段, 利用加权密度峰值聚类构建数据集中低密度实例指向高密度实例的空间结构关系; 在实例选择与纠正阶段, 根据获得的干净集和噪声集以及空间结构关系设计实例选择策略, 在每次循环中选择最适合纠正的噪声实例. 再利用干净集$D_c'$训练集成分类器$M $, 对选择的噪声实例通过设计的实例纠正策略进行纠正, 然后加入到$D_c'$中. 循环执行实例选择和纠正步骤, 直到所有噪声实例被选择并纠正, 获得最后一轮训练的集成分类器$M'$. 最后采用集成分类器$M'$通过多数投票(Majority voting)的方式对$D'$所有实例进行纠正, 得到最终纠正后的数据集$D_{{\rm{correct}}}'$.

    在整个STLNC算法流程中, 空间结构关系的构建以及实例选择和纠正策略的设计是本算法的关键, 本文将在后续内容中详细介绍.

    1.2.1   构建空间结构关系

    为了解决精确选择噪声实例的问题, 受到Wu等[14]的启发, STLNC算法利用了加权密度峰值聚类算法构建数据集中低密度实例指向高密度实例的空间结构关系, 从而指导噪声实例选择过程.

    密度峰值聚类的主要思想基于以下两点: 1)聚类中心的密度大于其邻居的密度, 也就是被低密度实例围绕; 2)聚类中心与更高密度的实例之间的距离较远, 即簇间距离较大. 对于众包数据集$D^{'} $中每一个实例${{\boldsymbol{x}}_i} $, 它的局部密度$ {\rho _i}$定义为

    $$ {\rho _i} = \sum\limits_{j,j \ne i} {{I} }\left( {{d_{ij}} < {d_c}} \right) $$ (1)

    其中, ${I}\left( \cdot \right)$为指示函数, $ {d_{ij}} < {d_c}$值取1, 否则为0. ${d_{ij}} $为实例$ {{\boldsymbol{x}}_i}$${{\boldsymbol{x}}_j} $之间的距离, 一般为欧氏距离. $ d_c$为截断距离, 具体定义为

    $$ {d_c} = {d_{C_N^2 \times s}} $$ (2)

    其中, ${d_{C_N^2 \times s}} \in [ {{d_1},{d_2}, \cdots ,{d_{C_N^2}}}]$, 该集合包含每对实例之间的距离, 并按照升序排序. ${d_{C_N^2 \times s}}$代表该集合中第${C_N^2 \times s}$个距离, s为原始密度峰值聚类算法给出的经验参数, 本文取值为0.2.

    在获取到局部密度${\rho _i} $之后, 密度峰值聚类算法需要进一步得到实例$ {{\boldsymbol{x}}_i}$${\delta _i} $值, ${\delta _i} $定义为: 1) 对于非最高密度实例${{\boldsymbol{x}}_i} $, 计算实例${{\boldsymbol{x}}_i} $与较高密度最近邻的距离; 2) 对于最高密度实例${{\boldsymbol{x}}_i} $, 计算实例$ {{\boldsymbol{x}}_i}$和最远实例之间的距离. 具体为

    $$ {\delta _i} = \left\{ {\begin{array}{*{20}{l}} {{{\max }_j}\left( {{d_{ij}}} \right),}&{\forall j,\;{\rho _i} \ge {\rho _j}}\\ {{{\min }_{j:{\rho _i} < {\rho _j}}}\left( {{d_{ij}}} \right),}&{其他} \end{array}} \right. $$ (3)

    在计算出所有实例的局部密度$\rho _i $和距离$ \delta _i$之后, 局部密度$\rho _i $和距离$ \delta _i$均相对较大的实例将作为簇的中心, 剩下的实例被归于密度较高的最近邻所属的簇, 从而得到最终的聚类结果.

    在本文中, 为了精确构建众包数据集实例的空间结构关系, 我们将众包数据集的信息引入密度峰值聚类算法的距离计算中. 对于每个众包数据集中的实例, 实例所带有的多噪声标记集以及众包数据集的工人质量是能够反映实例之间相关关系的重要属性. 因此本文在计算实例$ {{\boldsymbol{x}}_i}$$ {{\boldsymbol{x}}_j}$之间的距离${d_{ij}} = dist\left( {{{\boldsymbol{x}}_i},{{\boldsymbol{x}}_j}} \right) $时, STLNC算法通过使用实例的多噪声标记集衡量实例之间的相关关系, 具体定义如下:

    $$ \begin{split} {d_{ij}} = \;&{dist}\left( {{{\boldsymbol{x}}_i},{{\boldsymbol{x}}_j}} \right)=\\ & {w_{ij}}\sqrt {\sum\limits_{k = 1}^K {{{\left( {{x_{ik}} - {x_{jk}}} \right)}^2}} } \end{split} $$ (4)

    其中, $K $是特征维度, ${w_{ij}} $表示工人对实例$ {\boldsymbol{x}}_i$$ {\boldsymbol{x}}_j$的打标相似度. 为了利用实例的多噪声标记集计算实例${\boldsymbol{x}}_i $$ {\boldsymbol{x}}_j$的打标相似度, 首先需要根据实例的噪声标记集${L_i} = \left\{ {{l_{ij}}} \right\}_{j = 1}^J $, 构建每个实例的标记分布, 对二类数据集, 实例具体的标记分布为${{\boldsymbol{P}}_i} = \left\{ {p_i^ + ,p_i^ - } \right\}$, 其中$ {p_i^ + }$代表的是所有工人对实例${{\boldsymbol{x}}_i} $打标为正类的概率, ${p_i^ - } $代表的是所有工人对实例$ {{\boldsymbol{x}}_i}$打标为负类的概率. 具体为

    $$ \left\{\begin{aligned} &p_i^ + = \frac{{Nu{m_i}( + ) + 1}}{{Nu{m_i}( + ) + Nu{m_i}( - ) + 2}}\\ &p_i^ - = \frac{{Nu{m_i}( - ) + 1}}{{Nu{m_i}( + ) + Nu{m_i}( - ) + 2}} \end{aligned}\right. $$ (5)

    其中, ${Nu{m_i}} $(+)为实例${{\boldsymbol{x}}_i} $多噪声标记集中正类标记的数目, $ {Nu{m_i}( - )}$为实例${{\boldsymbol{x}}_i}$多噪声标记集中负类标记的数目. 为了满足后续标记分布之间关系计算的需要, 式(5)使用了拉普拉斯纠正[15]. 在本算法中, 使用标记分布的好处是能够使用数值显式地表示工人打标的分布, 以便精确估计两个实例之间打标的相似程度. 因此在获得每个实例的标记分布之后, 我们采用KL (Kullback-Leibler)散度[16]来计算两个实例标记分布的近似程度, KL散度越小则说明工人对两个实例打标的情况越接近, 因此$ w_{ij}$也越小, 具体为

    $$ \begin{split} {w_{ij}} =\;& \frac{1}{2}\left( {KL\left( {{{\boldsymbol{P}}_i}||{{\boldsymbol{P}}_j}} \right) + KL\left( {{{\boldsymbol{P}}_j}||{{\boldsymbol{P}}_i}} \right)} \right)=\\ &\frac{1}{2}\left( {\sum\limits_{m \in \{ + , - \} } {{p_i}} (m) \cdot \log \frac{{{p_i}(m)}}{{{p_j}(m)}}}+ \right.\\ &\left. { \sum\limits_{m \in \{ + , - \} } {{p_j}} (m) \cdot \log \frac{{{p_j}(m)}}{{{p_i}(m)}}} \right) \end{split} $$ (6)

    其中, ${{p_i}(m)} $表示实例$ {{\boldsymbol{x}}_i}$标记属于$m $类的概率.

    本文在根据实例之间的打标相似度$ w_{ij}$得到$d_{ij} $后, 继续进行密度峰值聚类过程. 直到计算实例的${\delta _i} $值时, 会为每个实例${{\boldsymbol{x}}_i} $找到具有更高密度的最近邻实例$ {{\boldsymbol{x}}_j}$. 根据Wu等[14]的证明, 通过实例${{\boldsymbol{x}}_i} $指向实例${{\boldsymbol{x}}_j} $可以发现整个数据空间的真实结构. 这种由低密度实例${{\boldsymbol{x}}_i} $指向高密度实例${{\boldsymbol{x}}_j} $的空间结构关系不会因为实例的标记改变而发生变化, 是一种稳定的结构关系, 能够指导我们发现密度更高更具有代表性的实例. 因此, 本文执行加权密度峰值聚类步骤计算所有实例的${\delta _i} $, 从而也获得了整个众包数据集的空间结构关系.

    1.2.2   实例选择与纠正策略

    在通过加权密度峰值聚类算法构建数据集中低密度实例指向高密度实例的空间结构关系之后, 本文结合噪声过滤阶段得到的干净集和噪声集, 设计了两种噪声实例选择策略. 首先, 本文定义了两类实例点, 当实例$ {{\boldsymbol{x}}_i}$指向实例${{\boldsymbol{x}}_j} $, 那么定义$ {{\boldsymbol{x}}_i}$${{\boldsymbol{x}}_j} $的“previous”点, $ {{\boldsymbol{x}}_j}$${{\boldsymbol{x}}_i} $的“next”点.

    1) 实例选择策略A: 在整个数据空间中, 搜寻所有“previous”点为干净集实例, “next”点为噪声集实例的实例对, 将每个实例对中的噪声集实例作为纠正的对象;

    2)实例选择策略B: 在整个数据空间中, 搜寻所有“previous”点为噪声集实例, “next”点为干净集实例的实例对, 将每个实例对中的噪声集实例作为纠正的对象.

    在实例选择与纠正阶段, 首先根据实例选择策略A选择噪声实例, 当没有满足条件的噪声实例时, 再使用实例选择策略B选择实例, 直到噪声集实例全部纠正并加入干净集. 根据第1.2.1节的说明, 本文构建空间结构关系目的是为了发现实例之间的真实结构, 指导算法寻找更高密度更具代表性的实例, 从而训练出更加可靠的分类器. 因此本文先执行了实例选择策略A来寻找具有更高密度的噪声实例, 这些高密度噪声实例更具代表性. 将这些高密度噪声实例先进行选择并纠正能够使扩充后的干净集更好的代表整个数据空间, 使训练得到的分类器更加可靠, 提高标记纠正的效果. 在执行完实例选择策略A直到没有满足条件的噪声实例后, 算法将训练得到一个可靠的分类器. 为了进一步扩充干净集, 本文随后执行了实例选择策略B, 对剩余的低密度噪声实例进行选择, 从而完成了整个实例选择的过程.

    解决噪声实例选择的问题后, 剩下的问题就是如何设计实例纠正策略, 提高纠正的准确性. 在STLNC算法中, 为了提高纠正的准确性, 本文将用于标记纠正的单个分类器替换为由3个异质的分类器构成的集成分类器. 同时根据第1.2.1节得到的每个实例的标记分布${{\boldsymbol{P}}_j} $, 计算每个实例多噪声标记集的信息熵值$Entropy\left( {{{\boldsymbol{P}}_i}} \right) $, 从而估计该实例集成标记的置信度$e_i $. 当$e_i $越小时, 说明工人打标的一致性越高, 则集成标记的置信度越高; 反之则集成标记的置信度越低. $ e_i$的具体计算为

    $$ {e_i} = { Entropy }\left( {{{\boldsymbol{P}}_i}} \right)= - \sum\limits_{m \in \{ + , - \} } {{p_i}} (m)\log {p_i}(m) $$ (7)

    其中, ${p_i}(m) $表示实例$ {{\boldsymbol{x}}_i}$标记属于$ m$类的概率.

    本文结合上述集成分类器和众包数据集标记信息, 设计了STLNC的实例纠正策略:

    1)当实例${{\boldsymbol{x}}_i} $的集成标记置信度$e_i $大于设定的阈值$T $, 则说明${{\boldsymbol{x}}_i} $集成标记的质量较低. 当集成分类器对${{\boldsymbol{x}}_i} $进行纠正时, 采用多数投票(Majority voting)的策略对$ {{\boldsymbol{x}}_i}$进行标注.

    2)当实例$ {{\boldsymbol{x}}_i}$的集成标记置信度$ e_i$小于设定的阈值$T $, 则说明${{\boldsymbol{x}}_i} $集成标记的质量较高. 当集成分类器对$ {{\boldsymbol{x}}_i}$进行纠正时, 采用共识投票(Consensus voting)的策略对$ {{\boldsymbol{x}}_i}$进行标注, 即当三个分类器打标结果相同, 则对${{\boldsymbol{x}}_i} $进行纠正, 否则不纠正${{\boldsymbol{x}}_i} $的标记.

    综上所述, 本文提出的STLNC算法的详细步骤如算法1所示.

    算法1. STLNC算法

    输入. 带集成标记的数据集${D'} = \left\{ {\left( {{{\boldsymbol{x}}_i},{{\hat y}_i}} \right)} \right\}_{i = 1}^N$, 实例集成标记置信度阈值$ T$.

    输出. 纠正后的干净数据集$D_{{\rm{correct}}}'$.

    应用CF过滤器过滤数据集${D'}$, 将${D'}$分为干净集$D_c'$ 和噪声集$D_n'$;

    for $i = 1\;{\rm{to}}\;{\rm{sizeof}}\left( {{D'}} \right)$ do

    根据实例$i $的多噪声标记集$L_i $, 获得$i $的标记分布$ {{\boldsymbol{P}}_i}$;

    end for

    for $i = 1\;{\rm{to}}\;{\rm{sizeof}}\left( {{D'}} \right)$ do

    for $j = 1\;{\rm{to}}\;{\rm{sizeof}}\left( {D'} \right)\;\& \& \;i! = j $ do

    计算实例$ i$$j $之间的$w_{ij} $;

    根据$ w_{ij} $, 计算实例$i $$j $的距离$d_{ij} $;

    end for

    根据$d_{ij} $计算实例$i $的局部密度$ {\rho _i}$;

    根据$d_{ij} $$ {\rho _i}$计算实例$ i$$ {\delta _i}$值;

    end for

    获取带有指向关系的实例对集合 ${D_{{\rm{couple}}}} =\{ \left( previou{s_i}, nex{t_i} \right) \}_{i = 1}^U$;

    count = 1;

    while $count > 0\;\& \& \;{\rm{sizeof}}\left( {D_n'} \right)> 0$ do

    count = 0;

    $D_c'$上训练集成分类器$ M$;

    for $i = 1\;{\rm{to}}\;{\rm{sizeof}}\left( {{D_{{\rm{couple}}}}} \right)$ do

    if $previou{s_i} \in D_c'\;\& \& \;nex{t_i} \in D_n'$

    通过集成分类器$ M$对实例$nex{t_i} $按照实例纠 正策略进行纠正, 并加入干净集$D_c'$;

    count++;

    end if

    end for

    根据新的干净集和噪声集更新$ {D_{{\rm{couple}}}}$;

    end while

    count = 1;

    while $count > 0\;\& \& \;{\rm{sizeof}}\left( {D_n'} \right)> 0$ do

    count = 0;

    $D_c'$上训练集成分类器$M $;

    for $i = 1\;{\rm{to}}\;{\rm{sizeof}}\left( {{D_{couple}}} \right) $ do

    if $previou{s_i} \in D_n'\;\& \& \;nex{t_i} \in D_c'$

    通过集成分类器$ M$对实例$previou{s_i} $按照实例 纠正策略进行纠正, 并加入干净集$D_c'$;

    count++;

    end if

    end for

    根据新的干净集和噪声集更新${D_{{\rm{couple}}}} $;

    end while

    获得最后一轮循环训练的集成分类器$M'$;

    $M'$$D'$中所有实例进行纠正, 得到$D_{{\rm{correct}}}'$;

    return $D_{{\rm{correct}}}'$.

    在本节中$, $ 为了验证提出的STLNC算法的有效性, 本文在仿真标准数据集和真实众包数据集上进行了实验. 将STLNC算法与目前5种最先进的众包标记噪声纠正算法PL[9]、STC[9]、CC[9]、AVNC[11]和CENC[13]在纠正后数据集噪声比以及训练模型的模型质量两个度量指标上进行了比较. 其中, 数据集噪声比(Noise ratio)定义为经过算法纠正后的众包数据集中集成标记与真实标记不同的实例所占整个数据集的百分比. 模型质量(Model quality)定义为在纠正后的众包数据集上训练的目标分类模型的测试精度.

    利用CEKA (Crowd environment and its knowledge analysis)平台[17], 本文实现了STLNC算法和CENC算法, 同时使用了该平台现有的MV、PL、STC、CC和AVNC算法和WEKA (Waikato environment for knowledge analysis)平台[18]上现有的K-means算法、C4.5算法、KNN (K-nearest neighbor)算法和LR (Logistic regression)算法. 6种众包标记噪声纠正算法在实验中设置如下:

    1) PL: PL算法使用的基分类器为C4.5;

    2) STC: STC算法使用的基分类器为C4.5, 使用的过滤器为CF (Classification filter)过滤器[19], 需要被纠正的噪声实例比例设置为0.8;

    3) CC: CC算法使用的聚类方法为K-means聚类算法, 该算法执行次数设置为10次, 而簇中心的个数设置为2到数据集实例个数的一半;

    4) AVNC: AVNC算法使用的基分类器为C4.5, 数据集分割为大小相同子集的个数设置为10个, 训练的分类器个数设置为5;

    5) CENC: CENC算法使用的基分类器为C4.5, 训练的分类器个数设置为10个, 而实例的多噪声标记集的信息熵阈值$ T$设置为0.1;

    6) STLNC: STLNC算法使用的集成分类器由C4.5、KNN $(K = 3)$ 和LR构成, 使用的过滤器为CF过滤器, 截断距离$d_c $s的值设置为0.2, 实例的多噪声标记集信息熵阈值$T $设置为0.1.

    其中, CF过滤器将整个数据集分割为10个大小相同的子集, 而且所使用的基分类器同样为C4.5.

    为了验证STLNC在不同工人质量和数据特征下的有效性, 本文使用了22个二分类标准数据集由仿真实验模拟不同专业水平的工人进行打标, 数据信息具体如表1所示, 其中“#Ins”表示数据集实例的数量, “#Att”表示数据集实例的属性维度, “#Pos”表示标记为正的实例数量, “#Neg”表示标记为负的实例数量. 为了模拟众包过程为每个实例获取多噪声标记集, 对使用的数据集隐藏了实例的真实标记, 同时模拟了9个工人对每个实例打标的过程, 其中每个工人的打标质量为${p_j}\;( j = 1,2, \cdots , 9)$. 这代表着每个工人有$ p_j$的概率给实例打正确标记, $1-p_j $的概率打错误标记. 值得注意的是, 数据集中的正例和负例均有$p_j $概率被正确标记, $ 1-p_j$概率被错误标记.

    表 1  22个仿真标准数据集详细描述
    Table 1  Description of 22 simulated benchmark datasets
    数据集#Ins#Att#Pos#Neg
    biodeg105541356699
    breast-cancer268985201
    breast-w69910241458
    credit-a69016383307
    credit-g100021300700
    diabetes7688268500
    heart-statlog2701412032
    hepatitis1552012332
    horse-colic36822232136
    ionosphere35135225126
    kr-vs-kp31963715271669
    labor57163720
    mushroom81242339164208
    sick3772302313541
    sonar2086111197
    spambase4601578132788
    tic-tac-toe95810332626
    vote43517168267
    climate5402049446
    colic36822136232
    monks4326228204
    steel-plates-faults1941336731268
    下载: 导出CSV 
    | 显示表格

    为了保证在不同工人质量下实验结果的可靠性, 我们设置了两种工人质量的方案:

    1)在第1个系列的实验中, 所有工人的打标质量设置为0.6, 即$ p_j=0.6$;

    2)在第2个系列的实验中, 所有工人的打标质量由均匀分布的区间$\left[ {0.55,0.75} \right] $随机生成, 即${p_j}\in \left[ {0.55,0.75} \right] $.

    在为每个实例获得9个带有噪声的众包标记之后, 本文使用最经典的标记集成算法MV获取每个实例的集成标记, 并将该算法处理后的数据集噪声比和训练模型质量作为基线. 然后, 使用6种不同的众包标记噪声纠正算法对带有集成标记的众包数据集中的噪声实例进行识别并纠正, 目标分类模型将在纠正后的数据集上进行训练. 最后, 本文将评估每个数据集上各种众包标记噪声纠正算法纠正后的噪声比以及训练模型质量. 值得注意的是, 与评估数据集的噪声比不同, 我们在评估训练模型质量的时候采用了10折交叉的验证方法, 特别是在同一个数据集上运行不同算法的时候用了相同的训练集以及测试集.

    表2表3详细展示了在工人质量$p_j=0.6 $的情况下各个算法在不同数据集上的实验结果. 根据表2中的纠正后的数据集中的噪声比以及表3中的模型质量, 本文采用了威尔科克森(Wilcoxon)符号秩检验[20-21]来比较实验用到的每一对标记噪声纠正算法. 表4表5分别展示了每组实验的威尔科克森符号秩检验的比较结果. 其中符号“•”代表该行中的算法明显优于对应列中的算法, 符号“$\circ$”代表该列中的算法明显优于对应行中的算法. 表中, 主对角线以下区域的显著性水平为$ \alpha = 0.05$; 而主对角线以上区域的显著性水平$ \alpha = 0.1$.

    表 2  工人质量0.6时的噪声比对比结果 (%)
    Table 2  Noise ratio comparisons with pj = 0.6 (%)
    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg28.2529.9528.3419.5318.4821.9015.83
    breast-cancer27.6226.9225.8731.1226.5729.3724.84
    breast-w28.769.0119.3110.309.168.447.30
    credit-a26.6720.0015.9418.8413.0413.3312.90
    credit-g26.6027.4028.4026.6025.3027.5026.40
    diabetes26.6932.2926.5626.9523.7023.9622.79
    heart-statlog25.1919.2623.7022.9624.0725.9318.52
    hepatitis30.3219.3526.4520.6527.7425.1630.97
    horse-colic27.7232.3417.3921.2017.6614.1314.13
    ionosphere27.9216.2421.659.1210.8313.3911.68
    kr-vs-kp27.3821.9610.4519.342.192.852.28
    labor31.5824.5624.5615.7912.2831.587.02
    mushroom26.7112.656.434.300.040.100
    sick27.602.608.8310.311.782.283.37
    sonar26.9231.7329.3324.0425.0024.5218.75
    spambase27.0227.4719.5014.789.1110.568.06
    tic-tac-toe26.2034.1323.0724.4322.4422.2314.61
    vote25.984.6010.3411.263.914.144.14
    climate27.418.5227.4114.078.528.528.52
    colic27.4522.2820.9223.1014.1314.9513.59
    monks26.3925.0011.3421.765.326.712.78
    steel-plates-faults27.5134.989.2218.7000.100.15
    平均值27.4521.9719.7718.6013.6915.0812.21
    下载: 导出CSV 
    | 显示表格
    表 3  工人质量0.6时的模型质量对比结果(%)
    Table 3  Model quality comparisons with pj = 0.6 (%)
    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg71.3775.9172.1378.7774.3474.2178.29
    breast-cancer67.0071.2869.9869.0870.9268.1369.73
    breast-w92.8592.4790.6893.3894.0092.8595.54
    credit-a82.0384.7884.4984.7883.9183.0483.48
    credit-g62.2068.3067.4069.7067.3063.9070.40
    diabetes71.7470.5671.5070.8071.7272.1274.00
    heart-statlog65.5674.8167.7870.0074.0769.2678.15
    hepatitis69.0077.6771.3377.5072.0070.1774.17
    horse-colic77.4278.1180.0080.1581.6281.3682.35
    ionosphere83.4885.4586.9085.1985.7784.0485.76
    kr-vs-kp95.1895.4996.6290.2996.8196.5997.03
    labor70.6761.8373.5068.3368.3372.3376.33
    mushroom99.8598.5699.8899.9099.9099.8699.83
    sick96.7494.6296.9894.4897.7797.7597.11
    sonar58.9355.5750.0758.2955.0059.1458.29
    spambase85.9288.8787.4484.2089.6888.9890.39
    tic-tac-toe77.1769.7474.5471.6374.6374.6378.36
    vote89.8995.3794.2190.5994.2193.9894.21
    climate91.4891.4891.4891.4891.4891.4891.48
    colic79.9781.0981.0982.4781.0982.4781.09
    monks90.7590.7393.5183.3593.5193.5193.28
    steel-plates-faults100.0089.64100.0092.01100.00100.00100.00
    平均值80.8781.4781.8981.2082.6482.2684.06
    下载: 导出CSV 
    | 显示表格
    表 4  工人质量0.6时的噪声比的威尔科克森测试结果
    Table 4  Noise ratio summary of Wilcoxon tests with pj = 0.6
    MVPLSTCCCAVNCCENCSTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV 
    | 显示表格
    表 5  工人质量0.6时的模型质量的威尔科克森测试结果
    Table 5  Model quality summary of Wilcoxon tests with pj = 0.6
    MVPLSTCCCAVNCCENCTTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV 
    | 显示表格

    表2 ~ 5给出了第1个系列实验的详细对比, 验证了STLNC算法在提高数据集标记质量和模型质量上的有效性. 具体结论如下:

    1) STLNC算法纠正后的数据集的平均噪声比为12.21%, 低于MV (27.45%)、PL (21.97%)、STC (19.77%)、CC (18.60%)、AVNC (13.69%)和CENC (15.08%).

    2) STLNC算法纠正后的数据集训练的目标模型的平均模型质量为84.06%, 高于MV (80.87%)、PL (81.47%)、STC (81.89%)、CC (81.20%)、AVNC (82.64%)和CENC (82.26%).

    3) 根据威尔科克森符号秩检验的结果, STLNC算法在噪声比和模型质量两个指标上都要显著优于对比的众包标记噪声纠正算法.

    在第2个系列实验中, 表6 ~ 9详细展示了在工人质量${p_j} \in \left[ {0.55,0.75} \right] $的情况下各个众包标记噪声纠正算法在纠正后数据集噪声比和模型质量上的实验结果, 以及威尔科克森符号秩检验中的算法差异显著性的对比结果. 根据表6表7中的实验结果, 在数据集的噪声比和模型质量两个度量指标上, STLNC算法的效果都是最好的. 同时, 根据表8表9中的威尔科克森符号秩检验的结果, STLNC算法在纠正后数据集的噪声比上显著优于对比算法MV、PL、STC、CC, 与AVNC、CENC算法性能相当. 而在模型质量上显著优于对比算法MV、PL、STC、CC、CENC, 与AVNC算法性能相当.

    表 6  工人质量[0.55, 0.75]时的噪声比对比结果 (%)
    Table 6  Noise ratio comparisons with pj ∈ [0.55, 0.75] (%)
    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg14.2221.1416.0213.8413.4613.0812.89
    breast-cancer16.4326.2220.9819.9323.4324.8324.48
    breast-w20.463.7210.014.154.154.433.72
    credit-a18.4120.5814.9313.6213.7713.0412.17
    credit-g17.7029.6022.7022.9021.6022.3024.60
    diabetes20.1822.6624.0922.2723.4422.6623.44
    heart-statlog16.3020.3715.1920.0016.6716.6718.52
    hepatitis12.2620.6514.1914.8416.7712.9012.26
    horse-colic17.6615.4913.8618.7514.6714.1315.22
    ionosphere17.3818.8013.689.6911.1110.8313.96
    kr-vs-kp17.4325.195.6011.551.311.882.44
    labor17.5429.8217.5412.2821.0521.0514.04
    mushroom18.074.944.841.670.100.110
    sick13.941.784.983.761.461.542.04
    sonar15.3837.5021.6325.9619.2322.6020.67
    spambase19.3237.5415.119.047.007.046.67
    tic-tac-toe20.6727.4519.3117.5415.7614.416.47
    vote22.076.9010.578.974.374.834.60
    climate22.968.5222.9610.748.528.528.52
    colic16.5819.5715.4917.9315.2214.4015.49
    monks17.1312.737.1823.382.784.862.78
    steel-plates-faults22.4634.837.3215.920.260.260.21
    平均值17.9320.2714.4614.4911.6411.6511.15
    下载: 导出CSV 
    | 显示表格
    表 7  工人质量[0.55, 0.75]时的模型质量对比结果 (%)
    Table 7  Model quality comparisons with pj ∈ [0.55, 0.75] (%)
    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg74.5881.8776.3679.9981.5980.2581.78
    breast-cancer69.4371.8169.5070.2771.2871.6471.64
    breast-w90.7694.5491.1094.3493.8592.4094.69
    credit-a82.1785.3684.7885.6585.6584.6484.93
    credit-g69.5069.8070.5069.6071.1069.0072.00
    diabetes71.6774.4471.1574.2173.1372.8774.56
    heart-statlog70.0078.8976.3075.9379.6378.5280.37
    hepatitis76.1779.1777.3380.5076.8377.8379.00
    horse-colic82.5080.3581.5782.6383.5183.0182.68
    ionosphere80.6283.4882.3388.0387.7386.9084.07
    kr-vs-kp97.9495.3497.6692.8698.2898.0098.06
    labor78.3368.1778.3364.3377.1777.1784.33
    mushroom99.9998.5299.9599.96100.00100.0099.95
    sick97.7296.9597.4895.4797.6497.8397.14
    sonar63.7968.9367.1470.3669.2969.5070.86
    spambase86.6588.8788.0784.8390.3788.9690.76
    tic-tac-toe77.8373.0077.5876.3077.8976.8580.08
    vote93.3593.7994.9892.6895.2495.0094.77
    climate91.4891.4891.4891.4891.4891.4891.48
    colic83.7477.9084.1979.1782.5382.6381.84
    monks98.3785.2198.6088.16100.00100.00100.00
    steel-plates-faults99.90100.00100.0099.69100.00100.00100.00
    平均值83.4883.5484.3883.4785.6585.2086.14
    下载: 导出CSV 
    | 显示表格
    表 8  工人质量[0.55, 0.75]时的噪声比的威尔科克森测试结果
    Table 8  Noise ratio summary of Wilcoxon tests with pj ∈ [0.55, 0.75]
    MVPLSTCCCAVNCCENCSTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV 
    | 显示表格
    表 9  工人质量[0.55, 0.75]时的模型质量的威尔科克森测试结果
    Table 9  Model quality summary of Wilcoxon tests with pj ∈ [0.55, 0.75]
    MVPLSTCCCAVNCCENCSTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV 
    | 显示表格

    根据上述两个系列的实验结果, 在不同的工人质量下的仿真数据集上都验证了本文提出的STLNC算法在提高数据集的标记质量和模型质量上的有效性, 并且STLNC算法在两个评估指标上都整体优于对比的5个众包标记噪声纠正算法.

    为了分析实例的多噪声标记集信息熵阈值$ T$的取值对STLNC算法的影响, 同时节省版面和避免重复, 本文随机选择了仿真数据集“ionosphere”在工人质量0.6的情况下进行实验, 同时使用了相同的过滤器CF保证每轮实验的干净集和噪声集相同. 最后评估了在不同$ T$值的情况下STLNC算法在纠正后数据集上噪声比的情况.

    在本文中设置$T $值的目的是协助实例纠正策略, 防止集成标记质量高的实例被实例纠正策略给错误纠正. 从图2可以看出, 随着$ T$值的变化, 噪声比呈现梯度上升, 从而验证了本文设置$T $值的想法, $T $值的取值范围为0.1 ~ 0.5, 为了精确筛选高标记质量实例, 本文设置$T$为较小值0.1.

    图 2  不同T值的STLNC在ionosphere数据集上的噪声比结果
    Fig. 2  Noise ratio of STLNC with different T values on ionosphere dataset

    为了进一步验证STLNC算法的有效性, 本文使用CEKA平台自带的真实众包数据集Leaves和文献[22]中使用的真实众包数据集LabelMe进行实验. 同时, 在真实众包数据集上的实验, 本文还针对STLNC算法过滤阶段过滤器的选取进行了讨论. 最后, 针对STLNC中构建空间结构关系阶段和实例选择与纠正阶段进行了消融实验.

    Leaves数据集包含384个带有63维特征的实例. 每个实例都是一张树叶图片, 由众包工人根据树叶的特征进行标注, 因此Leaves数据集中每个实例都带有多个含噪声的标记. 而LabelMe数据集则是包含1000个带有200维特征的实例. 每个实例都是一张拍摄的图像, 同样发布在AMT平台上, 由不同众包工人进行标注.

    本文从Leaves和LabelMe中提取了8个只包含二类的数据集, 这8个数据集分别记为Leaves1, Leaves2, Leaves3, Leaves4, LabelMe1, LabelMe2, LabelMe3和LabelMe4, 这些数据集的具体细节如表10所示. 例如: “LabelMe1”的目标是判断实例为高速公路还是街道的图片. 该数据集中包含199个实例, 其中89个为正例(高速公路), 110个为负例(街道). 为获得每个实例的多噪声标记集, 共有50个众包工人标注了395个标记. 需要注意的是, 在本文的实验中, 针对LabelMe数据集, 首先使用文献[23]中图像处理的方法将图像数据转换为文本词向量, 然后通过文本分类器对数据集进行训练和预测. 其中, 使用MNB (Multinomial naive Bayes)算法[24]作为PL、STC、CC、AVNC和CENC的基分类器, 而STLNC的基分类器则替换为MNB、CNB (Complement naive Bayes)[25]和OVA (One-versus-all-but-one)[25].

    表 10  8个真实众包数据的详细描述
    Table 10  Description of eight real-world crowdsourced datasets
    数据集分类任务#Instances#Positives#Negatives#Labelers#Labels
    Leaves1maple/alder1429646701093
    Leaves2maple/tilia1409644741044
    Leaves3alder/eucalyptus93464758407
    Leaves4alder/poplar89464354400
    LabelMe1highway/street1998911050395
    LabelMe2highway/forest2278913854476
    LabelMe3highway/opencountry2408915154375
    LabelMe4highway/insidecity2058911649339
    下载: 导出CSV 
    | 显示表格

    图3 ~ 6分别展示了各个算法在8个真实众包数据集上纠正后的噪声比和模型质量的详细对比结果. 从对比结果可以看出: 在Leaves数据集上, STLNC算法的效果整体优于MV、PL、STC、CC、AVNC以及CENC算法, 而在LabelMe数据集上, STLNC算法的优势更加显著. 因此, 通过上述实验的比较, STLNC同时提高了数据集的标记质量和模型质量, 验证了该算法在真实众包场景的有效性.

    图 3  Leaves数据集上的噪声比对比结果
    Fig. 3  Noise ratio comparisons on Leaves datasets
    图 4  Leaves数据集上的模型质量结果对比结果
    Fig. 4  Model quality comparisons on Leaves datasets
    图 5  LabelMe数据集上的噪声比对比结果
    Fig. 5  Noise ratio comparisons on LabelMe datasets
    图 6  LabelMe数据集上的模型质量对比结果
    Fig. 6  Model quality comparisons on LabelMe datasets

    为了分析过滤器的选取对STLNC算法的影响, 本文选取了传统机器学习领域经典的噪声过滤器CF、IPF (Iterative partitioning filtering)[26]和MVF (Majority vote filter)[27], 三个过滤器具体描述如下:

    1) CF: CF的思想是将整个数据集分为大小相等的$n $个子集, 对于其中的每一个子集, 都将剩余的$n-1 $个子集合并作为基分类器的训练集并进行训练, 然后对该子集中的实例进行预测, 若预测标记和集成标记不同, 则该实例为噪声, 并从整个数据集中去除. 上述步骤重复$n $次, 直到整个数据集的实例被预测. 在本实验中CF的$n $值设置为10, 基分类器使用MNB.

    2) IPF: IPF的思想将整个数据集分为大小相等的$n $个子集, 在每个子集上训练一个分类器来对数据集中每个实例进行预测, 再根据投票策略判断实例是否为噪声, 如果是则移出数据集. 执行上述的步骤直到筛选出的噪声实例的比例小于阈值时停止. 在本实验中IPF的$n $为5, 阈值为0.01, 投票策略为多数投票, 所使用的基分类器为MNB.

    3) MVF: MVF的思想是将整个数据集分为大小相等的$n $个子集, 对于其中的每一个子集, 都将剩余的$n-1 $个子集合并作为$ m$个基分类器的训练集并进行训练, 然后对该子集中的实例进行预测, 再根据多数投票的策略判断该实例是否为噪声. 上述步骤重复$n $次, 直到整个数据集的实例被预测. 在本实验中MVF的$n $值设置为10, $m $值设置为3, 所使用的基分类器为MNB、CNB和OVA.

    根据以上噪声过滤器设置, 本文随机选取了真实众包数据集LabelMe4进行了实验, 并评估了使用不同过滤器的STLNC在纠正后的数据集上的噪声比和训练模型质量.

    图7(a)图7(b)分别展示了使用各个过滤器的STLNC算法在LabelMe4上的噪声比和模型质量的详细对比结果. 从对比结果可以看出: 使用CF、IPF和MVF过滤器的STLNC在噪声比和模型质量上结果相似. 由此分析可得, STLNC在选用不同过滤器时表现稳定, 对算法性能影响不大.

    图 7  STLNC基于不同过滤器在LabelMe4数据集上的实验结果
    Fig. 7  Experimental results of STLNC with different filters on LabelMe4 dataset

    在第2节中, 本文介绍了在构建空间结构关系阶段和实例选择与纠正阶段的主要改进为: 1)使用众包数据信息对密度峰值聚类进行加权, 构建空间结构关系; 2)使用集成分类器, 同时设计实例选择和纠正策略. 为了详细说明STLNC算法的这两个核心阶段的重要性, 本文还在LabelMe4上进行了消融实验. 消融实验对比算法说明如下:

    1) STLNC-(1): 表示该算法与STLNC相比, 未使用加权的密度峰值聚类构建空间结构关系, 只使用原始的密度峰值聚类算法.

    2) STLNC-(2): 表示该算法与STLNC相比, 未使用集成分类器和实例选择与纠正策略. 只使用单个分类器MNB对噪声实例进行预测, 将预测后的标记就作为纠正的结果.

    3) STLNC-(1)(2): 表示该算法与STLNC相比, 未使用加权的密度峰值聚类构建空间结构关系以及未使用集成分类器和实例选择与纠正策略. 只使用原始的密度峰值聚类算法构建空间结构关系, 使用了单个分类器MNB对噪声实例进行预测, 将预测后的标记就作为纠正的结果.

    图8(a)图8(b)中可以看出, STLNC算法在纠正后数据集上的噪声比和训练的模型质量表现最好, STLNC-(1)和STLNC-(2)算法表现其次, STLNC-(1)(2)的算法效果最差. 从而可以得出结论: STLNC中两个核心阶段的改进均能提高STLNC算法的性能.

    图 8  STLNC在LabelMe4数据集上的消融实验结果
    Fig. 8  Results of STLNC ablation experiment on LabelMe4 dataset

    本文针对众包数据集经过标记集成后仍然存在标记噪声问题, 提出了一种基于自训练的众包标记噪声纠正算法STLNC. 主要创新包括: 1) 在构建空间结构关系阶段, 本文将实例的多噪声标记集转化为标记分布, 根据标记分布信息改进了密度峰值聚类算法, 从而精确地构建数据集中低密度实例指向高密度实例的空间结构关系; 2) 在实例选择与纠正阶段, 根据构建的空间结构关系, 设计了噪声实例选择策略, 同时引入集成学习的思想和标记置信度计算, 设计了新的实例纠正策略, 提高了纠正的准确性.

    根据在22个仿真的标准数据集以及8个真实的众包数据集上的实验结果, STLNC与PL、STC、CC、AVNC、CENC五种目前最先进的噪声纠正算法相比, 其性能在数据集噪声比和模型质量两个度量指标上更好, 从而验证了所提出的众包标记噪声纠正算法的有效性和优越性. 但是, 本文方法在算法的过滤阶段并未进行深入的研究, 如何获取更加精确的干净集和噪声集仍然是未来将要面临的难题之一. 因此, 下一步工作将围绕设计更好的过滤策略, 提高过滤效果展开.


  • 1 http://www.mturk.com2 http://www.crowdflower.com3 http://www.clickworker.com
  • http://www.crowdflower.com
  • http://www.clickworker.com
  • 图  1  STLNC算法的框架

    Fig.  1  Framework of STLNC

    图  2  不同T值的STLNC在ionosphere数据集上的噪声比结果

    Fig.  2  Noise ratio of STLNC with different T values on ionosphere dataset

    图  3  Leaves数据集上的噪声比对比结果

    Fig.  3  Noise ratio comparisons on Leaves datasets

    图  4  Leaves数据集上的模型质量结果对比结果

    Fig.  4  Model quality comparisons on Leaves datasets

    图  5  LabelMe数据集上的噪声比对比结果

    Fig.  5  Noise ratio comparisons on LabelMe datasets

    图  6  LabelMe数据集上的模型质量对比结果

    Fig.  6  Model quality comparisons on LabelMe datasets

    图  7  STLNC基于不同过滤器在LabelMe4数据集上的实验结果

    Fig.  7  Experimental results of STLNC with different filters on LabelMe4 dataset

    图  8  STLNC在LabelMe4数据集上的消融实验结果

    Fig.  8  Results of STLNC ablation experiment on LabelMe4 dataset

    表  1  22个仿真标准数据集详细描述

    Table  1  Description of 22 simulated benchmark datasets

    数据集#Ins#Att#Pos#Neg
    biodeg105541356699
    breast-cancer268985201
    breast-w69910241458
    credit-a69016383307
    credit-g100021300700
    diabetes7688268500
    heart-statlog2701412032
    hepatitis1552012332
    horse-colic36822232136
    ionosphere35135225126
    kr-vs-kp31963715271669
    labor57163720
    mushroom81242339164208
    sick3772302313541
    sonar2086111197
    spambase4601578132788
    tic-tac-toe95810332626
    vote43517168267
    climate5402049446
    colic36822136232
    monks4326228204
    steel-plates-faults1941336731268
    下载: 导出CSV

    表  2  工人质量0.6时的噪声比对比结果 (%)

    Table  2  Noise ratio comparisons with pj = 0.6 (%)

    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg28.2529.9528.3419.5318.4821.9015.83
    breast-cancer27.6226.9225.8731.1226.5729.3724.84
    breast-w28.769.0119.3110.309.168.447.30
    credit-a26.6720.0015.9418.8413.0413.3312.90
    credit-g26.6027.4028.4026.6025.3027.5026.40
    diabetes26.6932.2926.5626.9523.7023.9622.79
    heart-statlog25.1919.2623.7022.9624.0725.9318.52
    hepatitis30.3219.3526.4520.6527.7425.1630.97
    horse-colic27.7232.3417.3921.2017.6614.1314.13
    ionosphere27.9216.2421.659.1210.8313.3911.68
    kr-vs-kp27.3821.9610.4519.342.192.852.28
    labor31.5824.5624.5615.7912.2831.587.02
    mushroom26.7112.656.434.300.040.100
    sick27.602.608.8310.311.782.283.37
    sonar26.9231.7329.3324.0425.0024.5218.75
    spambase27.0227.4719.5014.789.1110.568.06
    tic-tac-toe26.2034.1323.0724.4322.4422.2314.61
    vote25.984.6010.3411.263.914.144.14
    climate27.418.5227.4114.078.528.528.52
    colic27.4522.2820.9223.1014.1314.9513.59
    monks26.3925.0011.3421.765.326.712.78
    steel-plates-faults27.5134.989.2218.7000.100.15
    平均值27.4521.9719.7718.6013.6915.0812.21
    下载: 导出CSV

    表  3  工人质量0.6时的模型质量对比结果(%)

    Table  3  Model quality comparisons with pj = 0.6 (%)

    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg71.3775.9172.1378.7774.3474.2178.29
    breast-cancer67.0071.2869.9869.0870.9268.1369.73
    breast-w92.8592.4790.6893.3894.0092.8595.54
    credit-a82.0384.7884.4984.7883.9183.0483.48
    credit-g62.2068.3067.4069.7067.3063.9070.40
    diabetes71.7470.5671.5070.8071.7272.1274.00
    heart-statlog65.5674.8167.7870.0074.0769.2678.15
    hepatitis69.0077.6771.3377.5072.0070.1774.17
    horse-colic77.4278.1180.0080.1581.6281.3682.35
    ionosphere83.4885.4586.9085.1985.7784.0485.76
    kr-vs-kp95.1895.4996.6290.2996.8196.5997.03
    labor70.6761.8373.5068.3368.3372.3376.33
    mushroom99.8598.5699.8899.9099.9099.8699.83
    sick96.7494.6296.9894.4897.7797.7597.11
    sonar58.9355.5750.0758.2955.0059.1458.29
    spambase85.9288.8787.4484.2089.6888.9890.39
    tic-tac-toe77.1769.7474.5471.6374.6374.6378.36
    vote89.8995.3794.2190.5994.2193.9894.21
    climate91.4891.4891.4891.4891.4891.4891.48
    colic79.9781.0981.0982.4781.0982.4781.09
    monks90.7590.7393.5183.3593.5193.5193.28
    steel-plates-faults100.0089.64100.0092.01100.00100.00100.00
    平均值80.8781.4781.8981.2082.6482.2684.06
    下载: 导出CSV

    表  4  工人质量0.6时的噪声比的威尔科克森测试结果

    Table  4  Noise ratio summary of Wilcoxon tests with pj = 0.6

    MVPLSTCCCAVNCCENCSTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV

    表  5  工人质量0.6时的模型质量的威尔科克森测试结果

    Table  5  Model quality summary of Wilcoxon tests with pj = 0.6

    MVPLSTCCCAVNCCENCTTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV

    表  6  工人质量[0.55, 0.75]时的噪声比对比结果 (%)

    Table  6  Noise ratio comparisons with pj ∈ [0.55, 0.75] (%)

    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg14.2221.1416.0213.8413.4613.0812.89
    breast-cancer16.4326.2220.9819.9323.4324.8324.48
    breast-w20.463.7210.014.154.154.433.72
    credit-a18.4120.5814.9313.6213.7713.0412.17
    credit-g17.7029.6022.7022.9021.6022.3024.60
    diabetes20.1822.6624.0922.2723.4422.6623.44
    heart-statlog16.3020.3715.1920.0016.6716.6718.52
    hepatitis12.2620.6514.1914.8416.7712.9012.26
    horse-colic17.6615.4913.8618.7514.6714.1315.22
    ionosphere17.3818.8013.689.6911.1110.8313.96
    kr-vs-kp17.4325.195.6011.551.311.882.44
    labor17.5429.8217.5412.2821.0521.0514.04
    mushroom18.074.944.841.670.100.110
    sick13.941.784.983.761.461.542.04
    sonar15.3837.5021.6325.9619.2322.6020.67
    spambase19.3237.5415.119.047.007.046.67
    tic-tac-toe20.6727.4519.3117.5415.7614.416.47
    vote22.076.9010.578.974.374.834.60
    climate22.968.5222.9610.748.528.528.52
    colic16.5819.5715.4917.9315.2214.4015.49
    monks17.1312.737.1823.382.784.862.78
    steel-plates-faults22.4634.837.3215.920.260.260.21
    平均值17.9320.2714.4614.4911.6411.6511.15
    下载: 导出CSV

    表  7  工人质量[0.55, 0.75]时的模型质量对比结果 (%)

    Table  7  Model quality comparisons with pj ∈ [0.55, 0.75] (%)

    数据集MVPLSTCCCAVNCCENCSTLNC
    biodeg74.5881.8776.3679.9981.5980.2581.78
    breast-cancer69.4371.8169.5070.2771.2871.6471.64
    breast-w90.7694.5491.1094.3493.8592.4094.69
    credit-a82.1785.3684.7885.6585.6584.6484.93
    credit-g69.5069.8070.5069.6071.1069.0072.00
    diabetes71.6774.4471.1574.2173.1372.8774.56
    heart-statlog70.0078.8976.3075.9379.6378.5280.37
    hepatitis76.1779.1777.3380.5076.8377.8379.00
    horse-colic82.5080.3581.5782.6383.5183.0182.68
    ionosphere80.6283.4882.3388.0387.7386.9084.07
    kr-vs-kp97.9495.3497.6692.8698.2898.0098.06
    labor78.3368.1778.3364.3377.1777.1784.33
    mushroom99.9998.5299.9599.96100.00100.0099.95
    sick97.7296.9597.4895.4797.6497.8397.14
    sonar63.7968.9367.1470.3669.2969.5070.86
    spambase86.6588.8788.0784.8390.3788.9690.76
    tic-tac-toe77.8373.0077.5876.3077.8976.8580.08
    vote93.3593.7994.9892.6895.2495.0094.77
    climate91.4891.4891.4891.4891.4891.4891.48
    colic83.7477.9084.1979.1782.5382.6381.84
    monks98.3785.2198.6088.16100.00100.00100.00
    steel-plates-faults99.90100.00100.0099.69100.00100.00100.00
    平均值83.4883.5484.3883.4785.6585.2086.14
    下载: 导出CSV

    表  8  工人质量[0.55, 0.75]时的噪声比的威尔科克森测试结果

    Table  8  Noise ratio summary of Wilcoxon tests with pj ∈ [0.55, 0.75]

    MVPLSTCCCAVNCCENCSTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV

    表  9  工人质量[0.55, 0.75]时的模型质量的威尔科克森测试结果

    Table  9  Model quality summary of Wilcoxon tests with pj ∈ [0.55, 0.75]

    MVPLSTCCCAVNCCENCSTLNC
    MV
    PL
    STC
    CC
    AVNC
    CENC
    STLNC
    下载: 导出CSV

    表  10  8个真实众包数据的详细描述

    Table  10  Description of eight real-world crowdsourced datasets

    数据集分类任务#Instances#Positives#Negatives#Labelers#Labels
    Leaves1maple/alder1429646701093
    Leaves2maple/tilia1409644741044
    Leaves3alder/eucalyptus93464758407
    Leaves4alder/poplar89464354400
    LabelMe1highway/street1998911050395
    LabelMe2highway/forest2278913854476
    LabelMe3highway/opencountry2408915154375
    LabelMe4highway/insidecity2058911649339
    下载: 导出CSV
  • [1] Pollicelli D, Coscarella M, Delrieux C. RoI detection and segmentation algorithms for marine mammals photo-identification. Ecological Informatics, 2020, 56: Article No. 101038
    [2] Wang H, Zhao D, Ma H D. Informative image selection for crowdsourcing-based mobile location recognition. Multimedia Systems, 2019, 25(5): 513−523 doi: 10.1007/s00530-017-0562-9
    [3] Lotfian R, Busso C. Building naturalistic emotionally balanced speech corpus by retrieving emotional speech from existing podcast recordings. IEEE Transactions on Affective Computing, 2019, 10(4): 471−483 doi: 10.1109/TAFFC.2017.2736999
    [4] Sheng V S, Provost F, Ipeirotis P G. Get another label? Improving data quality and data mining using multiple, noisy labelers. In: Proceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Las Vegas, USA: ACM, 2008. 614−622
    [5] Demartini G, Difallah D E, Cudré-Mauroux P. ZenCrowd: Leveraging probabilistic reasoning and crowdsourcing techniques for large-scale entity linking. In: Proceedings of the 21st International Conference on World Wide Web. Lyon, France: ACM, 2012. 469−478
    [6] Zhang H, Jiang L Z, Xu W Q. Multiple noisy label distribution propagation for crowdsourcing. In: Proceedings of the 28th International Joint Conference on Artificial Intelligence. Macao, China: AAAI Press, 2019. 1473−1479
    [7] Tian T, Zhu J, You Q B. Max-margin majority voting for learning from crowds. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019, 41(10): 2480−2494 doi: 10.1109/TPAMI.2018.2860987
    [8] Zhong J H, Yang P, Tang K. A quality-sensitive method for learning from crowds. IEEE Transactions on Knowledge and Data Engineering, 2017, 29(12): 2643−2654 doi: 10.1109/TKDE.2017.2738643
    [9] Nicholson B, Sheng V S, Zhang J. Label noise correction and application in crowdsourcing. Expert Systems With Applications, 2016, 66: 149−162 doi: 10.1016/j.eswa.2016.09.003
    [10] Xu W Q, Jiang L X, Li C Q. Resampling-based noise correction for crowdsourcing. Journal of Experimental & Theoretical Artificial Intelligence, 2021, 33(6): 985−999
    [11] Zhang J, Sheng V S, Li T, Wu X D. Improving crowdsourced label quality using noise correction. IEEE Transactions on Neural Networks and Learning Systems, 2018, 29(5): 1675−1688 doi: 10.1109/TNNLS.2017.2677468
    [12] Li C Q, Jiang L X, Xu W Q. Noise correction to improve data and model quality for crowdsourcing. Engineering Applications of Artificial Intelligence, 2019, 82: 184−191 doi: 10.1016/j.engappai.2019.04.004
    [13] Xu W Q, Jiang L X, Li C Q. Improving data and model quality in crowdsourcing using cross-entropy-based noise correction. Information Sciences, 2021, 546: 803−814 doi: 10.1016/j.ins.2020.08.117
    [14] Wu D, Shang M S, Luo X, Xu J, Yan H Y, Deng W H, et al. Self-training semi-supervised classification based on density peaks of data. Neurocomputing, 2018, 275: 180−191 doi: 10.1016/j.neucom.2017.05.072
    [15] Khuri S A, Sayfy A. A laplace variational iteration strategy for the solution of differential equations. Applied Mathematics Letters, 2012, 25(12): 2298−2305 doi: 10.1016/j.aml.2012.06.020
    [16] Hershey J R, Olsen P A. Approximating the kullback leibler divergence between Gaussian mixture models. In: Proceedings of the 32nd IEEE International Conference on Acoustics, Speech and Signal Processing. Honolulu, USA: IEEE, 2007. IV-317−IV-320
    [17] Zhang J, Sheng V S, Nicholson B, Wu X D. CEKA: A tool for mining the wisdom of crowds. The Journal of Machine Learning Research, 2015, 16(1): 2853−2858
    [18] Witten I H, Frank E. Data Mining: Practical Machine Learning Tools and Techniques. (3rd edition). Beijing: China Machine Press, 2005.
    [19] Gamberger D, Lavrac N, Groselj C. Experiments with noise filtering in a medical domain. In: Proceedings of the 16th International Conference on Machine Learning. Bled, Slovenia: ACM, 1999. 143−151
    [20] García S, Herrera F. An extension on “statistical comparisons of classifiers over multiple data sets” for all pairwise comparisons. Journal of Machine Learning Research, 2008, 9(12): 2677−2694
    [21] Jiang L X, Zhang L G, Li C Q, Wu J. A correlation-based feature weighting filter for naive Bayes. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(2): 201−213 doi: 10.1109/TKDE.2018.2836440
    [22] Rodrigues F, Lourenčo M, Ribeiro B, Pereira F C. Learning supervised topic models for classification and regression from crowds. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2409−2422 doi: 10.1109/TPAMI.2017.2648786
    [23] Li F F, Perona P. A Bayesian hierarchical model for learning natural scene categories. In: Proceedings of the 14th IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego, USA: IEEE, 2005. 524−531
    [24] McCallum A, Nigam K. A comparison of event models for naive Bayes text classification. In: Proceedings of the AAAI-98 Workshop on Learning for Text Categorization. Palo Alto, USA: AAAI Press, 1998. 41−48
    [25] Rennie J D M, Shih L, Teevan J, Karger D R. Tackling the poor assumptions of naive Bayes text classifiers. In: Proceedings of the 20th International Conference on Machine Learning. Washington, USA: AAAI Press, 2003. 616−623
    [26] Khoshgoftaar T M, Rebours P. Improving software quality prediction by noise filtering techniques. Journal of Computer Science and Technology, 2007, 22(3): 387−396 doi: 10.1007/s11390-007-9054-2
    [27] Brodley C E, Friedl M A. Identifying mislabeled training data. Journal of Artificial Intelligence Research, 1999, 11(1): 131−167
  • 期刊类型引用(0)

    其他类型引用(5)

  • 加载中
  • 图(8) / 表(10)
    计量
    • 文章访问数:  1592
    • HTML全文浏览量:  437
    • PDF下载量:  224
    • 被引次数: 5
    出版历程
    • 收稿日期:  2021-01-18
    • 网络出版日期:  2021-06-20
    • 刊出日期:  2023-04-20

    目录

    /

    返回文章
    返回