CN110909216A - 检测用户属性之间的关联性的方法及装置 - Google Patents
检测用户属性之间的关联性的方法及装置 Download PDFInfo
- Publication number
- CN110909216A CN110909216A CN201911228336.2A CN201911228336A CN110909216A CN 110909216 A CN110909216 A CN 110909216A CN 201911228336 A CN201911228336 A CN 201911228336A CN 110909216 A CN110909216 A CN 110909216A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- attribute
- user attribute
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 239000011159 matrix material Substances 0.000 claims abstract description 240
- 238000004364 calculation method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims description 25
- 238000012935 Averaging Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 239000013598 vector Substances 0.000 description 58
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 238000013499 data model Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了检测用户属性之间的关联性的方法和装置,用于在S个数据方基于安全计算的业务处理中,针对S个数据方联合提供的m个样本用户,检测p个用户属性之间的关联性。其中,S个数据方本地分别拥有部分用户属性数据作为隐私数据。为了维护各个数据方的隐私数据的安全性,可以由各个数据方拆分计算p个用户属性对应的协方差矩阵,并根据协方差矩阵,分别确定p个用户属性中两两用户属性分别对应的各个相关系数,接着基于各个相关系数,以及上述协方差矩阵,检测p个用户属性相互之间的关联性。与常规技术中直接根据属性值计算各个用户属性的VIF,以确定用户属性的关联关系相比,可以大大减少计算的复杂度,提高安全计算的有效性。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及基于多方安全计算的业务处理中,检测用户属性之间的关联性的方法及装置。
背景技术
随着大数据化的发展趋势,数据共享已成为具有研究价值和实用性问题。数据共享通常是指多个数据方,在保护各自数据隐私的情况下,共同进行数据挖掘或机器学习工作,以期挖掘出数据中更大的价值的内容。举例而言,三个金融平台(如三个银行)作为三个数据方,各自拥有若干用户的征信数据,可以联合起来训练一个综合的征信模型,用于在向用户放贷等业务的参考。
然而,多方安全计算中的多个数据方,出于对私有数据的安全性的考虑,通常不向其他数据方公开自己的私有数据。在训练样本构造过程中,各个数据方提供的样本用户的用户属性之间可能存在关联性(如线性关联,也可以称之为共线性),即,一个用户属性可以很好地通过其他至少一个用户属性表示,造成训练样本的特征冗余。
发明内容
本说明书一个或多个实施例描述的用户属性之间的关联性的方法及装置,可以用于解决背景技术部分提到的一个或多个问题。
根据第一方面,提供了一种检测用户属性之间的关联性的方法,用于在S个数据方基于安全计算的业务处理中,针对所述S个数据方联合提供的m个样本用户,检测p个用户属性之间的关联性,单个样本用户对应分别用于表征所述p个用户属性的p个属性值,所述方法包括:
获取所述S个数据方联合确定的、所述p个用户属性对应的协方差矩阵,其中,所述协方差矩阵中的各个元素由所述S个数据方通过以下方式确定:S个数据方分别按照本地的子样本集,构造S个初始矩阵;S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素;
根据所述协方差矩阵,分别确定所述p个用户属性中两两用户属性分别对应的各个相关系数;
基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的关联性。
在一个实施例中,i为1至S之间的自然数,在数据方i本地的子样本集包括m个样本用户,以及单个样本用户的pi个用户属性的情况下,p1至pS的和为p;
所述S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理包括:
数据方i对本地的第i初始矩阵中的pi个用户属性,分别按照其属性值确定相应的pi个均值,其中,用户属性Xl的均值为用户属性Xl对应于m个样本用户的m个属性值之和除以m;
将各个用户属性的属性值分别减去相应的均值,以完成针对用户属性的零均值化处理。
在一个进一步的实施例中,所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素包括:
数据方i针对第i初始矩阵零均值化处理后得到的子矩阵Mi,在本地计算Mi 2,Mi 2中的各个元素分别对应到所述协方差矩阵中,所述pi个用户属性两两之间的协方差;
数据方i和数据方j利用经过零均值化处理后的子矩阵Mi和Mj,联合计算对应的协方差矩阵 中的元素Cvt对应到所述协方差矩阵中,数据方i提供的用户属性pi_v与数据方j提供的用户属性pj_t之间的协方差。
在一个实施例中,i为1至S之间的自然数,在数据方i的子样本集提供ni个样本用户中单个样本用户的p个用户属性的情况下,n1至nS的和为m;
所述S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理包括:
针对第l用户属性,数据方i计算第i初始矩阵中第l用户属性对应的各个属性值之和Xli,其中l为1至p之间的自然数;
S个数据方联合计算从1至S的情况下,用户属性Xl的均值,即:i从1取至S的各个Xli之和,与m的倒数的乘积;
数据方i获取Xl的均值,并将第i初始矩阵中与用户属性Xl的各个属性值分别减去Xl的均值。
在一个进一步的实施例中,所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素包括:
数据方i利用经过零均值化处理后的相应子矩阵Mi在本地计算p×p维矩阵Mi 2;
S个数据方联合计算i从1取到S的各个p×p维矩阵Mi 2中,第v行第t列的元素的和,得到所述协方差矩阵中第v行第t列的元素Cvt,其中,t、v均为1到p之间的自然数。
在一个实施例中,S个数据方的联合计算过程中,加法计算采用秘密分享的加法方式进行,两个数据方之间的矩阵乘法计算采用秘密分享的矩阵乘法的方式进行。
在一个实施例中,所述根据所述协方差矩阵,分别确定所述p个用户属性中两两用户属性分别对应的各个相关系数包括:
确定用户属性Xi和用户属性Xj的相关系数为,用户属性Xi和用户属性Xj的协方差与以下项的商:用户属性Xi的方差与用户属性Xj的方差之积的平方根,其中,用户属性Xi的方差为所述协方差矩阵中第i行第i列的元素,用户属性Xj的方差为所述协方差矩阵中第j行第j列的元素,用户属性Xi和用户属性Xj的协方差为所述协方差矩阵中第i行第j列的元素,或者第j行第i列的元素。
在一个实施例中,在i≠j的情况下,用户属性Xi和用户属性Xj的相关系数为第一相关系数;所述基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的关联性包括:
检测所述第一相关系数是否大于预设的第一阈值;
在所述第一相关系数大于预设的第一阈值的情况下,确定用户属性Xi和用户属性Xj线性关联。
在一个实施例中,如果用户属性Xi和用户属性Xj线性关联,所述方法还包括:
滤除用户属性Xi或用户属性Xj。
在一个实施例中,如果用户属性Xi和用户属性Xj线性关联,所述基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的共线性还包括:
在所述协方差矩阵中删除与用户属性Xj或用户属性Xj对应的行及列,得到更新的协方差矩阵;
确定所述更新的协方差矩阵的本征值;
基于所述本征值与预设的第二阈值的对比,确定剩余用户属性中是否存在多重用户属性的线性关联。
在一个实施例中,所述基于所述本征值与预设的第二阈值的对比,确定剩余用户属性中是否存在多重用户属性的线性关联包括:
在所述本征值小于所述第二阈值,剩余用户属性中存在多重用户属性的线性关联的情况下,通过所述S个数据方联合计算剩余用户属性中各个用户属性分别对应的各个方差膨胀因子;
确定满足条件的方差膨胀因子对应的用户属性与多重用户属性具有线性关联。
根据第二方面,提供了一种检测用户属性之间的关联性的装置,用于在S个数据方基于安全计算的业务处理中,针对所述S个数据方联合提供的m个样本用户,检测p个用户属性之间的关联性,单个样本用户对应分别用于表征所述p个用户属性的p个属性值,所述装置包括:
获取单元,配置为获取所述S个数据方联合确定的、所述p个用户属性对应的协方差矩阵,其中,所述协方差矩阵中的各个元素由所述S个数据方通过以下方式确定:S个数据方分别按照本地的子样本集,构造S个初始矩阵;S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素;
确定单元,配置为根据所述协方差矩阵,分别确定所述p个用户属性中两两用户属性分别对应的各个相关系数;
检测单元,配置为基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的关联性。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述第一方面的方法。
本说明书实施例提供了检测用户属性之间的关联性的方法和装置,在基于多方安全计算的业务处理中,尽可能多地利用各个数据方的本地数据处理,配合少量的多方数据联合计算,共同确定出样本用户的多个用户属性间的协方差矩阵,据此来检测用户属性之间的关联性,可以大大减少不同数据方之间的数据交互。如此,可以大大减少数据处理的复杂度,同时,有效维护不同数据方之间的私有数据安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书实施例的一个实施场景示意图;
图2示出根据一个具体例子的多个数据方联合确定用户属性之间的协方差矩阵的流程示意图;
图3示出一个具体例子的多个数据方拥有不同样本用户的相同用户属性数据情形示意图;
图4示出一个具体例子的多个数据方拥有相同样本用户的不同用户属性数据情形示意图;
图5示出根据一个实施例的检测用户属性之间的关联性的流程示意图;
图6示出一个具体例子的检测用户属性之间的关联性的流程框图;
图7示出根据一个实施例的检测用户属性之间的关联性的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
首先,结合图1示出一个具体实施场景进行说明。如图1所示,在该实施场景中,多个数据方分别拥有自己的私有数据。这些数据可以在加密状态下通过各个数据方流通,或者发送至计算平台。
这里,多个数据方可以是相同类别的数据方,例如都是银行类别数据方,或者都是购物平台数据方等等。多个数据方也可以是不同类别的数据方,例如数据方1是购物平台数据方,数据方2是贷款类别数据方,等等。相应地,各个数据方能够提供的数据类别可以相同也可以不相同,例如,购物平台数据方可以提供用户的消费数据,银行数据方可以提供用户的收支流水,贷款类别数据方可以提供用户的贷款及还款情况,等等。根据不同的应用场景,各个数据方可以在加密状态下进行数据交互,或者协同完成某项任务。在图1示出的实施场景中,各个数据方可以分别提供出私有数据,共同训练相关数据模型。
图1中的计算平台可以是区别于各个提供数据的数据方的他方平台,也可以是各个数据方中的任一数据方平台,还可以是分布于各个数据方的平台。该平台例如可以用于训练模型,并提供给各个数据方,以供各个数据方使用训练好的数据模型。这里的数据模型可以是回归模型、分类模型,等等,数据模型的作用根据场景需求确定,例如预测用户的信用度、预测用户的年龄,等等,本说明书实施例对此不做限定。
值得说明的是,图1中示出的数据方、计算平台的数量仅为示例,实际应用中,数据方的数量为两个或两个以上,根据实际需求设置。计算平台可以是设置于提供数据的数据方之外的他方计算平台,也可以是设置于某个数据方的计算平台,还可以是分布于各个数据方的计算平台,在此不做限定。另外,在其他场景中,计算平台也可以用于训练模型之外的其他业务处理。
可以理解,在各个数据方提供的数据包括针对样本用户的属性描述数据的情况下,这些数据通常可以用于与用户属性相关的业务处理,例如,通过用户属性提取用户特征,用于基于机器学习的用户分析,等等。而这些用户属性中,可能存在一些关联关系,尤其是不同数据方提供相同样本用户的不同用户属性的情况下,例如属性之间存在交叉或重叠关系。具体地,这些用户属性可能通过不同的名称描述相同的性质(例如历史浏览次数和访问次数),也可能通过其他多个属性描述另外一个属性。当对用户属性赋值,得到属性值的情况下,可以表现为属性值之间的两两共线性(如x2=ax1),或者多重共线性(如xk=a1x1+a2x2+……)。
如果一个用户属性可以用其他用户属性很好地线性表达,那么其是否存在对于用户分析的结果意义不大。在样本用户和/或用户属性数量较多的情况下,对于多个数据方提供的样本用户,进行用户属性的筛选或融合,去掉与其他用户属性具有线性关联关系的部分用户属性,可以大大减少数据处理量。
常规技术中,通常基于MPC(Model Predictive Control,模型预测控制)的VIF(Variance Inflation Factor,方差膨胀因子)等方式确定特征共线性。如果将用户属性的属性值看作特征,那么属性的线性关联性可以相当于这里的特征共线性。其计算方法为:VIFi=1/(1-Ri 2)。其中,Ri 2是以特征i为因变量时对其它多方自变量做回归的复测定系数。由于每个特征需计算一个VIF值,其通信量和计算复杂度较大,尤其在特征较多的情况下,复杂度非常大,在多方安全计算中,每次计算都需要进行多方基于隐私的线性回归,更增加了数据处理的复杂度。因此,基于隐私保护的VIF检验方法耗时较长,不利于多方平台快速进行数据预处理。
本说明书实施例提供的技术架构,通过多方协同计算协方差矩阵,可以快速检测用户属性之间的关联性。
下面详细描述本说明书实施例的技术构思。
可以理解,在概率论和统计学中,协方差用于衡量两个变量的总体误差。从直观上来看,协方差表示的是两个变量总体误差的期望。如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。如果两个变量是统计独立的,那么二者之间的协方差就是0。
当变量是用户属性时,协方差矩阵中的每个元素,可以用于表示相应两个属性分量之间的协方差,亦即其变化趋势的一致性。
本领域技术人员容易理解,对于一组用户属性X1、X2……Xn,构成属性向量[X1、X2……Xn]T,假设每个用户属性对应m个样本,则每列对应一个样本,每行对应一个用户属性,有样本属性矩阵:
用户属性Xi和用户属性Xj之间的协方差可以表示为:
Cij=E{[Xi-E(Xi)][Xj-E(Xj)]}
将已知的用户属性在各个样本上的取值代入并简化后,有:
从而,m个样本中,用户属性X1、X2……Xn的协方差矩阵为:
如果均值向量为零向量,那么协方差矩阵可以简化为:
基于上述理论,对于多个数据方提供的数据,可以对属性矩阵按照用户属性进行零均值化,那么协方差矩阵中的各个元素仅与各个样本用户的属性向量相关。在多方安全计算中,由于各个数据方彼此之间数据的不透明,协方差矩阵需要各方协作来完成。通过零均值化处理,可以使得多个参与安全计算的数据方之间的交互数据量大大减少。
在这种技术构思下,多个数据方可以如图2所示,通过以下方式确定特征的协方差矩阵中的各个元素:步骤201,S个数据方分别按照自本地的子样本集,构造S个初始矩阵;步骤202,各个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;步骤203,S个数据方利用各个初始矩阵的零均值化处理结果,联合确定协方差矩阵中的各个元素。
在步骤201中,S个数据方分别按照自本地的子样本集,构造S个初始矩阵。可以理解,各个数据方拥有不同的数据,每个数据方的数据集都可以作为整体数据中的子数据集,从每个子数据集确定出的关于样本用户的数据集,在本说明书实施例中称为子样本集,通过子样本集构造的单数据方的属性矩阵称为初始矩阵。
对于一个样本用户来说,其p个用户属性可以通过相应的p个属性值来表征,这p个属性值按列排布构成该样本用户的属性向量。对一个用户属性来说,针对m个样本用户中的每个样本用户都可以对应一个表征该用户属性的属性值,得到按行排列的m个属性值。如前文所描述,每列对应一个用户样本,每一行可以表示一个用户属性对应各个样本用户的属性值。在实际场景中,各数据方提供的子样本集的组合方式不同,那么相应的初始矩阵在整体中位置也不同。请参考图3、图4所示。
在图3示出的具体例子中,各个数据方拥有不同样本用户的属性数据,针对各个样本用户均可以采集用户属性X1、X2、X3……Xp上的值。例如,在对用户信用情况进行预测的场景中,数据方1拥有样本用户张三、用户李四……的样本数据,数据方2拥有样本用户王一、用户李六……的样本数据,数据方S拥有样本用户赵三、用户钱八……的属性数据,每个样本用户对应的属性数据可以在用户属性X1(例如历史金融守约情况)、X2(例如历史消费情况)、X3(例如历史购买行为周期)……Xp(例如职业情况)等上提取出相应的属性值(如X3=10)。每个数据方根据本地的子样本集,确定的初始矩阵例如图3中的各个虚线框所示。数据方i确定的初始矩阵可以记为第i初始矩阵,或者Mi(i=1,2……S)。在每个数据方确定的初始矩阵记为Mi(i=1,2……S)的情况下,S个数据方确定的整体属性矩阵可以记为M=(M1,M2,……Ms)。这种情况下,相当于对多个数据方整体的特征矩阵沿水平方向上进行切分,每个数据方拥有一个纵向的初始矩阵,因此在本说明书实施例中,也可以称图3的情形为水平切分情形。
在图4示出的具体例子中,各个数据方拥有的样本数据可以对应相同样本用户的不同用户属性。此时,各个数据方针对每个样本用户拥有的数据项可以不相同(各数据方拥有的数据项无交集,即没有完全相同的数据项),例如,数据方1拥有样本用户的历史购买行为数据,数据方2拥有样本用户的金融守约行为数据,等等。也就是说,每个数据方针对相同的样本用户,可以具有不同维度的用户属性。在各数据方拥有的数据项无交集的情况下,各个用户属性也相互没有交集。例如,在对用户信用情况进行预测的场景中,如图4所示,数据方1提供的数据可以包括m个样本用户分别对应的用户属性X1、X2,数据方2提供的数据可以包括m个样本用户分别对应的特征X3等……数据方S提供的数据可以包括m个样本用户分别对应的特征Xp等。每个数据方根据本地自有数据的子样本集,确定的初始矩阵例如图4中的各个虚线框所示。如果将每个数据方确定的初始矩阵记为Mi(i=1,2……S),则整体属性矩阵可以是M=(M1,M2,……Ms)T。这种情况下,相当于各个数据方的初始矩阵是对多个数据方整体的属性矩阵沿竖直方向进行切分,因此在本说明书实施例中,也可以称图4示出的情形为竖直切分情形。
在其他情况下,还可能有竖直切分和水平切分相结合等更复杂的情形,在此不再一一例举。可以理解的是,实践中,为了减少各个数据方之间的交互,以及对隐私数据的保护,各个数据方分别确定本地的初始矩阵并保存在本地,并不需要组合成整体的属性矩阵。
按照前述的协方差矩阵理论,将一个用户属性的各个属性值分别减去该用户属性对应的均值,即进行零均值化的情况下,协方差矩阵的计算得到大大简化,因此,在步骤202中,各个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理。在每个用户属性的属性值对应矩阵中的一行的情况下,该步骤202也可以理解为进行行均值化处理。
零均值化又称为中心化,其方式是将进行零均值化的各个数值减去它们的均值。在多方安全计算中,由于数据的不透明性(虽然在上述例子中给出了组合在一起的整体特征矩阵的表示,但仅为了说明原理,并没有真正地将各个数据方的组合在一起,仍然是各个数据方分别拥有本地数据和各自的初始矩阵),各个数据方无法获知其他数据方的数据,在一个实施例中,可以按照秘密分享等方式,将数据拆分成随机数并分享给其他数据方,经由多方协同运算进行零均值化。然而,这种运算涉及多次数据方之间的数据交互,为了降低运算的复杂度,在其他实施例中,还可以由各个数据方分别对本地的初始矩阵按照用户属性进行在整体属性矩阵中的零均值化处理。也就是说,在不将各数据方的初始矩阵合并成整体属性矩阵的情况下,针对各个初始矩阵,按照合并成整体属性矩阵的原理进行各个用户属性上的属性值的零均值化处理。
从图3和图4示出的具体例子可以看出,图4中,每个用户属性在各个样本用户的属性值都由同一个数据方提供,因此,针对特征的零均值化处理可以由相应数据方完成,而图3示出的例子中,每个用户属性对应的属性值分布在不同数据方,因此针对用户属性的均值可以由各个数据方协同完成。假设总的样本数为m,数据方共有S个,总的样本属性维度数为p,下面分别详细介绍不同情形下的零均值化处理方式。
图3示出的情形下,总的样本用户数量m为S个数据方的样本用户数量之和(数据方i提供ni个样本用户,n1至nS的和为m),各个数据方提供的用户属性维度一致,例如都是p,则每个数据方都提供本地样本用户的p个用户属性(对应p个属性值)。
根据一个实施方式,各个数据方可以根据秘密共享等方式计算用户属性Xl各个属性值的均值,其中1≤l≤p。可以理解,Xl1、Xl2……Xlm对应的分别是用户属性Xl针对各个样本的属性值。这里的加法运算可以采用秘密分享的数值加法运算,即,每个数据方将本地数值生成S-1个随机数,再根据自己拥有的数值计算本地数值与S-1个随机数之和的差,这样,将本地数值随机拆分成S份。之后每个数据方随机留下一份并将其他S-1份随机分享给其他S-1个数据方,最终每个数据方拥有S份随机数,各个数据方分别提供出S份随机数,对S×S分随机数加和便得到样本值之和。可选地,每个数据方可以在多方联合计算之前,先对本地的各个用户属性的属性值分别进行加和,并将加和结果作为秘密分享的加法运算的数值。
以上计算方式中,对于每个用户属性,S个数据方可以进行一次联合的秘密分享的加法运算。这样,S个数据方至少经过和用户属性数量p一致的通信轮数。
为了进一步减少数据方之间的数据交互次数,根据另一个实施方式,还可以由各个数据方分别计算本地的各个样本用户的属性向量之和。假设数据方i的样本数量为ni,则本地样本的属性和向量为:其中,1≤i≤S。为了便于理解,可以参考图3所示,这样,每个数据方的初始矩阵都对每一行的元素值求和变成一个元素值,p×ni维初始矩阵被处理成一个p维向量。然后,可以在各方协同计算S个数据方总的属性向量和Xz=X1+X2+…+Xs(其中,X1、X2、…、Xs分别为各个数据方的属性和向量),以及样本数量总和m=n1+n2+…ns。这里的属性向量和的加法运算可以采用秘密分享的向量加法运算。即,每个数据方将本地属性和向量生成S-1个随机向量,再计算本地的属性和向量与这S-1个随机向量之和的差向量,这样,将本地特征和向量随机拆分成S-1个随机向量和一个差向量,共S份向量(由于差向量根据属性和向量和S-1个随机向量,因此也可以理解为将属性和向量随机拆分成S个向量)。之后每个数据方随机留下一份向量并将其他S-1份向量随机分享给其他S-1个数据方,最终每个数据方拥有S份随机向量,各个数据方分别提供出这S份随机向量,加和便得到总的属性向量和。这样,对于p个用户属性,S个数据方仅进行一轮数据交互计算就可以确定p个用户属性分别的属性值之和。
进一步地,可以通过参与安全计算的多个数据方中的一方平台,或者中立第三方平台计算整体属性均值向量该均值向量被反馈(如广播)至各个数据方,各个数据方可以将本地的初始矩阵中每一列分别减去从而本地完成初始矩阵相对于S个数据方数据,针对各个用户属性的零均值化。
根据一个可选的实施方式,还可以先由数据方i在本地计算属性均值向量 为数据方i的初始矩阵中各个列向量加和得到的列向量。然后,各数据方协同计算整体属性均值向量其中:该均值向量被反馈(如广播)至各个数据方,各个数据方可以将本地的初始矩阵中的各个列向量都减去从而完成本地属性值的零均值化。这里,各个数据方协同计算整体属性均值向量过程中设计的向量加法可以采用秘密分享的向量加法方式进行,在此不再赘述。
图4示出的情形下,总的用户属性数量p为S个数据方的用户属性数量之和,假设数据方i提供的数据中用户属性数量为pi,则各个数据方对应的样本用户一致,例如都是m个用户张三、李四、王一、李六、赵三、钱八……。由图4可以看出,这种情形下,对于任一个用户属性而言,所有属性值都在同一个数据方,因此,可以由各数据方分别计算本地初始矩阵的属性均值向量, 的维数为pi,l=i。那么所有数据方的均值向量如果组合在一起,构成的整体p维属性均值向量为:实践中,为了尽量减少多个数据方之间的数据交互次数,可以不将各个初始矩阵的均值向量进行组合,即每个数据方的计算结果保存在本地。之后,各个数据方分别在本地对各个用户属性的属性值进行零均值化处理。可以看出,该具体例子中,用户属性的零均值化过程可以不涉及不同数据方之间的数据交互。
步骤203,S个数据方利用各个初始矩阵的零均值化处理结果,联合确定协方差矩阵中的各个元素。根据前述协方差矩阵的理论,在对属性矩阵进行零均值化处理之后,协方差矩阵可以简化为:
在图3示出的情形下,整体的属性矩阵应为:M=(M1,M2,……Ms)。
协方差矩阵可以为:
基于该理论,可以通过数据方i本地计算Mi 2。可以理解,初始矩阵Mi是p×ni维的矩阵,Mi 2的计算结果则为p×p的矩阵,该矩阵可以称为数据方i计算的子矩阵。协方差矩阵是S个数据方提供的S个p×p的子矩阵之和。通过各个子矩阵相对应的元素的加和,可以确定协方差矩阵中的相应元素。例如,各个子矩阵第v行第t列的元素的和,为协方差矩阵中第v行第t列的元素Cvt,其中,t、v均为1到p之间的自然数。其中,在计算的过程中,可以将采用秘密分享的数值加和方式进行,也可以采用秘密分享的矩阵加和方式进行。具体地:采用秘密分享的数值加和方式时,对子矩阵中的各个对应元素,例如各个子矩阵第1行第1列的元素,采用秘密分享的数值加和方式相加,作为协方差矩阵中第1行第1列的元素;采用秘密分享的矩阵加和方式时,各个数据方的矩阵被随机拆分成S个矩阵,并将S-1个用于相互分享,之后各方协同将S2个经过随机拆分并分享的矩阵进行加和,这S2个经过随机拆分并分享的矩阵加和时,各个相对应的元素(如都取第1行第1列的元素)的和就是协方差矩阵中的相应元素。其中,秘密分享的矩阵加和方式与前述的秘密分享的向量加和方式类似,在此不再详述。可以理解,秘密分享的矩阵加和方式整体需要2轮通信,一轮用于分享随机拆分的矩阵,一轮用于将S2个经过随机拆分并分享的矩阵进行加和,而采用各个相对应的元素的数值加和方式,每个元素值的运算都需要2轮通信,因此,秘密分享的矩阵加和方式计算量更少。
对于图4示出的情形,理论上整体的属性矩阵可以记为:M=(M1,M2,……Ms)T。则协方差矩阵可以为:
这种情况下,协方差矩阵的对角线上的Mi 2可以通过数据方i本地计算得到,其为pi×pi维的矩阵,可以由数据方i和数据方j联合计算得到,为pi×pj维的矩阵。从而,将各个Mi 2和按照上式示出的方式排列,得到最终的协方差矩阵为p×p维的矩阵。Mi 2和的计算结果矩阵,可以看作竖直切分情形下的协方差矩阵的子矩阵。子矩阵中的各个元素可以对应到协方差矩阵中的相应元素。例如,中的元素Cvt对应到协方差矩阵中,数据方i提供的用户属性pi_v(pi个用户属性中的第v个)与数据方j提供的用户属性pj_t(pj个用户属性中的第t个)之间的协方差。
可选地,数据方i和数据方j可以通过诸如秘密共享的矩阵乘法(Secret matrixmultiplication,SMM)之类的计算方法计算以SMM为例,不需要可信初始化即可完成两方矩阵相乘的运算,计算过程中双方对对方数据不可见,经过随机拆分并按照预定规则组合、计算,最终乘法结果为双方计算结果之和,在此不再详述。在该计算过程中,各个数据方和其他数据方经过S-1次联合运算,S个数据方共进行S(S-1)/2次两两联合运算。
在以上过程中,可以预先确定各个数据方需要计算的内容,例如,属性和向量、协方差矩阵的子矩阵等等。从以上过程看出,计算协方差矩阵过程中,需要各个数据方同时参与完成的计算数据较少。在图3示出的情形中,涉及均值向量的计算需要各方协作完成,在图4示出的情形中,仅涉及两两数据方之间的计算需要两个数据方协作完成。至此,可以确定多个特征的协方差矩阵中的各个元素的值。在可选的实现方式中,各个数据方可以将计算得到的值发送给一个数据方或第三方平台,由相应数据方或第三方平台存储为协方差矩阵,也可以由各个数据方存储自身的计算结果。
下面详细描述在多方安全计算中,基于协方差矩阵检测用户属性的关联性的具体过程。
图5示出根据一个实施例的检测用户属性之间的关联性的方法流程图。该方法的执行主体可以是任何具有计算、处理能力的系统、设备、装置、平台或服务器。例如图1示出的计算平台。图5提供的检测用户属性之间的关联性的方法尤其适用于在多个数据方的安全计算中,将用户作为分析对象,对多个数据方提供的样本用户的多个用户属性之间的线性关联性进行检测。
如图5所示,检测用户属性之间的关联性的方法包括以下步骤:步骤501,获取S个数据方联合确定的、p个用户属性对应的协方差矩阵,其中,协方差矩阵中的各个元素由S个数据方通过以下方式确定:S个数据方分别按照本地的子样本集,构造S个初始矩阵;S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;S个数据方利用各个初始矩阵的零均值化处理结果,联合确定协方差矩阵中的各个元素;步骤502,根据协方差矩阵,分别确定p个用户属性中两两用户属性分别对应的各个相关系数;步骤503,基于各个相关系数,以及协方差矩阵,检测p个用户属性相互之间的关联性。
首先,通过步骤501,获取S个数据方联合确定的、p个用户属性对应的协方差矩阵。可以理解,协方差矩阵中的每个元素,可以用于表示相应两个用户属性之间的协方差。用户属性的协方差矩阵可以由参与多方安全计算的多个数据方联合确定。其中,协方差矩阵中的各个元素的确定方式可以是图2示出的确定方式,在此不再赘述。在图2确定的各个元素分别存储在各个数据方本地的情况下,在本步骤501中可以从各个数据方获取相应的元素,并存储为矩阵形式。在图2确定的各个元素已存储为矩阵形式的情况下,在本步骤501中可以直接从存储方(某个数据方或第三方平台)获取该矩阵形式的协方差矩阵。协方差矩阵中,每个元素可以表示相关的两个用户属性之间的协方差。如表示用户属性i和用户属性j之间的协方差。协方差矩阵的对角线元素对应着i=j的情形,可以用于描述用户属性Xi/Xj的方差。
接着,在步骤502中,根据协方差矩阵,分别确定p个用户属性中两两用户属性分别对应的各个相关系数。在概率论和统计学中,显示两个随机变量之间线性关系的强度和方向的系数,称为相关系数或关联系数。相关系数通常在-1和1之间取值。根据数据特点,用来衡量数据相关性的相关系数也可以有不同定义。在本说明书实施例中,每个用户属性可以看作一个随机变量。将p个用户属性两两组合,有p(p-1)/2种组合方式,如果考虑组合先后顺序,以及用户属性自身的组合方式,则有p×p种组合方式,对应协方差矩阵中的p×p个元素。这样,在可选的实现方式中,可以将各个相关系数记为与协方差矩阵对应的p×p维矩阵。
在一个实施例中,可以用皮尔逊积差系数作为相关系数。皮尔逊积差系数可以描述为两个变量协方差除以两个变量的标准差(方差)。
以用户属性Xi和用户属性Xj为例,其相关系数Corrij可以为:
其中,Cij表示用户属性Xi和用户属性Xj的协方差,也就是协方差矩阵中的第i行,第j列的元素值。如此,可以针对任意的两两用户属性组合,确定它们之间的相关系数。
通常,两个用户属性之间的线性关系越强,相关系数越接近1或-1,否则,相关系数越接近0。因此,在一个可选的实施例中,还可以将相关系数取以上公式中Corrij的计算结果的绝对值。这样,相关系数的取值在0和1之间,取值越大,对应的两个特征相关性越强。如果按照协方差矩阵的排布规则排布相关系数矩阵,则相关系数矩阵通常是对角矩阵,且对角线上的值对应的往往是i=j情况下的用户属性Xi/Xj与自身的相关系数,其值通常为1。
步骤503,基于各个相关系数,以及协方差矩阵,检测p个用户属性相互之间的关联性。可以理解,相关系数越接近1或-1,或绝对值越接近1,两个特征之间的线性关系越强,因此,可以根据相关系数的大小,来确定两两特征之间的关联性。
根据一个实施方式,基于p个用户属性,可以确定p(p-1)/2个相关系数。此时,可以将各个相关系数与第一阈值进行比较,如果相关系数大于该第一阈值,则确定相应的两个用户属性线性关联。这里的第一阈值可以根据人工经验确定,也可以通过机器学习确定,在此不做限定。在一个具体的例子中,第一阈值例如可以是0.9。
根据另一个实施方式,相关系数通过与协方差矩阵排布规则一致的矩阵进行描述。由于相关系数矩阵的对角元素描述的是相应用户属性与自身的相关性,本说明书实施例架构下不涉及这方面,为了避免干扰,可以将相关系数矩阵的对角元素置0,然后按照行/列的数值与预设的第一阈值(如0.9)的比较来判断用户属性之间的关联性。可以理解的是,不同用户属性之间的相关系数的绝对值越高,线性相关性越大,因此,将对角元素置0之后,可以根据各个元素值的绝对值大小,来确定两两用户属性之间的关联性。
在一个实施例中,可以将对角线元素置0后的相关系数矩阵中,每行/列的各个数值分别与第一阈值进行比较,如果一个数值大于第一阈值,那么可以确定相应的两个用户属性之间线性关联。
在另一个实施例中,可以将对角线元素置0后的相关系数矩阵中,每行/列的最大数值与第一阈值进行比较,如果该最大数值大于第一阈值,那么可以确定相应的两个用户属性之间线性关联。
根据一个可能的设计,如果确定两个用户属性线性相关,那么可以筛除其中的一个用户属性。部分用户属性被删除时,可以用更少的用户属性来描述样本用户。一个用户属性被删除的情况下,与该用户属性相关的协方差不再有意义,因此,可以将该用户属性在协方差矩阵中对应的行及列一并删除。可以理解,原协方差矩阵去掉了相同数量的行及列,仍然是一个方阵。
由于两个用户属性的协方差仅可以表示两个用户属性之间的线性关联关系,对于多重线性关联的用户属性,无法通过相关系数直观表达。也就是说,相关系数的绝对值与上述第一阈值的对比,可以检测两两用户属性的线性关联性,但无法检测用户属性的多重线性关联性。因此,在一个进一步的实施方式中,还可以进一步检测是否存在多重用户属性线性关联。
下面分析多重用户属性线性关联的特性。以用户属性为X1、X2、X3……Xq为例,每个用户属性Xi的所有样本用户对应的属性值构成的向量为x1、x2、x3……xq,样本用户数量为m为列,用户属性为行构成的向量M为(x1,x2,x3……xq)T。
进一步地:
则:
即:
也就是说,如果协方差矩阵MMT的本征值接近0,那么,存在多重用户属性线性关联的可能性就比较大。在可选的实现方式中,可以确定协方差矩阵的本征值,如果其存在小于预定的第二阈值(如0.01)的本征值,那么就可能存在多重用户属性线性关联,即,至少一个用户属性可以通过其他用户属性接近线性地表达出来。其中,这里的协方差矩阵,可以是步骤501获取的协方差矩阵,也可以是利用两两用户属性线性关联筛除对应的行和列后的协方差矩阵,在此不做限定。
在存在多重用户属性线性关联的情况下,根据可选的实现方式,多个数据方可以对各个用户属性分别联合计算VIF值,并在VIF值满足相应条件时确定相应用户属性可以通过其他用户属性很好地线性表达,即具有多重用户属性的线性关联。为了减少计算量,这里的各个用户属性可以是通过两两线性关联特性过滤后剩余的用户属性。与其他多重用户属性线性关联的用户属性可以被删除。如果VIF值不满足相应条件,则保留相应用户属性。如果协方差矩阵不存在小于第二阈值(如0.01)的本征值,则无需进行VIF判断(此时多个数据方之间无需进一步进行关于检测多重用户属性线性关联的交互计算)。
为了更直观地描述图5示出的检测用户属性之间的关联性的流程,图6示出一个具体例子的流程框图。如图6所示,可以在获取协方差矩阵后,计算用户属性之间的相关系数矩阵(对应步骤501和步骤502)。之后,与步骤503一致地,基于各个相关系数,确定用户属性之间的线性关联性。具体地,可以先根据相关系数检测用户属性之间的两两线性关联性:将相关系数矩阵的对角元素置零,其他元素取绝对值;针对用户属性i,判断其对应的最大相关系数(对应相关系数矩阵中的第i行及第i列的元素)是否大于第一阈值(如0.9);如果是,表明用户属性i与该最大相关系数对应的另一个用户属性存在线性关联,可以删除其中任一个,否则,不做处理。然后,检测用户属性之间的多重线性关联性:计算协方差矩阵是否存在小于第二阈值(接近0,例如0.001)的本征值;若存在,则表明存在具有多重线性关联的用户属性,进一步计算每个用户属性的VIF,基于VIF值确定多重用户属性的线性关联性,否则,可以确定不存在具有多重线性关联的用户属性。在图6示出的示意图中,先通过相关系数矩阵确定两两用户属性的线性关联性检测,然后根据协方差矩阵的本征值判断是否存在多重用户属性的线性关联,如果不存在就无需进行VIF计算,因此可以在多方安全计算中大大降低多方联合计算的数据处理量。
回顾以上过程,本说明书实施例所提供的检测用户属性之间的关联性的方法,为了维护各个数据方的隐私数据的安全性,可以由各个数据方拆分计算p个用户属性对应的协方差矩阵,并根据协方差矩阵,分别确定p个用户属性中两两用户属性分别对应的各个相关系数,接着基于各个相关系数,以及上述协方差矩阵,检测p个用户属性相互之间的关联性。如此,在协方差矩阵中的各个元素的确定过程中,多个数据方之间的交互次数远远小于VIF计算过程中的交互次数,可以大大减少多方安全计算中用户属性的关联性的数据处理量,降低计算的复杂度,提高安全计算的有效性。
根据另一方面的实施例,还提供一种检测用户属性之间的关联性的装置。在S个数据方基于安全计算的业务处理中,针对S个数据方联合提供的m个样本用户,检测p个用户属性之间的关联性,单个样本用户对应分别用于表征p个用户属性的p个属性值。图7示出根据一个实施例的检测用户属性之间的关联性的装置的示意性框图。如图7所示,检测用户属性之间的关联性的装置700包括:获取单元71,配置为获取S个数据方联合确定的、p个用户属性对应的协方差矩阵,其中,协方差矩阵中的各个元素由S个数据方通过以下方式确定:S个数据方分别按照本地的子样本集,构造S个初始矩阵;S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;S个数据方利用各个初始矩阵的零均值化处理结果,联合确定协方差矩阵中的各个元素;确定单元72,配置为根据协方差矩阵,分别确定p个用户属性中两两用户属性分别对应的各个相关系数;检测单元73,配置为基于各个相关系数,以及协方差矩阵,检测p个用户属性相互之间的关联性。
根据一个实施方式,确定单元72还配置为:
用户属性Xi和用户属性Xj的相关系数为,用户属性Xi和用户属性Xj的协方差与以下项的商:用户属性Xi的方差与用户属性Xj的方差之积的平方根,其中,用户属性Xi的方差为协方差矩阵中第i行第i列的元素,用户属性Xj的方差为协方差矩阵中第j行第j列的元素,用户属性Xi和用户属性Xj的协方差为协方差矩阵中第i行第j列的元素,或者第j行第i列的元素。
在一个实施例中,在i≠j的情况下,用户属性Xi和用户属性Xj的相关系数为第一相关系数;检测单元73还配置为:
检测第一相关系数是否大于预设的第一阈值;
在第一相关系数大于预设的第一阈值的情况下,确定用户属性Xi和用户属性Xj线性相关。
根据一个可能的设计,如果用户属性Xi和用户属性Xj线性关联,检测单元73还配置为:
在协方差矩阵中删除与用户属性Xi或用户属性Xj对应的行及列,得到更新的协方差矩阵;
确定更新的协方差矩阵的本征值;
基于本征值与预设的第二阈值的对比,确定剩余用户属性是否存在多重用户属性的线性关联。
在一个进一步的实施例中,检测单元74还可以配置为:
在本征值小于第二阈值,剩余用户属性中存在多重用户属性的线性关联的情况下,通过S个数据方联合计算剩余用户属性中各个用户属性分别对应的各个方差膨胀因子VIF;
确定满足条件的方差膨胀因子对应的用户属性与多重用户属性具有线性关联。
值得说明的是,以上对图7所示的检测用户属性之间的关联性的装置700,与图5示出的方法实施例相对应,图5对应的方法实施例中的相应描述也适用于图7所示的检测用户属性之间的关联性的装置,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序在计算机中执行时,令计算机执行相应描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,该存储器中存储有可执行代码,该处理器执行该可执行代码时,实现相应描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所描述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所描述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书的技术构思的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (18)
1.一种检测用户属性之间的关联性的方法,用于在S个数据方基于安全计算的业务处理中,针对所述S个数据方联合提供的m个样本用户,检测p个用户属性之间的关联性,单个样本用户对应分别用于表征所述p个用户属性的p个属性值,所述方法包括:
获取所述S个数据方联合确定的、所述p个用户属性对应的协方差矩阵,其中,所述协方差矩阵中的各个元素由所述S个数据方通过以下方式确定:S个数据方分别按照本地的子样本集,构造S个初始矩阵;S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素;
根据所述协方差矩阵,分别确定所述p个用户属性中两两用户属性分别对应的各个相关系数;
基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的关联性。
2.根据权利要求1所述的方法,其中,i为1至S之间的自然数,在数据方i本地的子样本集包括m个样本用户,以及单个样本用户的pi个用户属性的情况下,p1至pS的和为p;
所述S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理包括:
数据方i对本地的第i初始矩阵中的pi个用户属性,分别按照其属性值确定相应的pi个均值,其中,用户属性Xl的均值为用户属性Xl对应于m个样本用户的m个属性值之和除以m;
将各个用户属性的属性值分别减去相应的均值,以完成针对用户属性的零均值化处理。
4.根据权利要求1所述的方法,其中,i为1至S之间的自然数,在数据方i的子样本集提供ni个样本用户中单个样本用户的p个用户属性的情况下,n1至nS的和为m;
所述S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理包括:
针对第l用户属性,数据方i计算第i初始矩阵中第l用户属性对应的各个属性值之和Xli,其中l为1至p之间的自然数;
S个数据方联合计算从1至S的情况下,用户属性Xl的均值,即:i从1取至S的各个Xli之和,与m的倒数的乘积;
数据方i获取Xl的均值,并将第i初始矩阵中与用户属性Xl的各个属性值分别减去Xl的均值。
5.根据权利要求4所述的方法,其中,所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素包括:
数据方i利用经过零均值化处理后的相应子矩阵Mi在本地计算p×p维矩阵Mi 2;
S个数据方联合计算i从1取到S的各个p×p维矩阵Mi 2中,第v行第t列的元素的和,为所述协方差矩阵中第v行第t列的元素Cvt,其中,t、v均为1到p之间的自然数。
6.根据权利要求1-5任一所述的方法,其中,S个数据方的联合计算过程中,加法计算采用秘密分享的加法方式进行,两个数据方之间的矩阵乘法计算采用秘密分享的矩阵乘法的方式进行。
7.根据权利要求1所述的方法,其中,所述根据所述协方差矩阵,分别确定所述p个用户属性中两两用户属性分别对应的各个相关系数包括:
确定用户属性Xi和用户属性Xj的相关系数为,用户属性Xi和用户属性Xj的协方差与以下项的商:用户属性Xi的方差与用户属性Xj的方差之积的平方根,其中,用户属性Xi的方差为所述协方差矩阵中第i行第i列的元素,用户属性Xj的方差为所述协方差矩阵中第j行第j列的元素,用户属性Xi和用户属性Xj的协方差为所述协方差矩阵中第i行第j列的元素,或者第j行第i列的元素。
8.根据权利要求1所述的方法,其中,在i≠j的情况下,用户属性Xi和用户属性Xj的相关系数为第一相关系数;所述基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的关联性包括:
检测所述第一相关系数是否大于预设的第一阈值;
在所述第一相关系数大于预设的第一阈值的情况下,确定用户属性Xi和用户属性Xj线性关联。
9.根据权利要求8所述的方法,其中,如果用户属性Xi和用户属性Xj线性关联,所述方法还包括:
滤除用户属性Xi或用户属性Xj。
10.根据权利要求8所述的方法,其中,如果用户属性Xi和用户属性Xj线性关联,所述基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的共线性还包括:
在所述协方差矩阵中删除与用户属性Xj或用户属性Xj对应的行及列,得到更新的协方差矩阵;
确定所述更新的协方差矩阵的本征值;
基于所述本征值与预设的第二阈值的对比,确定剩余用户属性中是否存在多重用户属性的线性关联。
11.根据权利要求10所述的方法,其中,所述基于所述本征值与预设的第二阈值的对比,确定剩余用户属性中是否存在多重用户属性的线性关联包括:
在所述本征值小于所述第二阈值,剩余用户属性中存在多重用户属性的线性关联的情况下,通过所述S个数据方联合计算剩余用户属性中各个用户属性分别对应的各个方差膨胀因子;
确定满足条件的方差膨胀因子对应的用户属性与多重用户属性具有线性关联。
12.一种检测用户属性之间的关联性的装置,用于在S个数据方基于安全计算的业务处理中,针对所述S个数据方联合提供的m个样本用户,检测p个用户属性之间的关联性,单个样本用户对应分别用于表征所述p个用户属性的p个属性值,所述装置包括:
获取单元,配置为获取所述S个数据方联合确定的、所述p个用户属性对应的协方差矩阵,其中,所述协方差矩阵中的各个元素由所述S个数据方通过以下方式确定:S个数据方分别按照本地的子样本集,构造S个初始矩阵;S个数据方分别对本地的初始矩阵进行针对各个用户属性的零均值化处理;所述S个数据方利用各个初始矩阵的零均值化处理结果,联合确定所述协方差矩阵中的各个元素;
确定单元,配置为根据所述协方差矩阵,分别确定所述p个用户属性中两两用户属性分别对应的各个相关系数;
检测单元,配置为基于各个相关系数,以及所述协方差矩阵,检测所述p个用户属性相互之间的关联性。
13.根据权利要求12所述的装置,所述确定单元还配置为:
用户属性Xi和用户属性Xj的相关系数为,用户属性Xi和用户属性Xj的协方差与以下项的商:用户属性Xi的方差与用户属性Xj的方差之积的平方根,其中,用户属性Xi的方差为所述协方差矩阵中第i行第i列的元素,用户属性Xj的方差为所述协方差矩阵中第j行第j列的元素,用户属性Xi和用户属性Xj的协方差为所述协方差矩阵中第i行第j列的元素,或者第j行第i列的元素。
14.根据权利要求12所述的装置,其中,在i≠j的情况下,用户属性Xi和用户属性Xj的相关系数为第一相关系数;所述检测单元还配置为:
检测所述第一相关系数是否大于预设的第一阈值;
在所述第一相关系数大于预设的第一阈值的情况下,确定用户属性Xi和用户属性Xj线性关联。
15.根据权利要求14所述的装置,其中,如果用户属性Xi和用户属性Xj线性关联,所述检测单元还配置为:
在所述协方差矩阵中删除与用户属性i或用户属性Xj对应的行及列,得到更新的协方差矩阵;
确定所述更新的协方差矩阵的本征值;
基于所述本征值与预设的第二阈值的对比,确定剩余用户属性是否存在多重用户属性的线性关联。
16.根据权利要求15所述的装置,其中,所述检测单元进一步配置为:
在所述本征值小于所述第二阈值,剩余用户属性中存在多重用户属性的线性关联的情况下,通过所述S个数据方联合计算剩余用户属性中各个用户属性分别对应的各个方差膨胀因子;
确定满足条件的方差膨胀因子对应的用户属性与多重用户属性具有线性关联。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-11中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911228336.2A CN110909216B (zh) | 2019-12-04 | 2019-12-04 | 检测用户属性之间的关联性的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911228336.2A CN110909216B (zh) | 2019-12-04 | 2019-12-04 | 检测用户属性之间的关联性的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110909216A true CN110909216A (zh) | 2020-03-24 |
CN110909216B CN110909216B (zh) | 2023-06-20 |
Family
ID=69822196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911228336.2A Active CN110909216B (zh) | 2019-12-04 | 2019-12-04 | 检测用户属性之间的关联性的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110909216B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506922A (zh) * | 2020-04-17 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行显著性检验的方法和装置 |
CN112989420A (zh) * | 2021-03-31 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的相关系数确定方法和系统 |
CN113095514A (zh) * | 2021-04-26 | 2021-07-09 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备、存储介质及程序产品 |
CN113723923A (zh) * | 2021-08-30 | 2021-11-30 | 上海华力微电子有限公司 | 机台联动性的监控方法及监控系统 |
CN114881124A (zh) * | 2022-04-21 | 2022-08-09 | 北京百度网讯科技有限公司 | 因果关系图的构建方法、装置、电子设备和介质 |
US20230137326A1 (en) * | 2019-06-18 | 2023-05-04 | Cigna Intellectual Property, Inc. | Machine learning system for generating predictions according to varied attributes |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609703A (zh) * | 2012-03-05 | 2012-07-25 | 中国科学院对地观测与数字地球科学中心 | 一种高光谱图像中目标地物检测方法及装置 |
CN104239722A (zh) * | 2014-09-18 | 2014-12-24 | 山东大学 | 一种基于因素间相关关系识别的预测方法 |
CN105590231A (zh) * | 2014-10-24 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 用户数据处理方法和装置 |
US9697476B1 (en) * | 2014-05-13 | 2017-07-04 | Neustar, Inc. | System and method for utilizing a model to process big data |
CN108509771A (zh) * | 2018-03-27 | 2018-09-07 | 华南理工大学 | 一种基于稀疏匹配的多组学数据关联关系发现方法 |
CN109327421A (zh) * | 2017-08-01 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置及电子设备 |
-
2019
- 2019-12-04 CN CN201911228336.2A patent/CN110909216B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609703A (zh) * | 2012-03-05 | 2012-07-25 | 中国科学院对地观测与数字地球科学中心 | 一种高光谱图像中目标地物检测方法及装置 |
US9697476B1 (en) * | 2014-05-13 | 2017-07-04 | Neustar, Inc. | System and method for utilizing a model to process big data |
CN104239722A (zh) * | 2014-09-18 | 2014-12-24 | 山东大学 | 一种基于因素间相关关系识别的预测方法 |
CN105590231A (zh) * | 2014-10-24 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 用户数据处理方法和装置 |
CN109327421A (zh) * | 2017-08-01 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 数据加密、机器学习模型训练方法、装置及电子设备 |
CN108509771A (zh) * | 2018-03-27 | 2018-09-07 | 华南理工大学 | 一种基于稀疏匹配的多组学数据关联关系发现方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230137326A1 (en) * | 2019-06-18 | 2023-05-04 | Cigna Intellectual Property, Inc. | Machine learning system for generating predictions according to varied attributes |
US11848104B2 (en) * | 2019-06-18 | 2023-12-19 | Cigna Intellectual Property, Inc. | Machine learning system for generating predictions according to varied attributes |
CN111506922A (zh) * | 2020-04-17 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行显著性检验的方法和装置 |
CN111506922B (zh) * | 2020-04-17 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 多方联合对隐私数据进行显著性检验的方法和装置 |
CN112989420A (zh) * | 2021-03-31 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的相关系数确定方法和系统 |
CN113095514A (zh) * | 2021-04-26 | 2021-07-09 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备、存储介质及程序产品 |
WO2022227644A1 (zh) * | 2021-04-26 | 2022-11-03 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、设备、存储介质及程序产品 |
CN113723923A (zh) * | 2021-08-30 | 2021-11-30 | 上海华力微电子有限公司 | 机台联动性的监控方法及监控系统 |
CN113723923B (zh) * | 2021-08-30 | 2024-03-12 | 上海华力微电子有限公司 | 机台联动性的监控方法及监控系统 |
CN114881124A (zh) * | 2022-04-21 | 2022-08-09 | 北京百度网讯科技有限公司 | 因果关系图的构建方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110909216B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110909216A (zh) | 检测用户属性之间的关联性的方法及装置 | |
Zhu et al. | R-gap: Recursive gradient attack on privacy | |
EP3627759B1 (en) | Method and apparatus for encrypting data, method and apparatus for training machine learning model, and electronic device | |
WO2020192289A1 (zh) | 确定关系网络图中图节点向量的方法及装置 | |
Chaussé | Computing generalized method of moments and generalized empirical likelihood with R | |
Scherer | Size of firm, oligopoly, and research: A comment | |
US20130346350A1 (en) | Computer-implemented semi-supervised learning systems and methods | |
CN111400766B (zh) | 针对隐私数据进行多方联合降维处理的方法及装置 | |
CN111506922B (zh) | 多方联合对隐私数据进行显著性检验的方法和装置 | |
CN113407987B (zh) | 保护隐私的确定业务数据特征有效值的方法及装置 | |
CN113065610A (zh) | 基于联邦学习的孤立森林模型构建和预测方法和装置 | |
KR20200006967A (ko) | 가맹점 평가 방법 및 시스템 | |
Hong et al. | An efficient method for robust projection matrix design | |
CN112541593A (zh) | 基于隐私保护的联合训练业务模型的方法及装置 | |
CN111210008A (zh) | 利用lstm神经网络模型处理交互数据的方法及装置 | |
CN112200382B (zh) | 一种风险预测模型的训练方法和装置 | |
CN111401479B (zh) | 多方联合对隐私数据进行降维处理的方法和装置 | |
CN111242283B (zh) | 评估交互事件的自编码器的训练方法及装置 | |
Phutke et al. | Fasnet: Feature aggregation and sharing network for image inpainting | |
Abramov et al. | Denominators of rational solutions of linear difference systems of an arbitrary order | |
CN115688742B (zh) | 基于人工智能的用户数据分析方法及ai系统 | |
US20230325718A1 (en) | Method and apparatus for joint training logistic regression model | |
US11216733B2 (en) | Self-evolving agent-based simulation system and method thereof | |
Charlier et al. | Profiling smart contracts interactions with tensor decomposition and graph mining | |
Yundong et al. | Credit Card Fraud Identification using Logistic Regression and Random Forest |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |