中国人工智能学会通讯——一种基于众包的交互式数据修复方法 3 给定质量约束下的交互式算法

简介:

3 给定质量约束下的交互式算法

为了生成一个有效的交互式方案,我们提出了自己的算法,其中的关键问题是在众包修复过程中如何选择被众包修复的值。

首先,我们倾向于选择引起数据冲突最多的值进行众包修复,这样就会有更多的值在下一步的基于规则的修复过程中可以被推导。为了找出引起数据间冲突最多的值,先评估每个值的不和谐度disharmonious degree(简称为dScore),表示这个值和数据集中其他所有值之间的不和谐度。将在3.1节中介绍如何计算每个值的dScore。

image

虽然是在一个动态情况下安排冲突的修复顺序,仍可以根据冲突之间的依赖关系,决定修复哪些值。在这一过程中,面临的挑战就是如何解决冲突间的依赖循环问题,我们将在3.2节中讨论这个问题。

3.1 dScore: 衡量值的不和谐度

一个值的不和谐度可以粗略地由它所引起的冲突的个数来表示。首先用一个简单的例子介绍一下如何计算每个值的dScore。首先,假设除了某个位置上的值,整个数据集都是一致的,即数据集上的其他所有值都是和谐的。然后,当该位置上的值出现后,可能会引起两种冲突:①该值本身和一些值发生了冲突;②该值使得某个冲突里的其他值发生了冲突。通常一个值带来的冲突越多,这个值越有可能是一个错误的值。换句话说,在这种简单的假设下,一个值的dScore就是它所引起的冲突的个数。

现在开始考虑实际情况,即数据集中已经存在错误的值和冲突。当一个新值出现时,不管它是否错误,都会带来一些改变,如产生新的冲突或者加剧已有的冲突。在这种情况下,一个值的dScore由以下两部分组成:

image
image

3.2 使用冲突之间的依赖关系

在安排冲突的修复顺序时,我们会考虑冲突间的依赖关系。首先要获得所有冲突之间的依赖关系,然后根据这些关系建立一个冲突依赖关系图。

image
image
image
image

正如之前介绍的,一个冲突只有在它所依赖的所有冲突都被解决之后,这个冲突才可以被解决。但是对于那些在同一个节点里面相互重叠的冲突,需要考虑冲突里的值被检测的优先顺序。同样,我们根据这些值的dScore来确定检测的顺序。一个值的dScore越高,这个值越先被检测。每次当有一个值被修改了,整个关系图就需要随之更新。

3.3 解决依赖环

image
image
image
image
image

3.4 考虑依赖关系的交互式算法

交互式算法如算法1所示。首先要为数据集建立一个冲突依赖关系图。不考虑其他因素,只选择每个节点中dScore最高的值进行众包修复,直至节点中的所有冲突都被解决。当没有这样的节点只有环时,计算这些环中所有节点的gbScore,选择gbScore最高的节点进行处理从而分裂环。每次只要有一个值被修改,关系图、所有节点的bScore和gbScore都需要及时更新。当整个依赖关系图中没有一个节点时,算法就会结束。算法1的时间复杂度是O(mlogm+n),m是依赖关系图中所有环中的节点个数,n指图中不在环内的节点个数。

image
image
image
image
image

相关文章
|
1月前
|
机器学习/深度学习 算法 前端开发
别再用均值填充了!MICE算法教你正确处理缺失数据
MICE是一种基于迭代链式方程的缺失值插补方法,通过构建后验分布并生成多个完整数据集,有效量化不确定性。相比简单填补,MICE利用变量间复杂关系,提升插补准确性,适用于多变量关联、缺失率高的场景。本文结合PMM与线性回归,详解其机制并对比效果,验证其在统计推断中的优势。
769 11
别再用均值填充了!MICE算法教你正确处理缺失数据
|
2月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
124 6
|
2月前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
212 1
|
3月前
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
106 0
|
2月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
309 0
|
3月前
|
机器学习/深度学习 数据采集 传感器
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)
282 0
|
30天前
|
机器学习/深度学习 数据采集 负载均衡
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
结合多种启发式解码方法的混合多目标进化算法,用于解决带工人约束的混合流水车间调度问题(Matlab代码实现)
115 0
|
30天前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
109 0
|
2月前
|
存储 监控 算法
企业电脑监控系统中基于 Go 语言的跳表结构设备数据索引算法研究
本文介绍基于Go语言的跳表算法在企业电脑监控系统中的应用,通过多层索引结构将数据查询、插入、删除操作优化至O(log n),显著提升海量设备数据管理效率,解决传统链表查询延迟问题,实现高效设备状态定位与异常筛选。
115 3

热门文章

最新文章