掌桥专利:专业的专利平台
掌桥专利
首页

针对大规模数据的对象特征之间相关性的确定方法及装置

文献发布时间:2023-06-19 16:03:19



技术领域

本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种针对大规模数据的对象特征之间相关性的确定方法及装置。

背景技术

随着社会的发展和技术的进步,有越来越多的服务平台为人们提供各种服务。用户会使用不同服务平台的服务,从而在不同的服务平台中产生不同的业务数据。不同服务平台的业务数据可以联合起来,用于训练模型,以提高模型的效果。对于不同服务平台的业务数据,也就是对象的特征数据,进行相关性的检验,避免使用相关性较强的特征训练模型,从而提高模型的稳定性。但是,不同服务平台中的特征数据属于隐私数据,不能明文向外输出。这就需要在保护数据的隐私性和安全性的前提下,对不同服务平台中的特征数据之间的相关性进行评估。而在大规模业务数据的场景下,不同服务平台之间在确定特征相关性时不仅要考虑隐私保护的问题,还要面临提高数据处理效率的问题。

因此,希望能有改进的方案,在大规模特征数据的场景中,不仅能保护数据的隐私性和安全性,也能提高数据处理效率。

发明内容

本说明书一个或多个实施例描述了一种针对大规模数据的对象特征之间相关性的确定方法及装置,以在大规模特征数据的场景中,既能保护数据的隐私性和安全性,也能提高数据处理效率。具体的技术方案如下。

第一方面,实施例提供了一种针对大规模数据的对象特征之间相关性的确定方法,待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含相同业务对象的不同特征的特征值;所述方法通过第一参与方执行,包括:

当所述待确定相关性的特征矩阵不符合正态分布时,对所述第一参与方的特征矩阵中的特征值进行排序,并采用序号值代替对应的特征值,得到所述第一参与方的排序分片;

与所述第二参与方联合对所述业务对象进行安全采样,并基于采样结果和所述第一参与方的排序分片确定所述第一参与方的采样分片;

利用基于多方安全计算的矩阵乘法,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片,以用于与所述第二参与方的相关性系数分片合成完整的相关性系数。

在一种实施方式中,所述方法还包括:

当所述待确定相关性的特征矩阵符合正态分布时,对自身持有的特征矩阵进行标准化,得到所述第一参与方的标准化分片;

与所述第二参与方联合对所述业务对象进行安全采样,并基于采样结果从所述第一参与方的标准化分片中得到采样分片,返回执行所述确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片的步骤。

在一种实施方式中,该方法还包括采用以下方式确定所述待确定相关性的特征矩阵是否符合正态分布:

当确定所述第一参与方的特征矩阵中存在不符合正态分布的特征时,确定所述待确定相关性的特征矩阵不符合正态分布。

在一种实施方式中,该方法还包括:

当确定所述第一参与方的特征矩阵中的特征都符合正态分布时,获取用于表征所述第二参与方的特征矩阵中是否存在不符合正态分布的特征的结果;

当所述结果表明所述第二参与方的特征矩阵中存在不符合正态分布的特征时,确定所述待确定相关性的特征矩阵不符合正态分布。

在一种实施方式中,其中还包括采用以下方式确定所述第一参与方的特征矩阵中是否存在不符合正态分布的特征:

基于所述第一参与方的特征矩阵中第i特征的多个特征值,确定所述第i特征的偏度值和峰度值;

基于所述偏度值和峰度值,确定所述第i特征是否符合正态分布。

在一种实施方式中,所述确定所述第i特征是否符合正态分布的步骤,包括:

当所述偏度值处于第一预设范围中,且所述峰度值处于第二预设范围中时,确定所述第i特征符合正态分布。

在一种实施方式中,所述确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片的步骤,包括:

利用基于多方安全计算的矩阵乘法,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定协方差矩阵的协方差分片;其中,所述协方差矩阵基于采样联合矩阵得到;各方的采样分片在假定相拼接的情况下构成所述采样联合矩阵;各方的协方差分片在假定重构的情况下构成所述协方差矩阵;

基于所述第一参与方的协方差分片、采样分片以及所述第二参与方的采样分片,利用基于多方安全计算的矩阵乘法,确定所述第一参与方的相关性系数分片。

第二方面,实施例提供了一种针对大规模数据的对象特征之间相关性的确定方法,待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含不同业务对象的相同特征的特征值;所述方法通过第一参与方执行,包括:

当所述待确定相关性的特征矩阵不符合正态分布时,利用多方安全计算,不同参与方联合对各方特征矩阵中的特征值进行安全排序,并采用序号值分片代替对应的特征值分片,使得不同参与方分别得到各自的排序分片;

对业务对象进行采样,并基于采样结果和所述第一参与方的排序分片确定所述第一参与方的采样分片;

利用多方安全计算,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片,以用于与所述第二参与方的相关性系数分片合成完整的相关性系数。

在一种实施方式中,所述方法还包括:

当所述待确定相关性的特征矩阵符合正态分布时,利用秘密分享加法和乘法,与所述第二参与方联合对特征矩阵进行标准化,得到各参与方的标准化分片;

对业务对象进行采样,并基于采样结果和所述第一参与方的标准化分片确定所述第一参与方的采样分片,返回执行所述确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片的步骤。

在一种实施方式中,其中还包括采用以下方式确定所述待确定相关性的特征矩阵是否符合正态分布:

利用多方安全计算,不同参与方基于各自的特征矩阵,确定特征联合矩阵中是否存在不符合正态分布的特征;各方的特征矩阵在假定相拼接的情况下构成所述特征联合矩阵;

如果存在,则确定所述待确定相关性的特征矩阵不符合正态分布。

在一种实施方式中,所述确定特征联合矩阵中是否存在不符合正态分布的特征的步骤,包括:

基于各参与方的特征矩阵中第i特征的多个特征值,利用秘密分享加法和乘法,各参与方联合确定所述第i特征的偏度值和峰度值;

基于所述偏度值和峰度值,确定所述第i特征是否符合正态分布。

在一种实施方式中,所述确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片的步骤,包括:

基于所述第一参与方的采样分片,确定协方差矩阵的协方差分片;其中,所述协方差矩阵基于采样联合矩阵得到;各方的采样分片在假定相拼接的情况下构成采样联合矩阵;

基于所述第一参与方的协方差分片、采样分片以及所述第二参与方的采样分片,利用基于多方安全计算的矩阵乘法,确定所述第一参与方的相关性系数分片。

第三方面,实施例提供了一种针对大规模数据的对象特征之间相关性的确定装置,待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含相同业务对象的不同特征的特征值;所述装置部署在所述第一参与方中,包括:

第一替代模块,配置为当所述待确定相关性的特征矩阵不符合正态分布时,对所述第一参与方的特征矩阵中的特征值进行排序,并采用序号值代替对应的特征值,得到所述第一参与方的排序分片;

第一采样模块,配置为与所述第二参与方联合对所述业务对象进行安全采样,并基于采样结果和所述第一参与方的排序分片确定所述第一参与方的采样分片;

第一确定模块,配置为利用基于多方安全计算的矩阵乘法,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片,以用于与所述第二参与方的相关性系数分片合成完整的相关性系数。

第四方面,实施例提供了一种针对大规模数据的对象特征之间相关性的确定装置,待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含不同业务对象的相同特征的特征值;所述装置部署在所述第一参与方中,包括:

第二替代模块,配置为当所述待确定相关性的特征矩阵不符合正态分布时,利用多方安全计算,不同参与方联合对各方特征矩阵中的特征值进行安全排序,并采用序号值分片代替对应的特征值分片,使得不同参与方分别得到各自的排序分片;

第三采样模块,配置为对业务对象进行采样,并基于采样结果和所述第一参与方的排序分片确定所述第一参与方的采样分片;

第三确定模块,配置为利用多方安全计算,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片,以用于与所述第二参与方的相关性系数分片合成完整的相关性系数。

第五方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面和第二方面中任一项所述的方法。

第六方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面和第二方面中任一项所述的方法。

本说明书实施例提供的方法及装置中,当待确定相关性的特征矩阵不符合正态分布时,对参与方的特征矩阵进行排序,并采用排序的序号值代替特征值,得到各参与方的排序分片,再对业务对象进行采样,并基于采样结果和排序分片确定各参与方的采样分片;接着,利用多方安全计算基于各参与方的采样分片确定特征矩阵中特征之间的相关性系数分片。在整个处理过程中,各参与方使用分片数据进行数据处理,能够很好地保护隐私数据的隐私性和安全性,同时,在特征矩阵不符合正态分布时,采用特征值的排序代替特征值,并进行采样,能够使用采样数据计算特征相关性,在大规模数据的场景下,提高了数据的处理效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1-1所示为数据纵向分布场景的示意图;

图1-2所示为数据横向分布场景的示意图;

图2为实施例提供的对象特征之间相关性的确定方法的一种流程示意图;

图3所示为利用秘密分享矩阵乘法计算矩阵分片的一种流程示意图;

图4为实施例提供的对象特征之间相关性的确定方法的另一种流程示意图;

图5为实施例提供的对象特征之间相关性的确定装置的一种示意性框图;

图6为实施例提供的对象特征之间相关性的确定装置的另一种示意性框图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

在共享学习场景下,数据集由多个参与方共同提供,每个参与方拥有数据集中的一部分数据,构成该参与方的原始矩阵。该数据集可以是用于训练神经网络模型的训练数据集,也可以是用于测试神经网络模型的测试数据集,或者是待预测的数据集。数据集可以包括业务对象的特征数据,也就是业务对象的业务数据。业务对象可以是用户、商铺、商品、事件等各种业务上有待分析的对象。

这里可以存在至少两种数据分布。一种分布是,各个参与方拥有全部业务对象的不同特征的数据。例如,每个参与方都拥有相同的多个对象的样本,每个样本的特征数据中包含多个特征,这些特征分布在不同参与方中,每个参与方拥有的特征不同。不同参与方拥有的特征种类不同,其数量可以相同,也可以不同。此为数据垂直切分的场景,也是数据纵向分布在不同参与方中的场景,图1-1所示为数据纵向分布场景的示意图,其中以两个参与方A和B为例,共拥有n个样本,横向为不同样本,纵向为不同特征。例如,两个服务平台拥有相同的一批用户,但其用户特征不同。

参与方所拥有的特征数据可以包括很多种特征,特征也叫属性。在一具体例子中,业务对象为商铺。某一个电商平台,拥有n个商铺的部分特征,这些特征包括商铺id、经营时长等。而另一电商平台,拥有上述n个商铺的另一部分特征,这些特征包括商铺类别和累积销量等等。这样,相同商铺的不同特征的特征数据分布于不同的参与方中,属于数据的纵向分布。

另一种分布是,各个参与方拥有不同对象样本的相同特征。例如,对于多个样本,每个样本的特征数据中包含多个特征,这些数据分布在多个参与方中,不同参与方拥有全部多个样本中的一部分样本,每个样本的特征数据中的特征相同。不同参与方存储的样本数量可以相同,也可以不同。此为数据水平切分的场景,也是数据横向分布在不同参与方中的场景。图1-2所示为数据横向分布场景的示意图,其中以两个参与方A和B为例,共拥有n个样本,横向为不同样本,纵向为不同特征。例如,有两个银行,它们都拥有用户的信贷特征,但其服务的用户群体不同。

在一个例子中,业务对象为用户。多个参与方中的某个参与方为一社交平台,拥有n1个用户的用户基本特征,这些特征包括用户标识、就职行业和所在地区等。多个参与方中的另一社交平台,拥有n2个用户的上述用户基本特征。这样,不同用户的相同特征分布于不同的参与方,属于数据的横向分布。

在其他实施例中,业务对象还可以是有待分析的商品、事件等等,其中事件可以包括交易事件、登录事件、购买事件和社交事件等等。

不管是哪种数据分布方式,其业务对象的特征数据都属于隐私数据,可存储为隐私数据矩阵。为了隐私数据的安全,各个参与方需要将其隐私数据留在本地,不输出明文数据,不进行明文聚合。参与方是指参与联合模型训练的各方,也是参与确定特征之间相关性的各方。参与方的数量一般是2个或2个以上,参与方可以通过对应的参与方设备执行多方之间的联合数据处理过程。

为了避免出现用于进行联合模型训练的特征之间存在相关性(即共线性),通常可以利用特征的特征值检验不同特征之间的相关性,从而对存在相关性的特征进行处理。在大规模业务数据的场景下,参与方拥有的样本数量在百万甚至千万级别。不同参与方之间基于多方安全计算进行数据交互时,会出现计算的中间值超出有限域,导致计算结果不可用的情况,并且计算效率也会非常低。

为了在大规模特征数据的场景下提高数据的处理效率,同时兼顾数据的隐私性和安全性,本实施例提供了一种对象特征之间相关性的确定方法,该方法可以通过任意的第一参与方设备执行。针对不同的数据分布场景,基于本发明实施例的发明思路,可以得到不同的实施方案。在数据纵向分布场景中,该方法包括:当待确定相关性的特征矩阵不符合正态分布时,对第一参与方的特征矩阵中的特征值进行排序,并采用序号值代替对应的特征值,得到第一参与方的排序分片;与第二参与方联合对业务对象进行安全采样,并基于采样结果和第一参与方的排序分片确定第一参与方的采样分片;利用基于多方安全计算的矩阵乘法,基于第一参与方的采样分片和第二参与方的采样分片,确定待确定相关性的特征矩阵中特征之间属于第一参与方的相关性系数分片,以用于与第二参与方的相关性系数分片合成完整的相关性系数。

在本实施例中,当待确定相关性的特征矩阵不符合正态分布时,如果直接对各参与方的特征矩阵中的特征值进行采样并计算特征的相关性,该相关性并不能很好地代表特征之间的相关性。本实施例采用特征值的排序代替特征值,并对排序分片进行采样,继而计算相关性,这样计算的相关性能够很好地代表特征之间的相关性;同时,在处理数据的过程中,各参与方均使用分片数据进行交互,因此本实施例能够在提高处理效率的同时,保护数据的隐私性和安全性。

其中,多方安全计算(Secure Multi-party Computation,MPC)可以包括多种实现方式,例如包括同态加密、混淆电路、不经意传输、秘密分享等技术。在具体实施时,可以根据需要选择使用。

下面通过图2所示实施例,结合数据纵向分布场景,对上述内容进行详细说明。

图2为实施例提供的对象特征之间相关性的确定方法的一种流程示意图。特征数据分布在多个参与方中。多个参与方可以包括第一参与方和第二参与方,每个参与方持有各自的特征矩阵。待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含相同业务对象的不同特征的特征值。为了方便描述,下面以两个参与方A和B为例进行说明,上述的第一参与方可以是参与方A和B中的任意一个。参与方A和B分别存储有相同的多个业务对象的不同特征的特征值。

例如,参与方A可以存储有n个业务对象针对p

在具体实施时,不同参与方通过其对应的设备进行本地数据处理,并与其他设备进行数据交互等过程。任意一个参与方的设备可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等实现。该方法包括以下几个步骤。

步骤S210,参与方A和参与方B确定待确定相关性的特征矩阵是否符合正态分布。当确定待确定相关性的特征矩阵符合正态分布时,各参与方执行步骤S220;当确定待确定相关性的特征矩阵不符合正态分布时,各参与方执行步骤S250。

在数据纵向分布场景中,由于不同参与方拥有所有业务对象的不同特征的特征值,在确定特征矩阵中的特征值分布是否符合正态分布时,可以在对应的参与方本地进行。

参与方A可以确定自身的特征矩阵X

当参与方A确定特征矩阵X

也可以是,参与方A和参与方B分别确定自身的特征矩阵中是否存在不符合正态分布的特征,并相互发送通知消息。只要各参与方的特征矩阵中存在任意一个不符合正态分布的特征,那么各参与方均可以确定当前满足待确定相关性的特征矩阵不符合正态分布的条件,从而使得各参与方执行本实施例的实施流程。

当参与方A的特征矩阵X

下面以参与方A为例,说明如何确定特征矩阵中任意的一个特征,例如第i特征是否符合正态分布。在实际应用中,参与方可以按照一定的顺序分别确定各个特征是否符合正态分布,当确定某个特征不符合正态分布时,可以停止确定其他特征是否符合正态分布。具体的,参与方A可以基于参与方A的特征矩阵X

例如,当偏度值处于第一预设范围中,且峰度值处于第二预设范围中时,确定第i特征的特征值分布符合正态分布。在该情况之外,比如偏度值不在第一预设范围中,和/或,峰度值不在第二预设范围中,都认为第i特征不符合正态分布。第一预设范围和第二预设范围可以根据经验设定,其取值可以相同,也可以不同。

偏度能够衡量随机变量概率分布的不对称性,是随机变量相对于平均值不对称程度的度量。对偏度值的测量,能够判定数据分布的不对称程度以及方向。在确定样本特征的偏度值时,可以采用以下的三阶标准中心距公式计算偏度值:

其中,m

在确定第i特征的偏度值时,x

偏度的衡量是相对于正态分布来说的,正态分布的样本特征的偏度为0,即若数据分布是对称的,则偏度值为零;若偏度值大于0,则特征值的分布图像向右偏,若偏度值小于0,则分布图像向左偏。偏度值的绝对值越大,说明分布图像的偏移程度越严重。第一预设范围可以设定为零值附近的范围,例如[-0.1,0.1]。

峰度是研究数据分布陡峭或者平滑程度的统计量。对峰度值的测量,能够判定数据相对于正态分布而言是更陡峭,还是更平缓。例如,正态分布的峰度为零,数据均匀分布的峰度为-1.2(较平缓),数据指数分布的峰度为6(较陡峭)。峰度,一般定义为四阶中心距m

其中,各参量可以参见式(1);KU为峰度值。

在确定第i特征的峰度值时,x

峰度的衡量是相对于正态分布来说的,正态分布的样本特征的峰度为0。如果峰度值大于0,则数据分布的峰态陡峭,分布图像高、尖;如果峰度值小于0,则分布的峰态平缓,分布图像矮、胖。峰度值的绝对值越接近零,说明分布图像越接近于正态分布。第二预设范围可以设定为零值附近的范围,例如[-0.1,0.1]。

步骤S220,当确定待确定相关性的特征矩阵符合正态分布时,参与方A和参与方B可以分别对自身持有的特征矩阵进行标准化,分别得到参与方A的标准化分片,参与方B的标准化分片。

在本实施例中,参与方A在对特征矩阵X

步骤S230,参与方A和参与方B通过安全交互,联合对所有业务对象进行安全采样,得到采样结果。参与方A基于采样结果从自身的标准化分片中得到参与方A的采样分片,参与方B基于采样结果从自身的标准化分片中得到参与方B的采样分片,继续执行步骤S260。

在大规模数据场景中,样本数量非常多,对应的特征矩阵中包含的特征值数量也会非常多。为了提高处理效率,也避免计算的中间值超出有限域的表示范围,可以对样本进行采样。

在数据纵向分布场景中,不同的参与方拥有所有n个业务对象(即n个样本)的不同特征,因此,在对所有业务对象进行采样时,各参与方所采样得到的业务对象应达到一致。例如,各参与方可以选举其中一个参与方执行对所有n个业务对象进行采样的步骤,并由该参与方将采样结果发送至其他参与方。采样结果可以包括n个业务对象的安全索引,该安全索引不会泄露业务对象的隐私数据。也可以是,由安全的第三方设备执行对所有n个业务对象进行采样的步骤,并由该第三方将采样结果发送至各个参与方。

对业务对象进行采样的过程,可以与对特征矩阵进行标准化处理的过程并行执行,也可以在标准化处理之前执行,本申请对此并不进行限定。在采样时,可以基于采样率进行。例如,采样率可以设置为大于1%(0.01)的值,例如对于千万级别的样本,按照采样率%1进行采样,可以采样10万个样本。对n个业务对象进行采样时,可以基于采样率,对n个业务对象进行随机选取,得到采样结果。采样率可以是根据经验预先设置的比例值;也可以是根据样本的总数量而选择的比例值。

以参与方A为例,对参与方A来说,在基于采样结果从参与方A的标准化分片中确定参与方A的采样分片时,可以根据采样结果,从标准化分片中选择出对应的业务对象的特征数据,得到中间矩阵,基于中间矩阵确定参与方A的采样分片。

在基于中间矩阵确定采样分片时,可以直接将中间矩阵作为采样分片;也可以是,参与方A和参与方B,基于各自的中间矩阵,通过安全的数据交互对中间矩阵进行联合分片后得到。联合分片的具体过程,可以参考下文图3中的第1步和第2步得到,图3所示为利用秘密分享矩阵乘法计算矩阵分片的一种流程示意图。关于图3的具体说明,将在针对下文的步骤S270的说明中给出。

在另一种实施方式中,各参与方可以分别基于采样结果从各自的特征矩阵中选择出对应的业务对象的特征数据,得到中间矩阵,再分别对各自的中间矩阵进行标准化,得到各参与方各自的标准化后的中间矩阵;接着,利用标准化后的中间矩阵确定各参与方的采样分片。在利用标准化后的中间矩阵确定各参与方的采样分片时,具体可以直接将参与方的标准化后的中间矩阵确定为该参与方的采样分片;也可以是,参与方A和B,基于各自的标准化后的中间矩阵,通过安全的数据交互对标准化后的中间矩阵进行联合分片后得到。也就是,标准化处理可以在得到中间矩阵后进行。

步骤S240,参与方A和参与方B,利用基于多方安全计算的矩阵乘法,基于参与方A的采样分片和参与方B的采样分片,利用皮尔逊积矩相关系数公式,分别确定待确定相关性的特征矩阵中特征之间属于参与方A的相关性系数分片和属于参与方B的相关性系数分片。任意一个相关性系数分片,用于与其他参与方的相关性系数分片合成完整的相关性系数。特征的相关性系数分片不属于隐私数据,可以进行明文合成。

如果确定待确定相关性的特征矩阵符合正态分布,也就是采样分片是基于标准化分片得到时,则在执行步骤S240时,可以利用皮尔逊积矩相关系数公式确定特征之间的相关性系数分片,也就是,利用对特征值采样后的数据确定相关性系数。

皮尔逊积矩相关系数(Pearson Product-moment Correlation Coefficient,PPCC)也叫皮尔逊相关系数,可以用于度量两个变量X和Y之间的相关程度(线性相关性)。当皮尔逊积矩相关系数的值介于-1到1之间,当其值的绝对值越大,认为两个变量相关程度越大;反之,相关程度越小。两个变量X和Y之间的皮尔逊积矩相关系数r定义为两个变量的协方差除以它们标准差的乘积:

其中,Cov是两个变量之间的协方差,σ

其中,x

步骤S250,当参与方A和参与方B确定待确定相关性的特征矩阵不符合正态分布时,参与方A对自身持有的特征矩阵X

在大规模数据场景中,当各参与方确定特征矩阵不符合正态分布时,为了提高处理效率,并且避免计算的中间值不可用,可以针对每个特征,按照特征值的大小,对该特征的多个特征值进行排序,并采用序号值代替对应的特征值。

在对特征值进行排序时,可以按照从小到大的顺序,或者从大到小的顺序对多个特征值进行排列,采用序号值代替对应的特征值。例如,样本1~10的点击次数分别为10、21、9、14、13、2、5、11、22和17;对特征值进行排序,得到10个样本的序号值分别为4、9、3、7、6、1、2、5、10和8,将这些序号值分别代替对应的特征值,得到该特征的排序序列。

参与方A和参与方B分别对自身的特征矩阵中的特征值,按照不同特征,将该特征的特征值替换为对应的序号值,各参与方均对各自特征矩阵中的所有特征独立地进行该替换操作。参与方A在对特征矩阵X

在一种实施方式中,矩阵X

在另一种实施方式中,参与方A和参与方B可以分别基于矩阵X

步骤S260,参与方A与参与方B通过安全交互,联合对业务对象进行安全采样。参与方A基于采样结果和参与方A自身的排序分片,确定参与方A的采样分片。参与方B基于采样结果和参与方B的排序分片,确定参与方B的采样分片。

在大规模数据场景中,特征的特征值数量非常多,对应的排序分片中包含的数值也会非常多。为了提高处理效率,也避免计算的中间值超出有限域的表示范围,可以对特征的排序分片进行采样。

在数据纵向分布场景中,不同的参与方拥有所有n个业务对象的不同特征,因此,在对所有业务对象进行采样时,各参与方所采样得到的业务对象应达到一致。例如,各参与方可以选举其中一个参与方执行对所有n个业务对象进行采样的步骤,并由该参与方将采样结果发送至其他参与方。各参与方拥有n个业务对象的安全索引,该安全索引不会泄露业务对象的隐私数据。采样结果中可以包含采样得到的业务对象的安全索引。也可以由安全的第三方设备执行对所有n个业务对象进行采样的步骤,并由该第三方将采样结果发送至各个参与方。

对业务对象进行采样的过程,可以不依赖于排序分片的确定,因此可以在步骤S250之前执行,也可以在步骤S250之后执行。在采样时,可以基于采样率进行。例如,采样率可以设置为大于1%(0.01)的值,例如对于千万级别的样本,按照采样率%1进行采样,可以采样10万个样本。对n个业务对象(也就是n个样本)进行采样时,可以基于采样率,对n个业务对象进行随机选取,得到采样结果。采样率可以是根据经验预先设置的比例值;也可以是根据样本的总数量而选择的比例值。

以参与方A为例,对参与方A来说,在基于采样结果和参与方A的排序分片,确定参与方A的采样分片时,可以根据采样结果,从排序分片中选择出对应的业务对象的特征数据,得到中间矩阵。如果排序分片是各参与方通过安全的数据交互进行联合分片后的结果,那么参与方A可以直接将中间矩阵作为采样分片。

如果排序分片是直接从特征矩阵X

不同参与方的采样分片在假定相拼接的情况下构成采样联合矩阵。将各方的数据采样分片表示,能够更好地保护各方的隐私数据不泄露。

步骤S270,参与方A和参与方B,利用基于多方安全计算的矩阵乘法,基于参与方A的采样分片和参与方B的采样分片,利用斯皮尔曼等级相关系数公式,分别确定待确定相关性的特征矩阵中特征之间属于参与方A的相关性系数分片和属于参与方B的相关性系数分片。任意一个相关性系数分片,用于与其他参与方的相关性系数分片合成完整的相关性系数。特征的相关性系数分片不属于隐私数据,可以进行明文合成。

在本实施例中,当采样分片是基于排序分片得到时,在确定相关性系数时,可以利用斯皮尔曼等级相关系数公式确定特征之间的相关性系数分片,也就是利用对排序分片采样后的数据确定相关性系数。

在统计学中,斯皮尔曼等级相关系数(Spearman's Rank CorrelationCoefficient,SRCC)是衡量两个变量的依赖性的无母数指标。它利用单调方程评价两个统计变量的相关性。斯皮尔曼等级相关系数可以用于分析顺序数据,即数据之间只有顺序关系,但并非等距的情况。若数据中没有重复值,且当两变量完全单调相关时,斯皮尔曼等级相关系数为+1或−1;当量变量完全不相关时,斯皮尔曼等级相关系数为0。

因此,在利用斯皮尔曼等级相关系数确定特征之间的相关性系数时,可以将斯皮尔曼等级相关系数的绝对值与0值或1值进行比较,当其越接近于1时,说明两个特征的相关性越强,当其越接近于0时,说明两个特征的相关性越弱。

两个变量之间的斯皮尔曼等级相关系数ρ可以采用以下公式计算:

其中,x

式(5)可以用于计算两个变量之间的相关性系数。而在本实施例中,各参与方的采样分片中通常包含很多个特征(也就是变量),针对参与方A的所有特征与参与方B的所有特征,为了确定两两特征之间的相关性系数,可以利用不同采样分片之间的联合计算确定,也就是在矩阵层面上操作。

虽然采样分片是对原始的隐私数据进行处理后的数据,但其仍然属于隐私数据,不能明文向外发送,也不能进行明文聚合。在得到各参与方的采样分片后,可以比较方便地利用基于多方安全计算的矩阵乘法,计算式(5)所示的相关性系数分片,从而保证处理过程不泄露隐私数据。基于多方安全计算的矩阵乘法可以包括秘密分享格拉姆矩阵乘法或其他已有的安全矩阵乘法(例如下文图3中的秘密分享矩阵乘法)等。

上述式(4)和式(5)仅仅是计算相关性性系数时的一种举例。在实际应用中,可以对这些公式进行变换,或者通过自定义公式计算相关性系数,这都是可行的。在下面的描述中,仍旧以上述的式(4)或式(5)为例,说明相关性系数的确定过程。

可以发现,式(4)和(5)在形式上是一致的,所使用的数据的来源不同。在计算式(5)时,利用的是排序后的数据;在计算式(4)时,利用的是特征值的数据(非排序后的数据)。为了能够采用式(4)和(5)确定特征之间的相关性系数,并且保证隐私数据不被泄露,可以将式(4)和(5)的计算过程都转换为利用式(3)所示的形式进行的计算,也就是利用两个变量的协方差除以两个变量的标准差的乘积进行计算。

在一种实施方式中,步骤S240和S270可以包含以下步骤1a和2a:

步骤1a,参与方A和参与方B,利用基于多方安全计算的矩阵乘法,基于参与方A的采样分片

步骤2a,基于参与方A的协方差分片

其中,协方差矩阵Cov基于采样联合矩阵X得到。不同参与方的采样分片在假定相拼接的情况下,构成采样联合矩阵X。由于各个参与方不直接进行隐私数据的明文聚合,该采样联合矩阵仅是一种假设情况下的表示,实际中不会直接将各参与方的采样分片拼接在一起。不同参与方的协方差分片在假定重构的情况下,构成协方差矩阵Cov。多个参与方各自的协方差分片在假定重构的情况下,构成完整的协方差矩阵。具体的重构可以是在相加的基础上加入其它的矩阵变换操作,矩阵变换例如包括乘预设值等。

在后续的各种计算中,多个参与方均以分片的形式进行,这样能很好地保护各参与方的数据隐私不被泄露。在后续的描述中,采用“< >”来表示分片,其右下角的字母代表对应的参与方,例如

将上述公式(3)转换到本实施例的场景,并表示成第i个特征与第j个特征之间的相关性系数的形式,具体为

其中,为第i个特征与第j个特征之间的相关性系数,为第i个特征与第j个特征之间的协方差,为第i个特征的标准差,为第j个特征的标准差。

协方差矩阵Cov具体可以基于采样联合矩阵X及其转置矩阵X

第1步,参与方A利用多方安全计算,通过与其他持有方之间的交互,获取第一拆分矩阵

第2步,参与方A在本地生成第一随机矩阵

例如,第一隐秘矩阵

同样的,参与方B在本地生成第二随机矩阵

其中,基于矩阵X

第3步,参与方A基于第一合并矩阵

第4步,参与方A可以基于第一拆分矩阵

可以验证

在具体实施步骤S240或S270时,可以基于SMM中的分块矩阵乘法进行,也可以基于秘密分享转置矩阵乘法进行。具体过程可以参见已有技术,此处不再详述。

以参与方A为例,上述式(6)中的可以表示参与方A的相关性系数分片,分子从协方差分片

为了计算式(6)中分母分之一,也就是根号逆这部分,可以采用安全根号逆算法(Secure Number Sqrt Invert,SNSI)与SMM算法结合进行计算。具体的,参与方A可以基于自身的采样分片中第i特征对应的数据计算第一方差,参与方B基于自身的采样分片中第j特征对应的数据计算第二方差,接着,多个参与方利用SMM与安全根号逆算法的结合,并基于第一方差与第二方差的乘操作,确定第一方差的根号逆与第二方差的根号逆的乘积结果,该乘积结果即是第i特征的标准差与第j特征的标准差之间乘积的倒数。更具体的处理过程可以参见已有技术,此处不再赘述。各参与方得到的乘积结果也是分片结果,计算得到的相关性系数也是分片。

在需要确定第i特征与第j特征之间完整的相关性系数时,一个参与方设备可以从其他参与方设备中获取对应的相关性系数分片,并重构完整的相关性系数。在得到完整的相关性系数时,参与方设备可以将该相关性系数与预设阈值进行比较,确定针对第i特征和第j特征的处理操作,该处理操作可以包括删除特征或融合特征等。

以上内容是对数据纵向分布场景的说明。下面结合图3实施例对数据横向分布的场景进行说明。

图4为实施例提供的对象特征之间相关性的确定方法的另一种流程示意图。待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含不同业务对象的相同特征的特征值。为了方便描述,下面仍然以两个参与方A和B为例进行说明。第一参与方可以是参与方A和B中的任意一个。参与方A和B分别存储有不同业务对象的相同特征的特征值,不同业务对象在相同特征下的特征值是不同的。

例如,参与方A存储有n

任意一个参与方可以通过其设备执行数据处理操作,该设备可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等实现。该方法包括以下几个步骤。

步骤S410,参与方A和参与方B利用多方安全计算确定待确定相关性的特征矩阵是否符合正态分布。当确定待确定相关性的特征矩阵符合正态分布时,各参与方执行步骤S420;当确定待确定相关性的特征矩阵不符合正态分布时,各参与方执行步骤S450。

在本实施例的数据横向分布场景中,由于不同参与方拥有某个特征的部分特征值,在确定特征值分布是否符合正态分布时,需要多方联合确定。例如,针对第i特征,参与方A和参与方B分布拥有第i特征的部分特征值,需要各参与方联合确定该第i特征是否符合正态分布。各方的特征矩阵在假定相拼接的情况下构成特征联合矩阵,X

参与方A和参与方B可以基于各自的特征矩阵,利用多方安全计算,确定特征联合矩阵中是否存在不符合正态分布的特征。当确定特征联合矩阵中存在不符合正态分布的特征时,确定待确定相关性的特征矩阵不符合正态分布。当确定特征联合矩阵中的特征都符合正态分布时,确定待确定相关性的特征矩阵符合正态分布。为了针对特征矩阵中的多个特征进行整体操作,当存在至少一个特征不符合正态分布时,即可以确定当前满足待确定相关性的特征矩阵不符合正态分布的条件,从而各参与方可以执行本实施例的实施流程,对所有的特征矩阵进行排序,并用序号值代替对应的特征值。

下面以第i特征为例,说明各参与方利用多方安全计算,确定第i特征是否符合正态分布。在实际应用中,各参与方可以按照一定的顺序分别确定各个特征是否符合正态分布,当确定某个特征不符合正态分布时,可以停止确定其他特征是否符合正态分布。具体的,各参与方可以基于各参与方的特征矩阵中第i特征的多个特征值,利用秘密分享加法和乘法,各参与方联合确定第i特征的偏度值和峰度值;基于偏度值和峰度值,确定第i特征是否符合正态分布。

例如,当偏度值处于第一预设范围中,且峰度值处于第二预设范围中时,可以确定第i特征的特征值分布符合正态分布。在该情况之外,比如偏度值不在第一预设范围中,和/或,峰度值不在第二预设范围中,都认为第i特征的特征值分布不符合正态分布。第一预设范围和第二预设范围可以根据经验设定,其取值可以相同,也可以不同。

在确定第i特征的偏度值时,参与方A和参与方B可以基于式(1),通过多方安全计算,计算偏度值。具体的,对于式(1)的分子部分和分母部分,可以分别利用秘密分享加法和乘法确定分子部分的分片和分母部分的分片,各个参与方分别基于分子部分的分片和分母部分的分片确定偏度值分片。多个偏度值分片可以汇聚到某个参与方中,并重构出完整的偏度值。

在确定第i特征的峰度值时,参与方A和参与方B可以基于式(2),通过多方安全计算,计算峰度值。具体的,对于式(2)的分子部分和分母部分,可以分别利用秘密分享加法和乘法确定分子部分的分片和分母部分的分片,各个参与方分别基于分子部分的分片和分母部分的分片确定峰度值分片。多个峰度值分片可以汇聚到某个参与方中,并重构出完整的峰度值。

步骤S420,当确定待确定相关性的特征矩阵符合正态分布时,参与方A和参与方B可以利用秘密分享加法和乘法,基于参与方A的特征矩阵和参与方B的特征矩阵,联合对特征矩阵进行标准化,得到参与方A的标准化分片,以及参与方B的标准化分片。

在数据横向分布场景中,对特征矩阵进行标准化处理时,需要各参与方利用多方安全计算联合进行。例如,在特征矩阵的列表示特征,行表示样本的情况下,可以基于秘密分享加法和乘法,以及各个参与方的特征矩阵中的数据,确定每一列的特征值x的平均值μ和方差σ,不同参与方分别利用(x-μ)/σ对特征矩阵中的特征值进行标准化处理。

步骤S430,各参与方可以分别对业务对象进行采样,并基于采样结果和各参与方的标准化分片确定各参与方的采样分片。

参与方A可以对业务对象(例如n

在本实施例中,在基于采样结果和标准化分片确定采样分片时,具体可以根据采样结果,从标准化分片中选择出对应的业务对象的特征数据,得到中间矩阵,基于中间矩阵确定采样分片。在基于中间矩阵确定采样分片时,可以利用参与方A的中间矩阵和参与方B的中间矩阵,通过安全的数据交互进行联合分片,分别得到参与方A的采样分片和参与方B的采样分片。

在另一种实施方式中,参与方可以分别基于采样结果,从自身的特征矩阵中选择出对应的业务对象的特征数据,得到中间矩阵,接着,各参与方利用秘密分享加法和乘法,基于各自的特征矩阵,联合对中间矩阵进行标准化,得到各参与方的标准化后的中间矩阵。然后,各参与方基于各自的标准化后的中间矩阵,通过安全的数据交互对标准化后的中间矩阵进行联合分片,分别得到参与方A的采样分片和参与方B的采样分片。也就是,标准化处理可以在得到中间矩阵后进行。

步骤S440,参与方A和参与方B,利用多方安全计算,基于参与方A的采样分片和参与方B的采样分片,利用皮尔逊积矩相关系数公式确定待确定相关性的特征矩阵中特征之间属于参与方A的相关性系数分片和属于参与方B的相关性系数分片。任意一个相关性系数分片,用于与其他参与方的相关性系数分片合成完整的相关性系数。

如果确定待确定相关性的特征矩阵符合正态分布,则在执行步骤S440时,可以基于皮尔逊积矩相关系数公式确定特征之间的相关性系数,也就是利用包含特征值数据的采样分片确定相关性系数。

利用式(4)的皮尔逊积矩相关系数公式计算特征之间的相关系性系数,其计算过程可以转换为利用式(3)进行计算,具体的计算过程可以参见步骤S470中的说明。

步骤S450,当参与方A和参与方B确定待确定相关性的特征矩阵不符合正态分布时,参与方A和参与方B利用多方安全计算,联合对各方特征矩阵中的特征值进行安全排序,并采用序号值分片代替对应的特征值分片,使得不同参与方分别得到各自的排序分片。

由于第i特征的多个特征值分布在不同参与方中,在对特征值进行安全排序时,可以利用基于安全排序算法的多方安全计算,通过不同参与方之间的交互,将各参与方拥有的特征值分片替换为对应的序号值分片。还可以是,参与方A和B通过安全的数据交互,基于各自的特征矩阵,分别得到特征矩阵分片(为n*p维),并利用基于安全排序算法的多方安全计算,通过参与方之间的交互,分别得到排序后的序号值分片,并利用序号值分片代替对应的特征值分片。特征值及其排序结果属于隐私数据,采用序号值分片代替对应的特征值分片能够保护隐私数据不被泄露。利用多方安全计算对分布在不同参与方中的多个特征值进行排序的具体实施过程,可以参见已有技术,此处不再赘述。

参与方A在对特征矩阵X

在一种实施方式中,矩阵X

在另一种实施方式中,参与方A和参与方B可以分别基于矩阵X

步骤S460,参与方A对业务对象进行采样,并基于采样结果和参与方A的排序分片确定参与方A的采样分片。参与方B对业务对象进行采样,并基于采样结果和参与方B的排序分片确定参与方B的采样分片。

如果参与方A的排序分片的维度为n

如果参与方A和参与方B的排序分片的维度都是n*p,即各参与方进行过联合分片,则在对业务对象进行采样时,多个参与方应联合对所有n个业务对象进行安全采样,得到采样结果。接着,各参与方分别基于该采样结果和各自的排序分片,确定各自的采样分片。

对业务对象进行采样的过程,可以不依赖于排序分片的确定,因此可以在步骤S450之前执行,也可以在步骤S450之后执行。在采样时,可以基于采样率进行。当不同参与方各自独立地进行采样时,可以分别基于本地数据的数量(例如n

以参与方A为例,参与方A基于采样结果和自身的排序分片,确定参与方A的采样分片时,可以根据采样结果,从排序分片中选择出对应的业务对象的特征数据,得到采样分片。

步骤S470,参与方A和参与方B,利用多方安全计算,基于参与方A的采样分片和参与方B的采样分片,利用斯皮尔曼等级相关系数公式确定待确定相关性的特征矩阵中特征之间属于参与方A的相关性系数分片和属于参与方B的相关性系数分片。任意一个相关性系数分片,用于与其他参与方的相关性系数分片合成完整的相关性系数。

在本实施例中,当采样分片是基于排序分片得到时,在本步骤中确定相关性系数分片时,可以基于斯皮尔曼等级相关系数公式确定,也就是利用对排序采样后的数据确定相关性系数。

步骤S470的具体说明可以参见步骤S270,下面仅针对两步骤之间的不同之处进行说明。不管是利用式(5)的斯皮尔曼等级相关系数公式,还是利用式(4)的皮尔逊积矩相关系数公式计算特征之间的相关系性系数,其计算过程都可以转换为利用式(3)进行计算。因此,步骤S440或步骤S470在具体实施时可以包括以下步骤1b和2b:

步骤1b,参与方A基于采样分片

步骤2b,基于参与方A的协方差分片

其中,协方差矩阵Cov基于采样联合矩阵X得到。不同参与方各自的采样分片在假定相拼接的情况下,构成采样联合矩阵X。不同参与方的协方差分片在假定重构的情况下,构成协方差矩阵Cov。

在数据横向分布场景中,利用式(3)进行计算,也就是对式(6)进行计算。

在数据横向分布场景中,参与方在计算步骤1b中的协方差矩阵的协方差分片时,仅利用各参与方本地的采样分片即可计算得到。这是因为,协方差矩阵Cov可以基于采样联合矩阵X及其转置矩阵X

在计算式(6)中的分母分之一时,可以采用安全根号逆算法与SMM算法结合进行确定第i特征的标准差与第j特征的标准差之间乘积的倒数。具体的处理过程可以参见已有技术,此处不再赘述。

在执行步骤2b时,参与方A可以从协方差分片

本说明书中,第一参与方、第一预设范围等词语中的“第一”,以及文中相应的“第二”,仅仅是为了区分和描述方便,而不具有任何限定意义。

上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。

图5为实施例提供的对象特征之间相关性的确定装置的一种示意性框图。待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含相同业务对象的不同特征的特征值。该装置实施例与图2所示方法实施例相对应。该装置500部署在第一参与方中,包括:

第一替代模块510,配置为当所述待确定相关性的特征矩阵不符合正态分布时,对所述第一参与方的特征矩阵中的特征值进行排序,并采用序号值代替对应的特征值,得到所述第一参与方的排序分片;

第一采样模块520,配置为与所述第二参与方联合对所述业务对象进行安全采样,并基于采样结果和所述第一参与方的排序分片确定所述第一参与方的采样分片;

第一确定模块530,配置为利用基于多方安全计算的矩阵乘法,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片,以用于与所述第二参与方的相关性系数分片合成完整的相关性系数。

在一种实施方式中,所述装置500还包括:

第一标准化模块540,配置为当所述待确定相关性的特征矩阵符合正态分布时,对自身持有的特征矩阵进行标准化,得到所述第一参与方的标准化分片;

第二采样模块550,配置为与所述第二参与方联合对所述业务对象进行安全采样,并基于采样结果从所述第一参与方的标准化分片中得到采样分片,继续执行所述第一确定模块530。

在一种实施方式中,所述装置500还包括:

第二确定模块(图中未示出),配置为采用以下操作确定待确定相关性的特征矩阵是否符合正态分布:

当确定所述第一参与方的特征矩阵中存在不符合正态分布的特征时,确定所述待确定相关性的特征矩阵不符合正态分布。

在一种实施方式中,第二确定模块还配置为:

当确定所述第一参与方的特征矩阵中的特征都符合正态分布时,获取用于表征所述第二参与方的特征矩阵中是否存在不符合正态分布的特征的结果;

当所述结果表明所述第二参与方的特征矩阵中存在不符合正态分布的特征时,确定所述待确定相关性的特征矩阵不符合正态分布。

在一种实施方式中,第二确定模块,还配置为采用以下操作确定所述第一参与方的特征矩阵中是否存在不符合正态分布的特征:

基于所述第一参与方的特征矩阵中第i特征的多个特征值,确定所述第i特征的偏度值和峰度值;

基于所述偏度值和峰度值,确定所述第i特征是否符合正态分布。

在一种实施方式中,所述第二确定模块,确定第i特征是否符合正态分布时,包括:

当所述偏度值处于第一预设范围中,且所述峰度值处于第二预设范围中时,确定所述第i特征符合正态分布。

在一种实施方式中,所述第一确定模块530包括:

第一确定子模块(图中未示出),配置为利用基于多方安全计算的矩阵乘法,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定协方差矩阵的协方差分片;其中,所述协方差矩阵基于采样联合矩阵得到;各方的采样分片在假定相拼接的情况下构成所述采样联合矩阵;各方的协方差分片在假定重构的情况下构成所述协方差矩阵;

第二确定子模块(图中未示出),配置为基于所述第一参与方的协方差分片、采样分片以及所述第二参与方的采样分片,利用基于多方安全计算的矩阵乘法,确定所述第一参与方的相关性系数分片。

图6为实施例提供的对象特征之间相关性的确定装置的另一种示意性框图。待确定相关性的特征矩阵包括第一参与方和第二参与方分别持有的特征矩阵,不同的特征矩阵包含不同业务对象的相同特征的特征值。该装置实施例与图4所示方法实施例相对应。装置600部署在第一参与方设备中,包括:

第二替代模块610,配置为当所述待确定相关性的特征矩阵不符合正态分布时,利用多方安全计算,不同参与方联合对各方特征矩阵中的特征值进行安全排序,并采用序号值分片代替对应的特征值分片,使得不同参与方分别得到各自的排序分片;

第三采样模块620,配置为对业务对象进行采样,并基于采样结果和所述第一参与方的排序分片确定所述第一参与方的采样分片;

第三确定模块630,配置为利用多方安全计算,基于所述第一参与方的采样分片和所述第二参与方的采样分片,确定所述待确定相关性的特征矩阵中特征之间属于所述第一参与方的相关性系数分片,以用于与第二参与方的相关性系数分片合成完整的相关性系数。

在一种实施方式中,所述装置600还包括:

第二标准化模块640,配置为当所述待确定相关性的特征矩阵符合正态分布时,利用秘密分享加法和乘法,与所述第二参与方联合对特征矩阵进行标准化,得到各参与方的标准化分片;

第四采样模块650,配置为对业务对象进行采样,并基于采样结果和所述第一参与方的标准化分片确定所述第一参与方的采样分片,返回执行所述第三确定模块630。

在一种实施方式中,所述装置600还包括:

第四确定模块(图中未示出),配置为采用以下操作确定所述待确定相关性的特征矩阵是否符合正态分布:

利用多方安全计算,不同参与方基于各自的特征矩阵,确定特征联合矩阵中是否存在不符合正态分布的特征;各方的特征矩阵在假定相拼接的情况下构成所述特征联合矩阵;

如果存在,则确定所述待确定相关性的特征矩阵不符合正态分布。

在一种实施方式中,所述第四确定模块,确定特征联合矩阵中是否存在不符合正态分布的特征时,包括:

基于各参与方的特征矩阵中第i特征的多个特征值,利用秘密分享加法和乘法,各参与方联合确定所述第i特征的偏度值和峰度值;

基于所述偏度值和峰度值,确定所述第i特征是否符合正态分布。

在一种实施方式中,所述第三确定模块630包括:

第三确定子模块(图中未示出),配置为基于所述第一参与方的采样分片,确定协方差矩阵的协方差分片;其中,所述协方差矩阵基于采样联合矩阵得到;各方的采样分片在假定相拼接的情况下构成所述采样联合矩阵;

第四确定子模块(图中未示出),配置为基于所述第一参与方的协方差分片、采样分片以及所述第二参与方的采样分片,利用基于多方安全计算的矩阵乘法,确定所述第一参与方的相关性系数分片。

上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。

本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1-1、图1-2、图2至图4任一项所述的方法。

本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1-1、图1-2、图2至图4任一项所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

相关技术
  • 针对大规模数据的对象特征之间相关性的确定方法及装置
  • 多方联合确定隐私数据中对象特征相关性的方法及装置
技术分类

06120114688911