数据加密、机器学习模型训练方法、装置及电子设备与流程

文档序号:17049975发布日期:2019-03-05 19:57阅读:262来源:国知局
数据加密、机器学习模型训练方法、装置及电子设备与流程

本说明书涉及计算机应用领域,尤其涉及一种数据加密、机器学习模型训练方法、装置及电子设备。



背景技术:

随着互联网技术的飞速发展,用户的个人数据的网络化和透明化已经成为不可阻挡的大趋势。对于一些面向用户提供互联网服务的服务平台而言,可以通过采集用户日常产生的服务数据,收集到海量的用户数据。而这些用户数据对于服务平台的运营方来说,是非常珍贵的“资源”,服务平台的运营方可以通过数据挖掘和机器学习,从这些“资源”中挖掘出大量有价值的信息。例如,在实际应用中,可以结合具体业务场景,从这些海量用户数据中提取出若干个维度的数据特征,并将提取出的这些特征作为训练样本,通过特定的机器学习算法进行训练构建机器学习模型,然后在该业务场景下应用训练完成的该机器学习模型,来指导业务运营。



技术实现要素:

本说明书提出一种数据加密方法,所述方法包括:

基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;

基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;

将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;其中,所述加密矩阵用于训练机器学习模型

可选的,所述预设的机器学习模型为有监督的机器学习模型;其中,所述预设的机器学习模型的损失函数中的待训练模型参数,被表示成所述目标投影矩阵和目标向量的乘积。

可选的,所述预设的机器学习模型为逻辑回归模型。

可选的,所述损失函数的表达式为以下表达式中的任一:

其中,h表示所述投影矩阵;u表示所述目标向量;||||f表示所述损失函数的正则项的正则化范数;λ和υ表示正则系数;bi表示由所述目标矩阵中中第i条数据样本的m个维度的数据特征生成的特征向量;yi表示与所述特征向量对应的标签。

可选的,所述损失函数为对数损失函数;其中,

loss(bihu,yi)=log(1+exp(-yibihu))。

本说明书还提出一种数据加密装置,所述装置包括:

生成模块,基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;

第一训练模块,基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;

加密模块,将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;其中,所述加密矩阵用于训练机器学习模型。

可选的,所述预设的机器学习模型为有监督的机器学习模型;其中,所述预设的机器学习模型的损失函数中的待训练模型参数,被表示成目标投影矩阵和目标向量的乘积。

可选的,其中,所述机器学习模型为逻辑回归模型。

可选的,所述损失函数的表达式为以下表达式中的任一:

其中,h表示所述投影矩阵;u表示所述目标向量;||||f表示所述损失函数的正则项的正则化范数;λ和υ表示正则系数;bi表示由所述目标矩阵中第i条数据样本的m个维度的数据特征生成的特征向量;yi表示与所述特征向量对应的标签。

可选的,所述损失函数为对数损失函数;其中,

loss(bihu,yi)=log(1+exp(-yibihu))。

本说明书还提出一种机器学习模型训练方法,所述方法包括:

接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于n*m维的目标矩阵对预设的机器学习模型进行训练,得到的m*k维的目标投影矩阵;所述k值小于所述m值;

将所述加密矩阵作为训练样本训练机器学习模型。

可选的,所述将所述加密矩阵作为训练样本训练机器学习模型,包括:

将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。

本说明书还提出一种机器学习模型训练装置,所述装置包括:

接收模块,接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于n*m维的目标矩阵对预设的机器学习模型进行训练,得到的m*k维的目标投影矩阵;所述k值小于所述m值;

第二训练模块,将所述加密矩阵作为训练样本训练机器学习模型。

可选的,所述第二训练模块进一步:

将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。

本说明书还提出一种机器学习模型训练系统,所述系统包括:

数据提供方服务端,基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;

建模服务端,基于所述加密矩阵训练机器学习模型。

可选的,所述建模服务端进一步:

将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。

本说明书还提出一种电子设备,包括:

处理器;

用于存储机器可执行指令的存储器;

其中,通过读取并执行所述存储器存储的与数据加密的控制逻辑对应的机器可执行指令,所述处理器被促使:

基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;

基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;

将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;其中,所述加密矩阵用于训练机器学习模型;

本说明书还提出一种电子设备,包括:

处理器;

用于存储机器可执行指令的存储器;

其中,通过读取并执行所述存储器存储的与机器学习模型训练的控制逻辑对应的机器可执行指令,所述处理器被促使:

接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于n*m维的目标矩阵对预设的机器学习模型进行训练,得到的m*k维的目标投影矩阵;所述k值小于所述m值;

将所述加密矩阵作为训练样本训练机器学习模型。

本说明书中,数据提供方通过基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成的n*m维的目标矩阵,对预设的机器学习模型进行训练,训练出一个降维的n*k维的目标投影矩阵,并将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵,由所述建模服务端将所述加密矩阵作为训练样本训练机器学习模型;

一方面,由于建模服务端基于所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘后得到的加密矩阵,通常无法还原出原始的目标矩阵,因而能够最大程度的对用户的隐私数据进行隐私保护,避免将数据样本提交至建模服务端进行模型训练的过程中造成用户的隐私泄露;

另一方面,由于上述加密矩阵为针对所述n*m维的目标矩阵进行线性降维映射得到的一个n*k维的降维矩阵,因此可以降低在向建模服务端传输数据样本时的传输开销;而且,由于上述目标投影矩阵是通过将上述目标矩阵作为原始的样本训练集经过机器学习训练得出的,因此基于该目标投影矩阵对所述目标矩阵进行线性投影映射得到的所述加密矩阵,能够最大程度保留原始数据样本中的信息量,从而在将降维后的加密矩阵传输至建模服务端进行模型训练时,仍然能够保证模型训练的精度。

附图说明

图1是本说明书一实施例示出的一种数据加密方法的流程图;

图2是本说明书一实施例示出的n*m维的目标矩阵示意图;

图3是本说明书一实施例示出的一种融合多方数据样本进行联合建模的示意;

图4是本说明书一实施例示出的一种机器学习模型训练方法的流程图;

图5是本申请一实施例提供的承载一种数据加密装置的电子设备所涉及的硬件结构图;

图6是本申请一实施例提供的一种数据加密装置的的逻辑框图;

图7是本申请一实施例提供的承载一种机器学习模型训练装置的电子设备所涉及的硬件结构图;

图8是本申请一实施例提供的一种机器学习模型训练装置的的逻辑框图。

具体实施方式

在大数据时代,通过对海量数据进行挖掘,可以获得各种形式的有用信息,因此数据的重要性不言而喻。不同的机构都拥有各自的数据,但是任何一家机构的数据挖掘效果,都会受限于其自身拥有的数据数量和种类。针对该问题,一种直接的解决思路是:多家机构相互合作,将数据进行共享,从而实现更好的数据挖掘效果,实现共赢。

然而对于数据拥有方而言,数据本身是一种具有很大价值的资产,而且出于保护隐私、防止泄露等需求,数据拥有方往往并不愿意直接把数据提供出来,这种状况导致“数据共享”在现实中很难实际运作。因此,如何在充分保证数据安全的前提下实现数据共享,已经成为行业内备受关注的问题。

在本说明书中,旨在提出一种通过机器学习算法对建模所需的原始用户数据进行机器学习,来训练出一个降维的目标投影矩阵,进而可以使用该投影矩阵对建模所需的原始用户数据进行加密,对原始的用户数据进行隐私保护,并最大程度保留原始用户数据中的信息量,从而可以在不牺牲建模精度的前提下,兼顾对用户的隐私保护的技术方案。

在实现时,可以从建模所需的n条数据样本中分别提取出n个维度的数据特征,并基于该n条数据样本,以及分别对应于该n条数据样本的m个维度的数据特征,生成一个n*m维的目标矩阵作为样本训练集。

当生成上述n*m维的目标矩阵后,可以将该n*m维的目标矩阵作为训练样本对机器学习模型进行训练;例如,当上述机器学习模型有监督的机器学习模型时,该机器学习模型的损失函数中的待训练的模型参数(一个m维的向量),可以通过基础的线性转换被表示成了一个降维的n*k维的目标投影矩阵和一个k*1维的目标向量的乘积;进而,通过上述n*m维的目标矩阵对上述机器学习模型进行训练后,可以训练出一个降维的n*k维的目标投影矩阵。

当得到该目标投影矩阵后,可以基于该目标投影矩阵对上述n*m维的目标矩阵进行线性降维映射,通过将上述n*m维的目标矩阵与上述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵,并将该加密矩阵传输至建模服务端。

上述建模服务端在收到该加密矩阵后,可以将该加密矩阵作为训练样本训练机器学习模型;例如,可以将上述加密矩阵与其本地的训练样本进行融合,然后基于融合后的训练样本来训练机器学习模型。

一方面,由于建模服务端基于所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘后得到的加密矩阵,通常无法还原出原始的目标矩阵,因而能够最大程度的对用户的隐私数据进行隐私保护,避免将数据样本提交至建模服务端进行模型训练的过程中造成用户的隐私泄露;

另一方面,由于上述加密矩阵为针对所述n*m维的目标矩阵进行线性降维映射得到的一个n*k维的降维矩阵,因此可以降低在向建模服务端传输数据样本时的传输开销;而且,由于上述目标投影矩阵是通过将上述目标矩阵作为原始的样本训练集经过机器学习训练得出的,因此基于该目标投影矩阵对所述目标矩阵进行线性投影映射得到的所述加密矩阵,能够最大程度保留原始数据样本中的信息量,从而在将降维后的加密矩阵传输至建模服务端进行模型训练时,仍然能够保证模型训练的精度。

下面通过具体实施例并结合具体的应用场景进行详细描述。

请参考图1,图1是本说明书一实施例提供的一种数据加密方法,应用于数据提供方服务端,执行以下步骤:

步骤102,基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;

步骤104,基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;

步骤106,将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;其中,所述加密矩阵用于训练机器学习模型。

上述数据提供方服务端,可以与建模服务端进行对接,向上述建模服务端提供建模所需的数据样本;

例如,在实际应用中,上述数据提供方和建模方可以分别对应不同的运营方,数据提供方可以将采集到的用户数据作为数据样本,传输至上述建模方来完成数据建模;比如,上述建模方可以是alipay的数据运营平台,而上述数据提供方可以是与alipay的数据运营平台对接的诸如第三方银行、快递公司等面向用户提供互联网服务的服务平台。在初始状态下,数据提供方的服务端可以在后台收集用户日常产生的用户数据,并从收集到的这些用户数据中采集n条用户数据作为数据样本,并基于采集到的这些数据样本生成一个初始化的数据样本集合。

例如,在示出的一种实施方式中,可以从收集到的这些用户数据中,采集出n条涉及用户隐私的敏感数据,然后基于这些敏感数据生成一个初始化的数据样本集合。

其中,采集到的上述n条数据样本的具体数量,在本说明书中不进行特别限定,本领域技术人员可以基于实际的需求进行设置。

上述用户数据的具体形态,取决于具体的业务场景以及建模需求,在本说明书中也不进行特别限定;例如,在实际应用中,如果希望创建出一个用于对用户发起的支付交易进行风险评估的评分卡模型,那么在这种业务场景下,上述用户数据则可以是基于用户通过支付客户端产生的交易数据。

当基于采集到的n条数据样本生成上述数据样本集合后,上述数据提供方服务端还可以对该数据样本集合中的数据样本进行预处理。

其中,对上述数据样本集合中的数据样本进行预处理,通常包括对上述数据样本集合中的数据样本进行数据清洗、补充缺省值、归一化处理或者其它形式的预处理过程。通过对数据样本集合中的数据样本进行预处理,可以将采集到的数据样本转换成适宜进行模型训练的标准化的数据样本。

当对上述数据样本集合中的数据样本预处理完成后,上述数据提供方服务端可以从上述数据样本集合中的各数据样本中,分别提取出m个维度的数据特征;

其中,提取出的上述m个维度的数据特征的数量,在本说明书中不进行特别限定,本领域技术人员可以基于实际的建模需求进行选择。

另外,提取出的数据特征的具体类型,在本说明书中也不进行特别限定,本领域技术人员可以基于实际的建模需求,从上述数据样本中实际所包含的信息中来人工选定;

例如,在一种实施方式中,上述建模方可以基于实际的建模需求,预先选定m个维度的数据特征,然后将选定的数据特征提供给上述数据提供方,由上述数据提供方从上述数据样本中来提取与各个维度的数据特征对应的数据特征取值。

当数据提供方提取出与上述数据样本集合中的各数据样本中,分别提取出m个维度的数据特征后,可以基于提取出的m个维度的数据特征对应的数据特征取值,为各数据样本分别生成一个数据特征向量,然后基于各数据样本的数据特征向量,构建出一个n*m维的目标矩阵。

其中,在实现时,上述m维的数据特征,可以对应于上述目标矩阵的行,也可以对应于上述目标矩阵的列,在本说明书中不进行特别限定。

例如,请参见图2,以上述m维的数据特征对应于上述目标矩阵的行为例,上述目标矩阵可以表示成如图2所示的形式。在图2所示的目标矩阵中,每一列表示一条数据样本,每一行表示由m个维度的数据特征构成的一个特征向量。

当上述数据提供方的服务端基于n条数据样本,以及分别对应于该n条数据样本的m个维度的数据特征,生成n*m维的目标矩阵后,可以调将上述n*m维的目标矩阵作为原始的样本训练集进行机器学习模型训练,训练出一个用于对上述n*m维的目标矩阵进行加密的投影矩阵。

在本说明书中,上述机器学习模型具体可以是有监督的机器学习模型;例如,上述机器学习模型具体可以是lr(logisticregression,逻辑回归)模型。

其中,上述机器学习模型的具体类型,在本说明书中不进行特别限定;例如,在实际应用中,上述机器学习模型具体可以是基于有监督的机器学习算法(比如回归算法)搭建的有监督的预测模型;比如,基于用户的支付交易数据,训练出的用于评估用户的交易风险的评分卡模型。

在实际应用中,有监督的机器学习模型,通常使用损失函数(lossfunction),来描述训练样本和对应的样本标签之间的拟合误差。在实际的模型训练过程中,可以利用损失函数对上述n*m维的目标矩阵进行训练,将训练样本和对应的样本标签作为输入值,来反向求解出训练样本和对应的样本标签之间的拟合误差最小时的模型参数的取值,并将求解出的该模型参数的取值作为最优参数,来构建上述逻辑回归模型。即通过损失函数来训练逻辑回归模型,可以理解为通过损失函数来反向求解出,训练样本和对应的样本标签之间的拟合误差最小时的模型参数的取值的过程。

基于此,在本说明书中,在基于上述n*m维的目标矩阵对机器学习模型进行训练得到上述m*k维的目标投影矩阵时,具体可以通过将该机器学习模型的损失函数中待训练的模型参数ω,表示成上述目标投影矩阵h和一个特定的系数u的乘积,然后代入到上述损失函数中,通过模型训练求解出上述目标投影矩阵。即在实际应用中,可以通过对上述待训练的模型参数ω进行基础的数学变换,从待训练的模型参数ω中衍生出一个目标投影矩阵。

例如,在示出的一种实施方式中,当训练样本集为n*m的目标矩阵时,上述待训练的模型参数ω通常是一个m维的向量(即由与m维的数据特征分别对应的权重值构成的一个向量);在这种情况下,可以通过基础的线性转换,将待训练的模型参数ω,表示成为一个m*k维的目标投影矩阵h和一个k*1维的目标向量u的乘积(即对于上述h和u来说,是由原始的待训练的模型参数ω,经过一些基础的线性变化衍生出来的参数),然后代入到上述损失函数的表达中,并通过模型训练过程求解出上述目标投影矩阵h。

以下以上述有监督的机器学习模型为逻辑回归模型为例进行详细描述。

其中,需要说明的是,以上述有监督的机器学习模型为逻辑回归模型为例仅为示例性的;显然,在实际应用中,上述机器学习模型具体也可以是逻辑回归模型以外的其它类型的机器学习模型。

在本说明书中,上述n条数据样本,可以分别携带一个预先标定的样本标签。其中,样本标签的具体形态,通常也取决于具体的业务场景以及建模需求,在本说明书中也不进行特别限定;

例如,在实际应用中,如果希望创建出一个用于对用户发起的支付交易进行风险评估的评分卡模型,那么在这种业务场景下,上述用户数据可以是基于用户通过支付客户端产生的交易数据,而上述样本标签则具体可以是一个用于指示交易数据样本是否存在交易风险的标签。

在这种情况下,基于上述n条数据样本,以及分别对应于上述n条数据样本的m个维度的数据特征构建的上述n*m维的目标矩阵中的每一个数据特征向量,可以分别对应一个样本标签。

在示出的一种实施方式中,逻辑回归模型的损失函数的公式可以如下所示:

其中,以上公式中,ω表示待训练的模型参数,通常为一个m维的向量;bi表示由所述目标矩阵中第i条数据样本的m个维度的数据特征生成的特征向量;即上述n*m维的目标矩阵中由第i条数据样本,以及对应于该第i条数据样本的m个维度的数据特征生成的特征向量(比如以上述目标矩阵的行表示数据特征为例,上述bi表示上述目标矩阵中第i行特征向量);yi表示与bi对应的样本标签。以上公式表示求解出与bi与yi之间的拟合误差的最小值对应的最优参数ω。

其中,在实际应用中,在利用损失函数来训练逻辑回归模型时,为了避免出现训练出的模型过拟合的问题,通常会为上述损失函数引入一个范数正则项。

例如,在示出的另一种实施方式中,上述损失函数的公式可以如下所示:

其中,以上公式中,即为引入的范数正则项;λ表示正则系数,通常为本领域技术人员基于实际需求设置的一个实数;||||f表示上述正则项所采用的范数类型;在实际应用中,上述正则项所采用的范数类型,可以由本领域技术人员基于实际需求进行设置。

在本说明书中,数据提供方可以将上述公式中的待学习的模型参数ω,通过基础的线性转换表示成为一个目标投影矩阵h和一个目标向量u的乘积(即m*k维的矩阵和一个k*1维的目标向量相乘可以得到一个m*1维的向量),然后代入到上述目标函数中。

其中,需要说明的是,上述目标投影矩阵具体可以是一个m*k维的降维矩阵。上述k的取值将小于上述m的取值,该k的取值具体可以由本领域技术人员基于实际的需求进行设置;比如,在一种实现方式中,上述k的取值具体可以取m值的二分之一或者三分之一。在这种情况下,上述m维的待训练的模型参数ω,可以基于基础的线性变换,被表示成一个m*k维的目标投影矩h,和一个k*1维的目标向量u的乘积。

当将待学习的模型参数ω通过基础的线性转换表示成为一个目标投影矩阵h和一个目标向量u的乘积后,可以将h和u代入到以上公式中,然后将上述n*m维的目标矩阵作为训练样本,并结合现有的基于损失函数训练逻辑回归模型的具体过程进行模型训练,反向求解出上述目标投影矩阵h,用于对原始数据进行加密。

在本说明书中,上述损失函数的公式中,可以携带正则项,也可以不携带正则。

在一种实施方式中,不携带正则项的损失函数的公式可以如下公式1所示:

在以上公式中h表示上述目标投影矩阵;u表示上述目标向量;其它各参数的含义不再赘述。

在另一种实施方式中,携带正则项的损失函数的公式可以如下公式2所示:

在以上公式中,λ表示h和u共同的正则化系数;||||f表示上述正则项所采用的范数类型,该m的取值具体可以由本领域技术人员结合实际的需求进行设置;比如,在一种情况下,下标f的取值可以为2,即上述损失函数的正则项可以采用2范数(即euclid范数)。

当然,在实际应用中,以上公式也可以进行进一步的变形,上述目标投影矩阵h和上述目标向量u可以分别对应不同的正则项,并设定不同的正则化系数。

在这种情况下,携带正则项的损失函数的公式可以如下公式3所示:

其中,在以上公式中,λ和υ对应的取值不同;并且,与上述目标投影矩阵h对应的正则项所采用的范数类型,和与上述目标向量对应的正则项所采用的范数类型可以不同(即与h和u对应的正则项中下标f的取值可以不同)。

例如,在一种实现方式中,与上述目标投影矩阵h对应的正则项所采用的范数类型可以为f范数(frobenius范数范数),与上述目标向量对应的正则项所采用的范数类型可以为2范数。

在这种情况下,上述公式可以表示成:

其中,需要说明的是,在实际应用中,上述损失函数的具体类型,在本说明书中不进行特别限定;

例如,在示出的一种实施方式中,上述损失函数具体可以采用对数损失函数。在这种情况下,以上示出的公式1‐3中,上述loss(bihu,yi)具体可以表示成如下的形式:

loss(bihu,yi)=log(1+exp(-yibihu))。

当然,在实际应用中,除了对数损失函数以外,也可以采用其它类型的损失函数(比如指数损失函数),在本说明书中不进行特别限定,本领域技术人员可以基于实际的需求进行选择。

在本说明书中,当数据提供方基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成上述n*m维的目标矩阵后,可以调用以上示出的公式1-3中的任意一个公式来训练逻辑回归模型,求解出表示求解出与bi与yi之间的拟合误差的最小值对应的最优参数h。

其中,在调用以上示出的公式来训练逻辑回归模型时,具体可以采用逻辑回归模型传统的梯度下降法,来完成模型的训练过程,求解出最优参数h,具体的训练过程,在本说明书中不再进行详述,本领域技术人员在将本说明书中的技术方案付诸实现时,可以参考相关技术中的记载。

在本说明书中,当通过模型训练最终训练出上述目标投影矩阵h后,该m*k维的投影矩阵,即为最终用于对原始的目标矩阵进行加密的矩阵。在基于该m*k维的投影矩阵,对原始的n*m的目标矩阵进行加密时,具体可以基于该m*k维的降维后的目标投影矩阵,对原始的高维度的n*m维的目标矩阵进行线性投影映射,将该n*m的目标矩阵映射到该m*k维的低维度的投影矩阵空间中。

在实现时,将上述原始的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维的映射矩阵进行加密后的数据样本。

其中,在示出的一种实施方式中,上述数据提供方服务端,在通过以上示出的计算过程,计算出上述m*k维的投影矩阵后,还可以将该投影矩阵作为加密矩阵在本地进行存储。

后续上述数据提供方服务端,再次收集到最新的n条数据数据样本,并基于该n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成了n*m维的目标矩阵后,可以判断本地是否存储了上述投影矩阵;

如果本地存储了上述投影矩阵,可以直接使用已经存储的上述投影矩阵,对上述n*m的矩阵进行加密,具体的加密过程不再赘述。

当然,如果本地未存储上述投影矩阵,那么可以按照以上描述的上述目标投影矩阵h的训练学习过程,重新学习出该目标投影矩阵h。

另外,需要说明的是,在实际应用中,如果上述m个维度的数据特征的维度发生变化(比如增加了新的维度的数据特征,或者删减了其中部分维度的数据特征),或者上述m个维度的数据特征中的全部或者部分维度的数据特征所表征的含义发生变化,那么此时上述数据提供方可以基于以上描述的上述目标投影矩阵h的训练学习过程,重新学习出该目标投影矩阵h,并使用重新计算出的投影矩阵对本地应存储的投影矩阵进行更新。

通过这种方式,可以在建模所需的数据特征发生更新时,及时的对本地存储的已失效的加密矩阵进行更新,从而可以避免利用已失效的加密矩阵对原始的目标矩阵进行加密,而造成的数据信息量的损失影响建模精度。

在本说明书中,当按照以上示出的训练学习过程,得到了加密后的n*k维的加密矩阵后,上述数据提供方服务端可以将该加密矩阵作为训练样本,传输至与上述数据提供方对接的建模服务端。

而建模服务端在收到上述数据提供方服务端传输的上述加密矩阵后,建模服务端可以将该加密矩阵作为训练样本训练机器学习模型;

其中,在示出的一种实施方式中,上述建模服务端具体可以将上述加密矩阵,与本地存储的训练样本进行融合,然后基于融合后的训练样本,来联合训练机器学习模型。

请参见图3,图3为本说明书示出的一种融合多方数据样本进行联合建模的示意图。

在一种场景下,上述建模方可以是alipay的数据运营平台,而上述数据提供方可以包括与alipay的数据运营平台对接的诸如银行、第三方金融机构等面向用户提供互联网服务的服务平台。

在实际应用中,由于alipay的数据运营平台对于上述数据提供方而言,是一个非授信的第三方,因此上述数据提供方直接将本地的用户交易数据提供给alipay的数据运营平台进行数据建模,可能在数据传输环节中造成用户隐私泄露的问题。

在这种情况下,各数据提供方可以基于以上示出的公式1-公式3中的任意一个公式,通过对基于原始的交易数据样本生成的n*m维的目标矩阵进行训练学习,得到一个m*k维的投影矩阵,然后使用该m*k维的投影矩阵,对上述n*m维的目标矩阵进行降维加密,得到一个n*k维的加密矩阵,并将该加密矩阵作为训练样本传输给alipay的数据运营平台。

而alipay的数据运营平台可以将接收到的由各个数据提供方提供的训练样本,与本地化的数据样本进行融合,然后基于融合后的训练样本来训练机器学习模型;比如,基于银行以及第三方金融机构提供的用户交易数据,与alipay的数据运营平台中本地化的用户交易数据进行融合,联合训练出一个用于对用户的交易进行风险评估的评分卡模型。

当上述建模方基于以上示出的建模方式,训练出上述机器学习模型后,后续上述数据提供方,仍然可以基于上述目标投影矩阵h,对基于采集到的数据样本以及相关数据特征构建的数据矩阵进行降维加密,然后传输至上述机器学习模型进行计算,得到模型的输出结果;比如,以上述机器学习模型为基于用户的支付交易数据,训练出的用于评估用户的交易风险的评分卡模型为例,上述数据提供方可以基于上述投影矩阵,对基于采集到的用户的交易数据构建的数据矩阵进行降维加密,然后作为输入数据传输至上述评分卡模型,得到与每笔交易对应的风险评分。

上面为本说明书实施例提供的一种数据加密方法,请参见图4,基于同样的思路,本说明书实施例还提供一种机器学习模型训练方法,应用于建模服务端,执行以下步骤:

步骤402,接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于n*m维的目标矩阵对预设的机器学习模型进行训练,得到的m*k维的目标投影矩阵;所述k值小于所述m值;

步骤404,将所述加密矩阵作为训练样本训练机器学习模型。

其中,图4中示出的各步骤中的技术特征对应的实施过程,在本实施例中不再赘述,可以参照以上实施例的记载。

通过以上各实施例可知,数据提供方通过基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成的n*m维的目标矩阵,对预设的机器学习模型进行训练,训练出一个降维的n*k维的目标投影矩阵,并将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵,由所述建模服务端将所述加密矩阵作为训练样本训练机器学习模型;

一方面,由于建模服务端基于所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘后得到的加密矩阵,通常无法还原出原始的目标矩阵,因而能够最大程度的对用户的隐私数据进行隐私保护,避免将数据样本提交至建模服务端进行模型训练的过程中造成用户的隐私泄露;

另一方面,由于上述加密矩阵为针对所述n*m维的目标矩阵进行线性降维映射得到的一个n*k维的降维矩阵,因此可以降低在向建模服务端传输数据样本时的传输开销;

而且,由于上述目标投影矩阵是通过将上述目标矩阵作为原始的样本训练集经过机器学习训练得出的,因此基于该目标投影矩阵对所述目标矩阵进行线性投影映射得到的所述加密矩阵,能够最大程度保留原始数据样本中的信息量,从而在将降维后的加密矩阵传输至建模服务端进行模型训练时,仍然能够保证模型训练的精度。

与上述方法实施例相对应,本说明书还提供了一种数据加密装置的实施例。本说明书的数据加密装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请的数据加密装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

图6是本申请一示例性实施例示出的一种数据加密装置的框图。

请参考图6,所述数据加密装置60可以应用在前述图5所示的电子设备中,包括有:生成模块601、训练模块602、加密模块603。

其中,生成模块601,基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;

第一训练模块602,基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;

加密模块603,将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;其中,所述加密矩阵用于训练机器学习模型。

在本实施例中,所述预设的机器学习模型为有监督的机器学习模型;其中,所述预设的机器学习模型的损失函数中的待训练模型参数,被表示成目标投影矩阵和目标向量的乘积。

在本实施例中,其中,所述机器学习模型为逻辑回归模型。

在本实施例中,所述损失函数的表达式为以下表达式中的任一:

其中,h表示所述投影矩阵;u表示所述目标向量;||||f表示所述损失函数的正则项的正则化范数;λ和υ表示正则系数;bi表示由所述目标矩阵中第i条数据样本的m个维度的数据特征生成的特征向量;yi表示与所述特征向量对应的标签。

在本实施例中,所述损失函数为对数损失函数;其中,

loss(bihu,yi)=log(1+exp(-yibihu))。

与上述方法实施例相对应,本说明书还提供了一种机器学习模型训练装置的实施例。本说明书的机器学习模型训练装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请的机器学习模型训练装置所在电子设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

图8是本申请一示例性实施例示出的一种机器学习模型训练装置的框图。

请参考图8,所述机器学习模型训练装置80可以应用在前述图7所示的电子设备中,包括有:接收模块801和第二训练模块802。

其中,接收模块801,接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于n*m维的目标矩阵对预设的机器学习模型进行训练,得到的m*k维的目标投影矩阵;所述k值小于所述m值;

第二训练模块802,将所述加密矩阵作为训练样本训练机器学习模型。

在本实施例中,所述第二训练模块802进一步:

将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

与上述方法实施例相对应,本说明书还提供一种机器学习模型训练系统的实施例。

该机器学习模型训练系统,可以包括数据提供方服务端和建模服务端。

其中,上述数据提供方服务端,基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;

上述建模服务端,基于所述加密矩阵训练机器学习模型。

在本实施例中,所述建模服务端进一步:

将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。

与上述方法实施例相对应,本申请还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。

在本实施例中,通过读取并执行所述存储器存储的与如1中示出的数据加密的控制逻辑对应的机器可执行指令,所述处理器被促使:

基于n条数据样本以及分别对应于所述n条数据样本的m个维度的数据特征生成n*m维的目标矩阵;

基于所述n*m维的目标矩阵对预设的机器学习模型进行训练,得到m*k维的目标投影矩阵;其中,所述k值小于所述m值;

将所述n*m维的目标矩阵与所述m*k维的目标投影矩阵相乘,得到加密后的n*k维的加密矩阵;其中,所述加密矩阵用于训练机器学习模型;

在本实施例中,所述预设的机器学习模型为有监督的机器学习模型;其中,所述预设的机器学习模型的损失函数中的待训练模型参数,被表示成所述目标投影矩阵和目标向量的乘积。

在本实施例中,所述预设的机器学习模型为逻辑回归模型。

在本实施例中,通过读取并执行所述存储器存储的与数据库损坏的恢复的控制逻辑对应的机器可执行指令,所述处理器被促使:

基于以下表达式中的任一损失函数对所述n*m维的目标矩阵进行模型训练:

其中,h表示所述投影矩阵;u表示所述目标向量;||||f表示所述损失函数的正则项的正则化范数;λ和υ表示正则系数;bi表示由所述目标矩阵中第i条数据样本的m个维度的数据特征生成的特征向量;yi表示与所述特征向量对应的标签。

在本实施例中,所述损失函数为对数损失函数;其中,

loss(bihu,yi)=log(1+exp(-yibihu))。

与上述方法实施例相对应,本申请还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。

在本实施例中,通过读取并执行所述存储器存储的与如4中示出的机器学习模型训练的控制逻辑对应的机器可执行指令,所述处理器被促使:

接收数据提供方服务端传输的加密矩阵;其中,所述加密矩阵为所述数据提供方服务端基于n*m维的目标矩阵对预设的机器学习模型进行训练,得到的m*k维的目标投影矩阵;所述k值小于所述m值;

将所述加密矩阵作为训练样本训练机器学习模型。

在本实施例中,通过读取并执行所述存储器存储的与如4中示出的机器学习模型训练的控制逻辑对应的机器可执行指令,所述处理器还被促使:

将所述加密矩阵作为训练样本,与本地的训练样本进行融合,并基于融合后的训练样本训练机器学习模型。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

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

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1