50、关联规则挖掘中的隐私保护技术解析

关联规则挖掘隐私保护技术解析

关联规则挖掘中的隐私保护技术解析

1. 两阶段迭代过程

Gkoulalas - Divanis和Verykios提出了一个两阶段迭代过程,用于改进内联方法的功能。该过程包含两个阶段,以迭代方式执行,直到满足以下两个条件之一:一是找到给定问题实例的精确解;二是达到预先指定的阶段迭代次数(称为振荡)ℓ。
- 第一阶段 :隐藏算法使用内联方法,试图在无副作用的情况下隐藏敏感知识。若成功,过程终止。
- 第二阶段 :若第一阶段失败,算法进入第二阶段,执行内联算法的对偶方法。此阶段,隐藏算法从不可行的约束满足问题(CSP)中选择性地移除不等式,直到CSP变得可行,然后求解CSP以获得清理后的数据集。由于移除了约束,该数据集必然会有副作用,第二阶段的目的是通过增加丢失项集的支持度使其再次频繁出现。

2. 关联规则隐藏算法的性能度量

关联规则隐藏算法的性能度量分为内部和外部两类。

2.1 内部度量

内部度量由Oliveira等人提出,可在隐藏方案执行过程中进行优化,也可用于在统一框架下公平比较不同的隐藏方案,分为基于数据共享和基于模式共享两类。
- 基于数据共享的度量
- 隐藏失败率(HF) :量化清理后数据集中仍暴露的敏感模式的百分比,计算公式为 $HF = \frac{|RP (U ′)|}{|RP (U)|}$,其中 $RP (U ′)$ 是清理后数据集中发现的敏感规则,$RP (U)$ 是原始数据集中的敏感规则,$|X|$ 是集合 $X$ 的大小,理想情况下 $HF$ 应为 0%。
- 遗漏成本(MC) :量化因清理过程副作用而被隐藏的非限制性模式的百分比,计算公式为 $MC = \frac{| \tilde{RP} (U)| - | \tilde{RP} (U ′)|}{| \tilde{RP} (U)|}$,其中 $\tilde{RP} (U)$ 是原始数据库 $U$ 中的所有非敏感规则集,$\tilde{RP} (U ′)$ 是清理后数据库 $U ′$ 中的所有非敏感规则集。可以发现,遗漏成本和隐藏失败率之间存在权衡关系,需要隐藏的敏感关联规则越多,预计遗漏的合法关联规则就越多。
- 人工模式率(AF) :量化发现的人工模式的百分比,计算公式为 $AP = \frac{|P ′| - |P ∩ P ′|}{|P ′|}$,其中 $P$ 是原始数据库 $U$ 中发现的关联规则集,$P ′$ 是 $U ′$ 中发现的关联规则集。
- 相异度(Diss) :通过比较原始数据集和清理后数据集的直方图来量化它们之间的差异,计算公式为 $Diss(U, U ′) = \frac{1}{\sum_{i = 1}^{n} f_U(i)} \times \sum_{i = 1}^{n} [f_U(i) - f_{U′}(i)]$,其中 $f_X(i)$ 表示数据集 $X$ 中第 $i$ 项的频率,$n$ 是原始数据集 $D$ 中不同项的数量。
- 基于模式共享的度量
- 副作用因子(SEF) :与遗漏成本类似,用于量化因清理过程而被移除的非敏感关联规则的数量,定义为 $SEF = \frac{|P| - (|P ′| + |RP (U)|)}{|P| - |RP|}$。
- 恢复因子(RF) :表示对手基于非敏感规则恢复敏感规则的可能性。如果敏感规则的所有子集都能从清理后的数据集中恢复,则该规则的恢复是可能的,$RF$ 值为 1;否则 $RF = 0$。但该度量并不确定,因为对手可能即使知道子集也无法得知项集。

2.2 外部度量

外部度量由Bertino等人提出,用于衡量算法在处理大数据集时的行为、计算速度等外部参数,分为以下四类:
- 效率 :量化隐私保护算法有效利用可用资源并良好执行的能力,通过CPU时间、空间需求(与内存使用和所需存储容量相关)和通信需求来衡量。
- 可扩展性 :评估隐私保护技术在处理不断增大的数据规模时的有效性,根据算法性能的下降、存储需求的增加以及通信成本(在分布式环境中)来衡量。
- 数据质量 :取决于清理过程后数据集的质量以及将数据挖掘应用于该数据集的结果质量,与使用原始数据集获得的结果进行比较。最常用的度量包括准确性(衡量清理值与原始值的接近程度,与隐藏策略导致的信息损失密切相关)、完整性(评估清理后数据库中丢失数据的程度)和一致性(与清理后数据库中数据项不同字段之间或数据项之间必须保持的关系有关),例如相异度(Diss)和Kullback - Leibler(KL)散度。
- 隐私级别 :估计受保护信息仍可被预测的不确定程度,可使用信息熵、隐私级别和J - 度量等指标来量化隐藏方案达到的隐私级别。

3. 数据分区与关联规则挖掘

在数据挖掘中,数据通常被假设为垂直或水平分区。以下是一个简单事务(二进制)数据集U的不同分区方案示例:

分区类型 示例数据
原始数据集
Tr# a b c d
R1 1 0 1 0
R2 1 0 1 0
R3 0 0 0 0
R4 0 1 0 1
R5 1 1 1 1
R6 1 1 0 1
R7 0 0 0 0
垂直分区
Tr# a b
R1 1 0
R2 1 0
R3 0 0
R4 0 1
R5 1 1
R6 1 1
R7 0 0

Tr# c d
R1 1 0
R2 1 0
R3 0 0
R4 0 1
R5 1 1
R6 0 1
R7 0 0
水平分区
Tr# a b c d
R1 1 0 1 0
R2 1 0 1 0
R3 0 0 0 0

Tr# a b c d
R4 1 1 0 1
R5 0 0 0 0
R6 1 1 1 1
R7 1 1 1 1
3.1 水平分区数据

对于水平分区数据,传统的关联规则挖掘(ARM)问题可表述如下:考虑一组站点 $S$,每个站点 $S_i$($1 ≤ i ≤ n$)有一个私有事务数据库 $U_i$,整个数据库 $U = U_1 ∪ U_2 ∪ · · · ∪ U_n$。项集 $C_x$ 在站点 $S_i$ 的局部支持计数为 $C_x.sup_i$,当且仅当 $C_x.sup_i$ 个事务包含 $C_x$。$C_x$ 的全局支持计数为 $C_x.sup = \sum_{i = 1}^{n} C_x.sup_i$。若 $C_x.sup ≥ s × \sum_{i = 1}^{n} |U_i|$,则项集 $C_x$ 是全局支持的。规则 $C_x ⇒ C_y$ 的全局置信度为 $(C_x ∪ C_y).sup / C_x.sup$。

Cheung等人提出的快速分布式关联规则挖掘(FDM)算法步骤如下:

graph TD;
    A[候选集生成] --> B[局部剪枝];
    B --> C[支持计数交换];
    C --> D[广播挖掘结果];
  • 候选集生成 :基于 $GFi(k - 1)$(在第 $(k - 1)$ 次迭代中由 $S_i$ 支持的项集),使用经典的先验候选生成算法生成候选集 $CGi(k)$。每个站点根据全局频繁 $(k - 1)$ 项集和局部频繁 $(k - 1)$ 项集的交集生成候选集。
  • 局部剪枝 :对于每个 $C_x ∈ CGi(k)$,扫描站点 $S_i$ 的数据库 $U_i$ 计算 $C_x.sup_i$。如果 $C_x$ 在 $S_i$ 是局部频繁的,则将其包含在 $LFi(k)$ 集合中。
  • 支持计数交换 :广播 $LFi(k)$,每个站点计算 $\cup_i LFi(k)$ 中项的局部支持。
  • 广播挖掘结果 :每个站点广播 $\cup_i LFi(k)$ 中项集的局部支持,从而每个站点能够计算 $F(k)$。

在隐私保护版本的FDM算法中,要限制信息披露。具体来说,任何站点都不应能够了解其他站点的交易内容、其他站点支持的规则或任何规则在其他站点的具体支持/置信度值,除非该信息可以通过自身数据和最终结果推断出来。可使用安全联合协议来交换局部频繁项集,通过加密局部支持的项集并添加足够的“假”项集来隐藏实际支持的数量。同时,为了确定哪些项集是全局支持的,需要在不泄露 $C_x.sup_i$ 或 $|U_i|$ 的情况下检查 $\sum_{i = 1}^{n} (C_x.sup_i - s * |U_i|) ≥ 0$,可以通过安全求和和安全比较来实现。

4. 垂直分区数据

对于垂直分区数据,每个站点 $S_i$ 中的 $U_i$ 包含代表不同项的列的子集。要计算 $C_x.sup$($C_x ⊆ I$),需要以某种方式组合这些列。

在两方情况下,问题可简化为简单的点积计算。例如,两方希望确定项集 $C_x$ 是否在数据集中具有最小支持度,但双方都没有关于整个 $C_x$ 的数据,而是分别有 $C_x$ 的不相交覆盖 $C_{x1}$ 和 $C_{x2}$。双方可以各自形成一个大小为 $n$($n$ 是总行数)的由0和1组成的向量 $(v_1, v_2)$,对于向量 $v_k$,如果第 $i$ 行包含 $C_{xk}$ 的所有成员,则第 $i$ 个值为1,否则为0。然后计算这两个向量的点积,得到包含集合 $X$ 的总行数,通过除以总行数可得到支持度。

使用加法同态公钥加密可以轻松获得安全点积协议。安全公钥密码系统满足以下条件则称为加法同态:
- 给定 $m_1$ 和 $m_2$ 的加密 $Epk(m_1)$ 和 $Epk(m_2)$,存在一个有效算法计算 $m_1 + m_2$ 的公钥加密 $Epk(m_1 + m_2) := Epk(m_1)+hEpk(m_2)$。
- 给定常数 $k$ 和 $m_1$ 的加密 $Epk(m_1)$,存在一个有效算法计算 $k·m_1$ 的公钥加密 $Epk(km_1) := k×hEpk(m_1)$。

使用这种加法同态加密方案,站点 $S_1$ 创建公钥 $pk$ 和私钥 $pr$ 对,计算 $v_1$ 元素的加密 $Epk(v_{1j})$ 并发送给 $S_2$。$S_2$ 维护一个加密计数器 $C$,如果 $v_{2j}$ 为1,则使用 $+h$ 操作添加 $Epk(v_{1j})$。最后,$S_2$ 生成随机值 $r$ 计算 $C + hEpk(r)$ 并发送给 $S_1$,$S_1$ 解密该值以获得带随机值盲化的点积结果,然后双方使用安全比较协议检查支持阈值条件是否满足。

将上述协议扩展到多方情况需要为每个事务安全地计算 $\prod_{j = 1}^{k} I_{C_{xij} ⊆ T}$,可通过安全逻辑与协议实现。但垂直分区数据的所有协议都需要 $O(n)$ 次加密操作($n = |U|$),在大数据场景下可能会有问题。近期工作通过开发安全近似点积协议来解决这个问题,这些协议利用降维技术减少输入到安全点积协议的向量维度,但仍需更多工作来提供可扩展到数十亿交易的安全协议。

关联规则挖掘中的隐私保护技术解析(续)

5. 隐私保护技术面临的挑战与解决方案总结

在关联规则挖掘的隐私保护技术中,无论是水平分区数据还是垂直分区数据,都面临着诸多挑战,同时也有相应的解决方案。

5.1 水平分区数据面临的挑战与应对

在水平分区数据的关联规则挖掘中,主要挑战在于如何在不泄露各站点敏感信息的情况下完成全局关联规则的挖掘。传统的FDM算法虽然能实现基本的关联规则挖掘,但在隐私保护方面存在不足。为了限制信息披露,采用了安全联合协议,具体操作步骤如下:
1. 加密与添加假项集 :每个站点将本地支持的项集进行加密,并添加足够的“假”项集,以此隐藏实际支持的项集数量。
2. 安全求和与比较 :为了确定哪些项集是全局支持的,需要在不泄露 $C_x.sup_i$ 或 $|U_i|$ 的情况下检查 $\sum_{i = 1}^{n} (C_x.sup_i - s * |U_i|) ≥ 0$。具体做法是,第一个站点为每个项集 $C_x$ 生成一个随机数 $x_r$,将其加到 $(C_x.sup_i - s * |U_i|)$ 上,并发送给下一个站点。后续站点依次添加自己的超额支持并传递该值,最后一个站点得到 $\sum_{i = 1}^{n} (C_x.sup_i - s * |U_i|) + x_r(\text{mod } m)$。最后一个站点需要测试这个和减去 $x_r \text{ mod } m$ 是否小于 $m/2$,可使用Yao的通用方法安全地完成此操作。

5.2 垂直分区数据面临的挑战与应对

垂直分区数据的关联规则挖掘挑战在于如何组合各站点的列信息来计算项集的支持度,并且要保证隐私安全。在两方情况下,问题可转化为点积计算,使用加法同态公钥加密来实现安全点积协议,具体步骤如下:
1. 密钥生成与加密 :站点 $S_1$ 创建公钥 $pk$ 和私钥 $pr$ 对,计算 $v_1$ 元素的加密 $Epk(v_{1j})$ 并发送给 $S_2$。
2. 加密计数与盲化 :$S_2$ 维护一个加密计数器 $C$,如果 $v_{2j}$ 为1,则使用 $+h$ 操作添加 $Epk(v_{1j})$。最后,$S_2$ 生成随机值 $r$ 计算 $C + hEpk(r)$ 并发送给 $S_1$。
3. 解密与比较 :$S_1$ 解密该值以获得带随机值盲化的点积结果,然后双方使用安全比较协议检查支持阈值条件是否满足。

然而,垂直分区数据的所有协议都需要 $O(n)$ 次加密操作($n = |U|$),在大数据场景下效率较低。近期的解决方案是开发安全近似点积协议,利用降维技术减少输入到安全点积协议的向量维度,但仍需进一步研究以实现可扩展到数十亿交易的安全协议。

6. 关联规则隐藏算法性能度量的综合分析

关联规则隐藏算法的性能度量分为内部和外部两类,它们从不同角度评估了算法的性能。

6.1 内部度量的相互关系

内部度量中的基于数据共享和基于模式共享的度量之间存在着一定的关联。例如,隐藏失败率(HF)和遗漏成本(MC)之间存在权衡关系。当需要隐藏更多的敏感关联规则时,遗漏成本往往会增加,因为在隐藏敏感规则的过程中,可能会不小心隐藏一些合法的关联规则。而人工模式率(AF)则反映了清理过程中产生的不必要的关联规则的情况,相异度(Diss)则从整体上衡量了原始数据集和清理后数据集的差异。

基于模式共享的度量中,副作用因子(SEF)和恢复因子(RF)也有其重要意义。副作用因子量化了因清理过程而被移除的非敏感关联规则的数量,而恢复因子则表示对手基于非敏感规则恢复敏感规则的可能性。

6.2 外部度量的重要性

外部度量对于评估算法在实际应用中的性能至关重要。效率度量通过CPU时间、空间需求和通信需求来衡量算法有效利用资源的能力。在处理大数据集时,算法的效率直接影响到其可用性。可扩展性度量则关注算法在处理不断增大的数据规模时的表现,随着数据量的增加,算法的性能下降、存储需求增加以及通信成本上升等问题都需要得到解决。

数据质量度量包括准确性、完整性和一致性,它们确保了清理后数据集的质量以及数据挖掘结果的可靠性。隐私级别度量则从安全角度出发,估计受保护信息仍可被预测的不确定程度,保障了数据的安全性。

7. 不同数据分区方案下关联规则挖掘的对比

垂直分区和水平分区是两种常见的数据分区方案,它们在关联规则挖掘中有不同的特点。

分区类型 数据特点 关联规则挖掘计算方式 面临的挑战
水平分区 不同站点收集不同实体的相同信息集合 项集的全局支持计数是各站点局部支持计数之和,规则的全局置信度根据全局支持计数计算 如何在不泄露各站点敏感信息的情况下完成全局关联规则的挖掘
垂直分区 不同站点收集相同实体的不同特征集合 需要组合各站点的列信息来计算项集的支持度,在两方情况下可转化为点积计算 如何在保证隐私安全的前提下组合列信息,以及在大数据场景下加密操作效率低的问题
8. 关联规则挖掘隐私保护技术的未来发展方向

随着数据量的不断增加和数据安全需求的提高,关联规则挖掘隐私保护技术还有很大的发展空间。

8.1 提高算法的可扩展性

目前,垂直分区数据的协议在大数据场景下效率较低,需要进一步开发可扩展到数十亿交易的安全协议。可以继续探索更高效的加密算法和降维技术,减少加密操作的次数,提高算法的处理速度。

8.2 增强隐私保护的可靠性

虽然现有的隐私保护技术能在一定程度上保护敏感信息,但仍存在被攻击的风险。未来需要研究更可靠的隐私保护机制,提高恢复因子等度量的确定性,降低对手恢复敏感规则的可能性。

8.3 优化性能度量体系

现有的性能度量体系虽然能评估算法的性能,但还可以进一步优化。可以结合更多的实际应用场景,开发更全面、准确的性能度量指标,为算法的优化提供更有力的支持。

关联规则挖掘中的隐私保护技术是一个复杂且具有挑战性的领域。通过不断地研究和创新,未来有望开发出更高效、更安全的关联规则挖掘隐私保护算法,满足日益增长的数据安全需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值