数据加密、机器学习模型训练方法、装置及电子设备
技术领域
本说明书涉及计算机应用领域,尤其涉及一种数据加密、机器学习模型训练方法、装置及电子设备。
背景技术
随着互联网技术的飞速发展,用户的个人数据的网络化和透明化已经成为不可阻挡的大趋势。对于一些面向用户提供互联网服务的服务平台而言,可以通过采集用户日常产生的服务数据,收集到海量的用户数据。而这些用户数据对于服务平台的运营方来说,是非常珍贵的“资源”,服务平台的运营方可以通过数据挖掘和机器学习,从这些“资源”中挖掘出大量有价值的信息。例如,在实际应用中,可以结合具体业务场景,从这些海量用户数据中提取出若干个维度的数据特征,并将提取出的这些特征作为训练样本,通过特定的机器学习算法进行训练构建机器学习模型,然后在该业务场景下应用训练完成的该机器学习模型,来指导业务运营。
发明内容
本说明书提出一种数据加密方法,所述方法包括:
基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵;
基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;
将所述加密矩阵传输至建模服务端;其中,所述加密矩阵用于训练机器学习模型。
可选的,所述基于PCA算法对所述目标矩阵进行加密计算,得到加密后的N*K维的加密矩阵,还包括:
对所述目标矩阵中与所述M个维度的数据特征对应的向量中的取值分别进行零均值化处理;
计算零均值化处理后的所述目标矩阵对应的协方差矩阵;
计算所述协方差矩阵的特征值以及与所述特征值对应的特征向量;
将计算得到的所述特征向量按照对应的特征值的大小进行排序,并提取特征值最大的K个特征向量生成M*K维的投影矩阵;
将所述目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵。
可选的,还包括:
将所述投影矩阵作为加密矩阵在本地进行存储。
可选的,所述基于PCA算法对所述目标矩阵进行加密计算,得到加密后的N*K维的加密矩阵,包括:
判断本地是否存储了所述投影矩阵;
如果本地存储了所述投影矩阵,则将所述N*M维的目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵;
如果本地未存储所述投影矩阵,则基于PCA算法对所述目标矩阵进行加密计算,得到所述N*K维的加密矩阵。
可选的,还包括:
如果所述数据特征的维度发生变化,或者所述数据特征表征的含义发生变化,基于PCA算法重新对所述目标矩阵进行加密计算,并基于重新计算得到的所述投影矩阵,对本地存储的投影矩阵进行更新。
本说明书还提出一种数据加密装置,所述装置包括:
生成模块,基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵;
计算模块,基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;
传输模块,将所述加密矩阵传输至建模服务端;其中,所述加密矩阵用于训练机器学习模型。
可选的,所述计算模块:
对所述目标矩阵中与所述M个维度的数据特征对应的向量中的取值分别进行零均值化处理;
计算零均值化处理后的所述目标矩阵对应的协方差矩阵;
计算所述协方差矩阵的特征值以及与所述特征值对应的特征向量;
将计算得到的所述特征向量按照对应的特征值的大小进行排序,并提取特征值最大的K个特征向量生成M*K维的投影矩阵;
将所述目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵。
可选的,还包括:
存储模块,将所述投影矩阵作为加密矩阵在本地进行存储。
可选的,所述计算模块进一步:
判断本地是否存储了所述投影矩阵;
如果本地存储了所述投影矩阵,则将所述N*M维的目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵;
如果本地未存储所述投影矩阵,则基于PCA算法对所述目标矩阵进行加密计算,得到所述N*K维的加密矩阵。
可选的,还包括:
更新模块,如果所述数据特征的维度发生变化,或者所述数据特征表征的含义发生变化,基于PCA算法重新对所述目标矩阵进行加密计算,并基于重新计算得到的所述投影矩阵,对本地存储的投影矩阵进行更新。
本说明书还提出一种机器学习模型训练方法,所述方法包括
接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于PCA算法针对N*M维的目标矩阵进行加密计算,得到的N*K维的加密矩阵;所述K值小于所述M值;
将所述加密矩阵作为训练样本训练机器学习模型。
可选的,所述将所述加密矩阵作为训练样本训练机器学习模型,包括:
将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。
本说明书还提出一种机器学习模型训练装置,所述装置包括
接收模块,接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于PCA算法针对N*M维的目标矩阵进行加密计算,得到的N*K维的加密矩阵;所述K值小于所述M值;
训练模块,将所述加密矩阵作为训练样本训练机器学习模型。
可选的,所述训练模块:
将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。
本说明书还提出一种机器学习模型训练系统,所述系统包括:
数据提供方服务端,基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵,并基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;以及,将所述加密矩阵传输至建模服务端;
建模服务端,基于所述加密矩阵训练机器学习模型。
可选的,所述建模服务端进一步:
将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。
本说明书还提出一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与数据加密的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵;
基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;
将所述加密矩阵传输至建模服务端;其中,所述加密矩阵用于训练机器学习模型。
本说明书还提出一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与机器学习模型训练的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于PCA算法针对N*M维的目标矩阵进行加密计算,得到的N*K维的加密矩阵;所述K值小于所述M值;
将所述加密矩阵作为训练样本训练机器学习模型。
本说明书中,通过基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵,并基于PCA算法对该目标矩阵进行加密计算,得到加密后的N*K维的加密矩阵,然后将该加密矩阵传输至建模服务端,由该建模服务端将该加密矩阵作为训练样本训练机器学习模型;
一方面,由于在将基于PCA算法加密后的加密矩阵传输至建模服务端后,建模服务端基于加密后的加密矩阵,通常无法还原出原始的目标矩阵,因而能够最大程度的对用户的隐私数据进行隐私保护,避免将数据样本提交至建模服务端进行模型训练的过程中造成用户的隐私泄露;
另一方面,由于基于PCA算法对上述目标矩阵进行加密计算后,得到的加密矩阵中的维度少于原始的目标矩阵,因此可以降低在向建模服务端传输数据样本时的传输开销;而且,由于使用PCA算法对上述目标矩阵进行加密计算时,能够最大程度保留原始数据样本中的信息量,因此在将加密后的加密矩阵传输至建模服务端进行模型训练时,仍然能够保证模型训练的精度。
附图说明
图1是本说明书一实施例示出的一种数据加密方法的流程图;
图2是本说明书一实施例示出的N*M维的目标矩阵示意图;
图3是本说明书一实施例示出的基于PCA算法对上述目标矩阵进行机密计算的流程图;
图4是本说明书一实施例示出的一种融合多方数据样本进行联合建模的示意;
图5是本说明书一实施例示出的一种机器学习模型训练方法的流程图;
图6是本说明书一实施例提供的承载所述数据加密装置的电子设备所涉及的硬件结构图;
图7是本说明书一实施例提供的所述数据加密装置的的逻辑框图;
图8是本说明书一实施例提供的承载所述机器学习模型训练装置的电子设备所涉及的硬件结构图;
图9是本说明书一实施例提供的所述机器学习模型训练装置的逻辑框图。
具体实施方式
在大数据时代,通过对海量数据进行挖掘,可以获得各种形式的有用信息,因此数据的重要性不言而喻。不同的机构都拥有各自的数据,但是任何一家机构的数据挖掘效果,都会受限于其自身拥有的数据数量和种类。针对该问题,一种直接的解决思路是:多家机构相互合作,将数据进行共享,从而实现更好的数据挖掘效果,实现共赢。
然而对于数据拥有方而言,数据本身是一种具有很大价值的资产,而且出于保护隐私、防止泄露等需求,数据拥有方往往并不愿意直接把数据提供出来,这种状况导致“数据共享”在现实中很难实际运作。因此,如何在充分保证数据安全的前提下实现数据共享,已经成为行业内备受关注的问题。
在本说明书中,旨在提出一种基于PCA算法对建模所需的原始用户数据进行加密,来对原始的用户数据进行隐私保护,并最大程度保留原始用户数据中的信息量,从而可以在不牺牲建模精度的前提下,兼顾对用户的隐私保护的技术方案。
在实现时,可以从建模所需的N条数据样本中分别提取出N个维度的数据特征,并基于该N条数据样本,以及分别对应于该N条数据样本的M个维度的数据特征,生成一个N*M维的目标矩阵。
当生成上述N*M维的目标矩阵后,可以基于PCA算法对该目标矩阵进行加密计算,得到加密后的N*K维的加密矩阵,并将该加密矩阵作为训练样本传输至建模服务端;其中,K的取值小于M的取值。
上述建模服务端在收到该加密矩阵后,可以将该加密矩阵作为训练样本训练机器学习模型;比如,可以将上述加密矩阵与其本地的训练样本进行融合,然后基于融合后的训练样本来训练机器学习模型。
一方面,由于在将基于PCA算法加密后的加密矩阵传输至建模服务端后,建模服务端基于加密后的加密矩阵,通常无法还原出原始的目标矩阵,因而能够最大程度的对用户的隐私数据进行隐私保护,避免将数据样本提交至建模服务端进行模型训练的过程中造成用户的隐私泄露;
另一方面,由于基于PCA算法对上述目标矩阵进行加密计算后,得到加密矩阵中的维度少于原始的目标矩阵,因此可以降低在向建模服务端传输数据样本时的传输开销;而且,由于使用PCA算法对上述目标矩阵进行加密计算时,能够最大程度保留原始数据样本中的信息量,因此在将加密后的加密矩阵传输至建模服务端进行模型训练时,仍然能够保证模型训练的精度。
下面通过具体实施例并结合具体的应用场景进行详细描述。
请参考图1,图1是本说明书一实施例提供的一种数据加密方法,应用于数据提供方服务端,执行以下步骤:
步骤102,基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵;
步骤104,基于PCA算法对所述目标矩阵进行降维计算,得到加密后的N*K维的加密矩阵;其中,所述K值小于所述M值;
步骤106,将所述加密矩阵传输至建模服务端;其中,所述加密矩阵用于训练机器学习模型。
上述数据提供方服务端,可以与建模服务端进行对接,向上述建模服务端提供建模所需的数据样本;
例如,在实际应用中,上述数据提供方和建模方可以分别对应不同的运营方,数据提供方可以将采集到的用户数据作为数据样本,传输至上述建模方来完成数据建模;比如,上述建模方可以是Alipay的数据运营平台,而上述数据提供方可以是与Alipay的数据运营平台对接的诸如第三方银行、快递公司等面向用户提供互联网服务的服务平台。
在初始状态下,数据提供方的服务端可以在后台收集用户日常产生的用户数据,并从收集到的这些用户数据中采集N条用户数据作为数据样本,并基于采集到的这些数据样本生成一个初始化的数据样本集合。
例如,在示出的一种实施方式中,可以从收集到的这些用户数据中,采集出N条涉及用户隐私的敏感数据,然后基于这些敏感数据生成一个初始化的数据样本集合。
其中,采集到的上述N条数据样本的具体数量,在本说明书中不进行特别限定,本领域技术人员可以基于实际的需求进行设置。
上述用户数据的具体形态,取决于具体的业务场景以及建模需求,在本说明书中也不进行特别限定;例如,在实际应用中,如果希望创建出一个用于对用户发起的支付交易进行风险评估的评分卡模型,那么在这种业务场景下,上述用户数据则可以是基于用户通过支付客户端产生的交易数据。
当基于采集到的N条数据样本生成上述数据样本集合后,上述数据提供方服务端还可以对该数据样本集合中的数据样本进行预处理。
其中,对上述数据样本集合中的数据样本进行预处理,通常包括对上述数据样本集合中的数据样本进行数据清洗、补充缺省值、归一化处理或者其它形式的预处理过程。通过对数据样本集合中的数据样本进行预处理,可以将采集到的数据样本转换成适宜进行模型训练的标准化的数据样本。
当对上述数据样本集合中的数据样本预处理完成后,上述数据提供方服务端可以从上述数据样本集合中的各数据样本中,分别提取出M个维度的数据特征;
其中,提取出的上述M个维度的数据特征的数量,在本说明书中不进行特别限定,本领域技术人员可以基于实际的建模需求进行选择。
另外,提取出的数据特征的具体类型,在本说明书中也不进行特别限定,本领域技术人员可以基于实际的建模需求,从上述数据样本中实际所包含的信息中来人工选定;
例如,在一种实施方式中,上述建模方可以基于实际的建模需求,预先选定M个维度的数据特征,然后将选定的数据特征提供给上述数据提供方,由上述数据提供方从上述数据样本中来提取与各个维度的数据特征对应的数据特征取值。
当数据提供方提取出与上述数据样本集合中的各数据样本中,分别提取出M个维度的数据特征后,可以基于提取出的M个维度的数据特征对应的数据特征取值,为各数据样本分别生成一个数据特征向量,然后基于各数据样本的数据特征向量,构建出一个N*M维的目标矩阵。
其中,在实现时,上述M维的数据特征,可以对应于上述目标矩阵的行,也可以对应于上述目标矩阵的列,在本说明书中不进行特别限定。
例如,请参见图2,以上述M维的数据特征对应于上述目标矩阵的行为例,上述目标矩阵可以表示成如图2所示的形式。在图2所示的目标矩阵中,每一列表示一条数据样本,每一行表示由M个维度的数据特征构成的一个特征向量。
当上述数据提供方的服务端基于N条数据样本,以及分别对应于该N条数据样本的M个维度的数据特征,生成N*M维的目标矩阵后,可以基于PCA算法对上述目标矩阵进行加密计算,得到一个N*K维的加密矩阵。
由于经过PCA降计算的后的加密矩阵,通常无法被还原成原始的目标矩阵,因而加密后得到的上述加密矩阵,则是一个经过加密的加密矩阵。通过这种方式,能够最大程度的对用户的隐私数据进行隐私保护。
请参见图3,图3为本说明书示出的一种基于PCA算法对上述目标矩阵进行加密计算的流程,包括如下步骤:
步骤302,对所述目标矩阵中与所述M个维度的数据特征对应的向量中的取值分别进行零均值化处理;
所谓零均值化处理,是指将一组数值中的每个数值,减去该组数值的均值的过程。在本说明书中,对上述目标矩阵中与上述M个维度的数据特征对应的向量中的取值,分别进行零均值化处理,是指与上述M个维度的数据特征对应的向量中的各个取值,分别减去该向量中所有取值的平均值的过程。
在实现时,可以将上述目标矩阵中与上述M个维度的数据特征对应的向量依次选定为目标向量,然后计算该目标向量中各个取值的平均值,然后将该目标向量中各个取值,分别减去该平均值。
例如,以图2中示出的目标矩阵为例,可以计算图2中的目标矩阵中的每一行的平均值,然后将每一行中的各个数值,依次减去该行的平均值。
步骤304,计算零均值化处理后的所述目标矩阵对应的协方差矩阵;
所述协方差矩阵,是指由目标矩阵中各个向量中的各个取值之间的协方差构成的矩阵。
在计算零均值化处理后的上述目标矩阵的协方差矩阵时,可以分别计算与上述M个维度的数据特征对应的向量,与上述目标矩阵中其它维度的数据特征对应的向量之间的协方差,然后基于计算得到的协方差,生成一个由计算得到的协方差构成的协方差矩阵。
其中,需要说明的是,关于协方差矩阵的具体计算过程,在本说明书中不再结合具体的示例进行详细描述,本领域技术人员在将本说明书中记载的技术方案付诸实现时,可以参考相关技术中的记载;例如,本领域技术人员可以利用一些诸如matlab等成熟的工具,来计算上述目标矩阵的协方差矩阵。
步骤306,计算所述协方差矩阵的特征值以及与所述特征值对应的特征向量;
当计算出上述目标矩阵的协方差矩阵后,可以进一步计算该协方差矩阵的特征值,以及与各个特征值对应的特征向量。其中,协方差矩阵的特征值,通常取决于协方差矩阵的阶数;比如,对于一个N*M的协方差矩阵而言,其特征值为N*M个。
在计算上述协方差矩阵的特征值以及特征向量时,首先可以将上述协方差矩阵的特征多项式,然后求出该特征多项式的全部根;此时求出的每一个根都是一个特征值。当求出全部特征值后,可以将该特征值代入到与该协方差矩阵对应的线性方程组进行求解,得到与各个特征值对应的特征向量。
其中,需要说明的是,关于协方差矩阵的特征值和与特征值对应的特征向量的具体计算过程,在本说明书中不再结合具体的示例进行详细描述,本领域技术人员在将本说明书中记载的技术方案付诸实现时,可以参考相关技术中的记载;例如,本领域技术人员可以利用一些诸如matlab等成熟的工具,来计算上述协方差矩阵特征值以及对应于特征值的特征向量。
步骤308,将计算得到的所述特征向量按照对应的特征值的大小进行排序,并提取特征值最大的K个特征向量生成M*K维的投影矩阵;
当计算出上述协方差矩阵的所有特征值,以及与各个特征值对应的特征向量后,可以进一步对各个特征向量按照其对应的特征值的大小进行排序;比如,按照由大到小的顺序进行排序。当按照特征值的取值大小对各个特征向量进行排序完成后,可以提取出特征值最大的K个特征向量,生成一个M*K维的投影矩阵。
其中,上述K的取值,可以是一个小于上述M值的取值,在实际应用中,上述K的取值具体可以由本领域人员结合实际的需求进行人工指定。
步骤310,将所述目标矩阵与所述投影矩阵相乘,得到加密后的所述N*K维的加密矩阵。
上述M*K维的投影矩阵,即为最终对原始的目标矩阵进行加密的投影矩阵。在基于该M*K维的投影矩阵,对原始的N*M的目标矩阵进行加密时,具体可以将原始的高维度的目标矩阵,映射到一个低维度的投影矩阵空间中。
在实现时,将上述原始的N*M的目标矩阵映射到上述M*K维的投影矩阵空间,具体可以通过将上述原始的N*M的目标矩阵与上述M*K维的投影矩阵相乘来实现(即线性投影);其中,上述原始的N*M的目标矩阵与上述M*K维的投影矩阵相乘,可以采用右乘也可以采用左乘;
比如,假设上述M个维度的数据特征作为上述目标矩阵的列时,可以通过将上述原始的N*M的目标矩阵与上述M*K维的投影矩阵进行右乘计算,将上述原始的N*M的目标矩阵映射到上述M*K维的投影矩阵空间;那么,在实现时,也可以通过将上述原始的N*M的目标矩阵与上述M*K维的投影矩阵进行左乘,然后对左乘结果进行转置,将上述原始的N*M的目标矩阵映射到上述M*K维的投影矩阵空间。
当将上述原始的N*M的目标矩阵映射到上述M*K维的投影矩阵空间后,可以得到一个N*K维的加密矩阵。此时,该加密矩阵即为经过上述M*K维的映射矩阵进行加密后的数据样本。
其中,在示出的一种实施方式中,上述数据提供方服务端,在通过以上示出的计算过程,计算出上述N*K维的投影矩阵后,还可以将该投影矩阵作为加密矩阵在本地进行存储。
后续上述数据提供方服务端,再次收集到最新的N条数据数据样本,并基于该N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成了N*M维的矩阵后,可以判断本地是否存储了上述投影矩阵;
如果本地存储了上述投影矩阵,可以直接使用已经存储的上述投影矩阵,对上述N*M的矩阵进行加密,具体的加密过程不再赘述。
当然,如果本地未存储上述投影矩阵,那么可以按照以上描述的基于PCA算法的降维过程,重新对上述加密矩阵进行加密计算,生成上述投影矩阵。
另外,需要说明的是,在实际应用中,如果上述M个维度的数据特征的维度发生变化(比如增加了新的维度的数据特征,或者删减了其中部分维度的数据特征),或者上述M个维度的数据特征中的全部或者部分维度的数据特征所表征的含义发生变化,那么此时上述数据提供方可以基于以上描述的基于PCA算法的加密计算过程,重新计算出上述投影矩阵,并使用重新计算出的投影矩阵对本地应存储的投影矩阵进行更新。
通过这种方式,可以在建模所需的数据特征发生更新时,及时的对本地存储的已失效的加密矩阵进行更新,从而可以避免利用已失效的加密矩阵对原始的目标矩阵进行加密,而造成的数据信息量的损失影响建模精度。
在本说明书中,当按照以上示出的基于PCA算法的加密计算过程对所述目标矩阵进行降维计算,得到了加密后的N*K维的加密矩阵后,上述数据提供方服务端可以将该加密矩阵作为训练样本,传输至与上述数据提供方对接的建模服务端。
而建模服务端在收到上述数据提供方服务端传输的上述加密矩阵后,建模服务端可以将该加密矩阵作为训练样本训练机器学习模型;
其中,在示出的一种实施方式中,上述建模服务端具体可以将上述加密矩阵,与本地存储的训练样本进行融合,然后基于融合后的训练样本,来联合训练机器学习模型。
请参见图4,图4为本说明书示出的一种融合多方数据样本进行联合建模的示意图。
在一种场景下,上述建模方可以是Alipay的数据运营平台,而上述数据提供方可以包括与Alipay的数据运营平台对接的诸如银行、第三方金融机构等面向用户提供互联网服务的服务平台。在实际应用中,由于Alipay的数据运营平台对于上述数据提供方而言,是一个非授信的第三方,因此上述数据提供方直接将本地的用户交易数据提供给Alipay的数据运营平台进行数据建模,可能在数据传输环节中造成用户隐私泄露的问题。在这种情况下,各数据提供方可以基于PCA算法对基于上述投影矩阵对基于原始的交易数据样本生成的N*M维的目标矩阵进行加密计算,得到一个N*K维的加密矩阵,然后作为训练样本传输给Alipay的数据运营平台。而Alipay的数据运营平台可以将接收到的由各个数据提供方提供的训练样本,与本地化的数据样本进行融合,然后基于融合后的训练样本来训练机器学习模型;比如,基于银行以及第三方金融机构提供的用户交易数据,与Alipay的数据运营平台中本地化的用户交易数据进行融合,联合训练处一个用于对用户的交易进行风险评估的评分卡模型。
其中,需要说明的是,上述机器学习模型的具体类型,在本说明书中不进行特别限定;例如,在实际应用中,上述机器学习模型具体可以是基于有监督的机器学习算法(比如回归算法)搭建的有监督的预测模型;比如,基于用户的支付交易数据,训练出的用于评估用户的交易风险的评分卡模型;也可以基于无监督的机器学习算法(比如k-means算法)搭建的无监督的分类模型;比如,基于用户的点击以及访问数据,训练出的用于向用户有针对性的投放广告或者页面内容的推荐模型。
当基于以上示出的建模方式,训练出上述机器学习模型后,后续上述数据提供方,仍然可以基于上述投影矩阵,对基于采集到的数据样本以及相关数据特征构建的数据矩阵进行加密,然后传输至上述机器学习模型进行计算,得到模型的输出结果;比如,以上述机器学习模型为基于用户的支付交易数据,训练出的用于评估用户的交易风险的评分卡模型为例,上述数据提供方可以基于上述投影矩阵,对基于采集到的用户的交易数据构建的数据矩阵进行加密计算,然后作为输入数据传输至上述评分卡模型,得到与每笔交易对应的风险评分。
上面为本说明书实施例提供的一种数据加密方法,请参见图5,基于同样的思路,本说明书实施例提供的一种机器学习模型训练方法,应用于建模服务端,执行以下步骤:
步骤502,接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于PCA算法针对N*M维的目标矩阵进行加密计算,得到的N*K维的加密矩阵;所述K值小于所述M值;
步骤504,将所述加密矩阵作为训练样本训练机器学习模型。
其中,图5中示出的各步骤中的技术特征对应的实施过程,在本实施例中不再赘述,可以参照以上实施例的记载。
通过以上各实施例可知,通过基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵,并基于PCA算法对该目标矩阵进行加密计算,得到N*K维的加密矩阵,然后将该加密矩阵传输至建模服务端,由该建模服务端将该加密矩阵作为训练样本训练机器学习模型;
一方面,由于在将基于PCA算法加密后的加密矩阵传输至建模服务端后,建模服务端基于加密后的加密矩阵,通常无法还原出原始的目标矩阵,因而能够最大程度的对用户的隐私数据进行隐私保护,避免将数据样本提交至建模服务端进行模型训练的过程中造成用户的隐私泄露;
另一方面,由于基于PCA算法对上述目标矩阵进行加密计算后,得到的加密矩阵中的维度少于原始的目标矩阵,因此可以降低在向建模服务端传输数据样本时的传输开销;
而且,由于使用PCA算法对上述目标矩阵进行加密计算时,能够最大程度保留原始数据样本中的信息量,因此在将加密后的加密矩阵传输至建模服务端进行模型训练时,仍然能够保证模型训练的精度。
与上述方法实施例相对应,本说明书还提供了一种数据加密装置的实施例。
本说明书的数据加密装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书的数据加密装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图7是本说明书一示例性实施例示出的一种数据加密装置的框图。
请参考图7,所述数据加密装置70可以应用在前述图6所示的电子设备中,包括有:生成模块701、计算模块702、传输模块703。
其中,生成模块701,基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵;
计算模块702,基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;
传输模块703,将所述加密矩阵传输至建模服务端;其中,所述加密矩阵用于训练机器学习模型。
在本实施例中,所述计算模块702:
对所述目标矩阵中与所述M个维度的数据特征对应的向量中的取值分别进行零均值化处理;
计算零均值化处理后的所述目标矩阵对应的协方差矩阵;
计算所述协方差矩阵的特征值以及与所述特征值对应的特征向量;
将计算得到的所述特征向量按照对应的特征值的大小进行排序,并提取特征值最大的K个特征向量生成M*K维的投影矩阵;
将所述目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵。
在本实施例中,所述装置还包括:
存储模块704(图7中未示出),将所述投影矩阵作为加密矩阵在本地进行存储。
在本实施例中,所述计算模块702进一步:
判断本地是否存储了所述投影矩阵;
如果本地存储了所述投影矩阵,则将所述N*M维的目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵;
如果本地未存储所述投影矩阵,则基于PCA算法对所述目标矩阵进行加密计算,得到所述N*K维的加密矩阵。
在本实施例中,所述装置70还包括:
更新模块705(图7中未示出),如果所述数据特征的维度发生变化,或者所述数据特征表征的含义发生变化,基于PCA算法重新对所述目标矩阵进行加密计算,并基于重新计算得到的所述投影矩阵,对本地存储的投影矩阵进行更新。
与上述方法实施例相对应,本说明书还提供了一种机器学习模型训练装置的实施例。
本说明书的机器学习模型训练装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书的机器学习模型训练装所在电子设备的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图9是本说明书一示例性实施例示出的一种数据加密装置的框图。
请参考图9,所述机器学习模型训练装置90可以应用在前述图8所示的电子设备中,包括有:接收模块901、训练模块902。
其中,接收模块901,接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于PCA算法针对N*M维的目标矩阵进行加密计算,得到的N*K维的加密矩阵;所述K值小于所述M值;
训练模块902,将所述加密矩阵作为训练样本训练机器学习模型。
在本实施例中,所述训练模块902进一步:
将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供一种机器学习模型训练系统的实施例。
该机器学习模型训练系统,可以包括数据提供方服务端和建模服务端。
其中,上述数据提供方服务端,可以基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵,并基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;以及,将所述加密矩阵传输至建模服务端;
上述建模服务端,基于所述加密矩阵训练机器学习模型。
在本实施例中,所述建模服务端进一步:
将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与图1示出的上述数据加密的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于N条数据样本以及分别对应于所述N条数据样本的M个维度的数据特征生成N*M维的目标矩阵;
基于PCA算法对所述目标矩阵进行加密计算,得到N*K维的加密矩阵;其中,所述K值小于所述M值;
将所述加密矩阵传输至建模服务端;其中,所述加密矩阵用于训练机器学习模型。
在本例中,通过读取并执行所述存储器存储的与图1示出的数据加密的控制逻辑对应的机器可执行指令,所述处理器还被促使:
对所述目标矩阵中与所述M个维度的数据特征对应的向量中的取值分别进行零均值化处理;
计算零均值化处理后的所述目标矩阵对应的协方差矩阵;
计算所述协方差矩阵的特征值以及与所述特征值对应的特征向量;
将计算得到的所述特征向量按照对应的特征值的大小进行排序,并提取特征值最大的K个特征向量生成M*K维的投影矩阵;
将所述目标矩阵与所述投影矩阵相乘,得到加密后的所述N*K维的加密矩阵。
在本例中,通过读取并执行所述存储器存储的与图1示出的数据加密的控制逻辑对应的机器可执行指令,所述处理器还被促使:
将所述投影矩阵作为加密矩阵在本地进行存储。
在本例中,通过读取并执行所述存储器存储的与图1示出的数据加密的控制逻辑对应的机器可执行指令,所述处理器还被促使:
判断本地是否存储了所述投影矩阵;
如果本地存储了所述投影矩阵,则将所述N*M维的目标矩阵与所述投影矩阵相乘,得到所述N*K维的加密矩阵;
如果本地未存储所述投影矩阵,则基于PCA算法对所述目标矩阵进行加密计算,得到所述N*K维的加密矩阵。
在本例中,通过读取并执行所述存储器存储的与数据加密的控制逻辑对应的机器可执行指令,所述处理器还被促使:
如果所述数据特征的维度发生变化,或者所述数据特征所表征的含义发生变化,基于PCA算法重新对所述目标矩阵进行加密计算,并基于重新计算得到的所述投影矩阵,对本地存储的投影矩阵进行更新。
与上述方法实施例相对应,本说明书还提供了另一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与图5中示出的机器学习模型训练的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于PCA算法针对N*M维的目标矩阵进行加密计算,得到的N*K维的加密矩阵;所述K值小于所述M值;
将所述加密矩阵作为训练样本训练机器学习模型。
在本实施例中,通过读取并执行所述存储器存储的与图5中示出的机器学习模型训练的控制逻辑对应的机器可执行指令,所述处理器还被促使:
将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。