CN114997345A - 随机森林训练方法及装置 - Google Patents

随机森林训练方法及装置 Download PDF

Info

Publication number
CN114997345A
CN114997345A CN202210941061.2A CN202210941061A CN114997345A CN 114997345 A CN114997345 A CN 114997345A CN 202210941061 A CN202210941061 A CN 202210941061A CN 114997345 A CN114997345 A CN 114997345A
Authority
CN
China
Prior art keywords
data
training
category
samples
class
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.)
Pending
Application number
CN202210941061.2A
Other languages
English (en)
Inventor
李陆沁
任江哲
陈星强
黄璞豪
李同庆
朱振超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanxiang Zhilian Hangzhou Technology Co ltd
Original Assignee
Lanxiang Zhilian Hangzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lanxiang Zhilian Hangzhou Technology Co ltd filed Critical Lanxiang Zhilian Hangzhou Technology Co ltd
Priority to CN202210941061.2A priority Critical patent/CN114997345A/zh
Publication of CN114997345A publication Critical patent/CN114997345A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种随机森林训练方法及装置,通过训练样本的当前特征的数据样本按照从小到大的顺序进行排列;对决策树的当前节点,将第一训练样本集中相邻的不同数据样本的中间值作为切分点;计算每个切分点切分出的第一类别数据和第二类别数据的代表值;计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;根据决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。本发明具有高安全性,可使数据在各个参与方中可用不可见,达到不泄露数据又能共同建模的目的。

Description

随机森林训练方法及装置
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种随机森林训练方法、装置、计算机设备和存储介质。
背景技术
随机森林属于集成算法中的一种,通过训练多种弱分类器,通过各个弱分类器进行投票或取均值的方法得出最终结果,使得随机森林的结果具备了较高的精确度和泛化性。如今对数据的保密要求日益增高,且往往一方拥有的数据数量有限,故萌生了多方共同训练模型的需求,且要求数据不泄露给他方,于是隐私计算的概念油然而生,即数据可用不可见。
目前主流的随机森林算法仅支持单机版,针对多参与者且不想泄露数据给他人的隐私计算场景,主流的随机森林算法无法满足保护数据的要求。
针对相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种随机森林训练方法、装置、计算机设备和存储介质,用以解决相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题。
为了实现上述目的,本发明实施例的第一方面,提供一种随机森林训练方法,包括:
判断训练样本中的当前特征是否属于训练发起方;
如果当前特征属于训练发起方,则采取如下步骤:
步骤1:对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
步骤2:对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
步骤3:根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤4:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤5:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
可选地,在第一方面的一种可能实现方式中,所述方法还包括:
如果当前特征属于训练参与方,则采取如下步骤:
步骤1:所述训练发起方将所述训练样本的标签加密传输至所述训练参与方;
步骤2:对训练参与方具有的训练样本的第二特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第二训练样本集;
步骤3:对决策树的当前节点,将所述第二训练样本集中相邻的不同数据样本的中间值作为切分点,其中每个切分点用于将第二训练样本集分为第一类别数据和第二类别数据;
步骤4:所述训练参与方利用加密算法计算每个切分点对应的相关数据,并将所述相关数据发送至训练发起方,其中所述相关数据包括第一类别数据的总和、第二类别数据的总和,以及统计每个切分点对应的第一类别数据的样本数量和第二类别数据的样本数量;
步骤5:所述训练发起方接收到所述相关数据后,对其进行解密,并根据所述相关数据计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤6:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤7:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
可选地,在第一方面的一种可能实现方式中,根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值,包括:
根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
Figure DEST_PATH_IMAGE002A
其中,
Figure 44168DEST_PATH_IMAGE003
代表第一类别数据的代表值,
Figure 251159DEST_PATH_IMAGE004
代表第二类别数据的代表值,
Figure 833450DEST_PATH_IMAGE005
代表第 一类别数据中的数据样本,
Figure 181517DEST_PATH_IMAGE006
代表第二类别数据中的数据样本,
Figure 874666DEST_PATH_IMAGE007
代表第一类别数据中的 数据样本对应的标签,
Figure 405005DEST_PATH_IMAGE008
代表第二类别数据中的数据样本对应的标签,N代表数据样本的数 量,
Figure 673044DEST_PATH_IMAGE009
代表第一类别数据,
Figure 554412DEST_PATH_IMAGE010
代表第二类别数据。
可选地,在第一方面的一种可能实现方式中,根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,包括:
Figure DEST_PATH_IMAGE012A
其中,
Figure 208510DEST_PATH_IMAGE013
代表每个切分点的平方误差,
Figure 858934DEST_PATH_IMAGE003
代表第一类别数据的代表值,
Figure 517448DEST_PATH_IMAGE004
代 表第二类别数据的代表值,
Figure 338643DEST_PATH_IMAGE005
代表第一类别数据中的数据样本,
Figure 373595DEST_PATH_IMAGE006
代表第二类别数据中的 数据样本,
Figure 409684DEST_PATH_IMAGE007
代表第一类别数据中的数据样本对应的标签,
Figure 989832DEST_PATH_IMAGE008
代表第二类别数据中的数据 样本对应的标签,
Figure 49055DEST_PATH_IMAGE009
代表第一类别数据,
Figure 887698DEST_PATH_IMAGE010
代表第二类别数据。
可选地,在第一方面的一种可能实现方式中,所述方法还包括:
将所述最优切分点对应的特征作为全局最优切分特征。
本发明实施例的第二方面,提供一种随机森林训练装置,包括:
判断模块,用于判断训练样本中的当前特征是否属于训练发起方,如果当前特征属于训练发起方,则采取如下步骤:
数据样本排列模块,用于对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
切分点确定模块,用于对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
代表值计算模块,用于根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
最优切分点计算模块,用于根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
决策树训练模块,用于根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
可选地,在第二方面的一种可能实现方式中,所述代表值计算模块,包括:
代表值计算单元,用于根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
Figure DEST_PATH_IMAGE015A
其中,
Figure 902927DEST_PATH_IMAGE003
代表第一类别数据的代表值,
Figure 919556DEST_PATH_IMAGE004
代表第二类别数据的代表值,
Figure 262813DEST_PATH_IMAGE005
代表第 一类别数据中的数据样本,
Figure 108409DEST_PATH_IMAGE006
代表第二类别数据中的数据样本,
Figure 837199DEST_PATH_IMAGE007
代表第一类别数据中的 数据样本对应的标签,
Figure 539576DEST_PATH_IMAGE008
代表第二类别数据中的数据样本对应的标签,N代表数据样本的数 量,
Figure 104550DEST_PATH_IMAGE009
代表第一类别数据,
Figure 284995DEST_PATH_IMAGE010
代表第二类别数据。
本发明实施例的第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。
本发明实施例的第四方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法的步骤。
本发明提供的随机森林训练方法、装置、计算机设备和存储介质,通过对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。本发明能够解决相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题,具有高安全性,可使数据在各个参与方中可用不可见,达到了不泄露数据又能共同建模的目的;并且能够有效保护双方数据处于加密状态不被泄漏,即便通信内容被拦截破解也无法反推出原始数据信息。
附图说明
图1为本发明实施例提供的随机森林训练方法的流程图;
图2为本发明实施例提供的随机森林训练装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请中的随机森林是由无数棵决策树组成的,是基于决策树算法,即Cart决策树算法实现的,由于Cart决策树算法支持回归、分类功能,因此随机森林也具备回归、分类两大功能,具体如下:
实施例1:
本发明提供一种随机森林训练方法,以回归树为主,如图1所示其流程图,包括:
在步骤1之前:需要从训练集中有放回的随机取出一部分数据D={(x1,y1),(x1,y1),...,(x1,y1)},一共N条数据(其中第n条数据xn含有K个特征,即xn=(xn,1,xn,2,...,xn,k))作为训练样本,通过如下步骤对单棵决策树进行训练,若要构建N棵树重复如下步骤N次即可。随机森林是以单棵树的预测结果为基础,最终结果由各个树的预测结果统计得到的。
考虑到需要对训练样本中的每个特征进行遍历,因此,本申请需要判断训练样本中的当前特征是否属于训练发起方,或者说是属于训练发起方还是属于训练参与方,如果当前特征属于训练发起方,则训练发起方可直接通过下述步骤计算当前特征数据的切分点,并选取出当前特征的最优切分点。
步骤S1、对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签。
在本步骤中,当前特征是指训练样本中的任意一个特征,数据样本是指训练样本中的任意一个特征的数据样本;在获取到当前特征的数据样本后首先需要对其数据样本按照从小到大的顺序进行排列,例如:{11233344567}。
步骤S2、对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据。
在步骤S2中,对决策树的当前节点(例如根节点或者其他任意节点),均可采取如下方式确定切分点。对“将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点”进行举例说明:可将第一训练样本集{1123334}分为:第一箱中的数据为1、1,第二箱中的数据为2,第三箱中的数据为3、3、3,第四箱中的数据为4,且4个分箱产生了3个切分点,分别位于第一、第二箱之间,第二、第三箱之间,第三、第四箱之间。其中,每一个切分点都可以将第一训练样本集分为左右两个数据,即第一类别数据和第二类别数据;例如,当切分点位于第一、第二箱之间时,第一类别数据包括11,第二类别数据包括23334;当第一切分点位于第二、第三箱之间时,第一类别数据包括112,第二类别数据包括3334。另外,如果第一训练样本集中的N条数据均不相同,则会产生N-1个切分点,例如“S{1,2,3,...,N}=S1,S2,S3,...,SN-1”。
步骤S3、根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值。
在该步骤中,会根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值。
Figure DEST_PATH_IMAGE017A
其中,
Figure 776282DEST_PATH_IMAGE003
代表第一类别数据的代表值,
Figure 836511DEST_PATH_IMAGE004
代表第二类别数据的代表值,
Figure 154359DEST_PATH_IMAGE005
代表第 一类别数据中的数据样本,
Figure 872917DEST_PATH_IMAGE006
代表第二类别数据中的数据样本,
Figure 281027DEST_PATH_IMAGE007
代表第一类别数据中的 数据样本对应的标签,
Figure 325206DEST_PATH_IMAGE008
代表第二类别数据中的数据样本对应的标签,N代表数据样本的数 量,
Figure 864772DEST_PATH_IMAGE009
代表第一类别数据,
Figure 636287DEST_PATH_IMAGE010
代表第二类别数据。
具体地,在计算第一类别数据的代表值
Figure 148171DEST_PATH_IMAGE003
时,N代表第一类别数据中的数据样本的 数量
Figure 97673DEST_PATH_IMAGE005
,即
Figure 875267DEST_PATH_IMAGE018
;在计算第二类别数据的代表值
Figure 404469DEST_PATH_IMAGE004
时,N代表第二类别数据中的 数据样本的数量
Figure 567597DEST_PATH_IMAGE006
,即
Figure 937267DEST_PATH_IMAGE019
步骤S4、根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点。
在步骤S4中,在根据第一类别数据和第二类别数据的代表值计算一个切分点的平方误差后,采取相同方式计算所有切分点的平方误差,并将所有切分点的平方误差记性比较,将其中最小平方误差所对应的切分点确定为当前节点的最优切分点。计算每个切分点的平方误差所使用的公式如下:
Figure DEST_PATH_IMAGE021A
其中,
Figure 654687DEST_PATH_IMAGE013
代表每个切分点的平方误差,
Figure 472733DEST_PATH_IMAGE003
代表第一类别数据的代表值,
Figure 490367DEST_PATH_IMAGE004
代 表第二类别数据的代表值,
Figure 312830DEST_PATH_IMAGE005
代表第一类别数据中的数据样本,
Figure 297972DEST_PATH_IMAGE006
代表第二类别数据中的 数据样本,
Figure 168976DEST_PATH_IMAGE007
代表第一类别数据中的数据样本对应的标签,
Figure 41117DEST_PATH_IMAGE008
代表第二类别数据中的数据 样本对应的标签,
Figure 519634DEST_PATH_IMAGE009
代表第一类别数据,
Figure 8385DEST_PATH_IMAGE010
代表第二类别数据。
步骤S5、根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
在一个实施例中,所述方法还包括:将所述最优切分点对应的特征作为全局最优切分特征。
在一个实施例中,所述方法还包括:
如果当前特征属于训练参与方,则采取如下步骤:
步骤1:所述训练发起方将所述训练样本的标签加密传输至所述训练参与方;其中,使用Paillier加密算法进行加密。
步骤2:对训练参与方具有的训练样本的第二特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第二训练样本集。
步骤3:对决策树的当前节点,将所述第二训练样本集中相邻的不同数据样本的中间值作为切分点,其中每个切分点用于将第二训练样本集分为第一类别数据和第二类别数据。
步骤4:所述训练参与方利用加密算法计算每个切分点对应的相关数据,并将所述相关数据发送至训练发起方,其中所述相关数据包括第一类别数据的总和、第二类别数据的总和,以及统计每个切分点对应的第一类别数据的样本数量和第二类别数据的样本数量。
在步骤4中,训练参与方利用Paillier加密算法支持“密文下支持求和操作”的特 性,计算第一类别数据的总和SumR1、第二类别数据的总和SumR2、以及统计第一类别数据R1 的数据样本数量
Figure 214238DEST_PATH_IMAGE022
和第二类别数据R2的数据样本数量
Figure 658995DEST_PATH_IMAGE023
,并将以上4个数据发送至训练 发起方。具体公式如下:
Figure DEST_PATH_IMAGE025A
步骤5:所述训练发起方接收到所述相关数据后,对其进行解密,并根据所述相关数据计算每个切分点切分出的第一类别数据和第二类别数据的代表值。
在步骤5中,在得到上述4个数据后,先解密得到常数,然后通过如下公式计算第一 类别数据的代表值
Figure 449358DEST_PATH_IMAGE026
和第而类别数据的代表值
Figure 894246DEST_PATH_IMAGE027
Figure DEST_PATH_IMAGE029A
步骤6:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点。
在步骤6中,训练发起方根据第一类别数据的代表值
Figure 762845DEST_PATH_IMAGE026
和第而类别数据的代表值
Figure 891469DEST_PATH_IMAGE027
计算当前切分点的评分误差
Figure 898739DEST_PATH_IMAGE030
Figure DEST_PATH_IMAGE032A
步骤7:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
本发明提供的随机森林训练方法,通过对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。本发明能够解决相关技术中主流随机森林算法无法满足保护数据的要求,导致其数据安全性低的问题,具有高安全性,可使数据在各个参与方中可用不可见,达到了不泄露数据又能共同建模的目的;并且能够有效保护双方数据处于加密状态不被泄漏,即便通信内容被拦截破解也无法反推出原始数据信息。并且可以以更高的训练精度完成对决策树的训练过程,使得决策树可同时被训练发起方和训练参与方使用,且互相之间数据不共享,在提升训练精度的同时,保证了数据的安全性。
实施例2:
本发明提供一种随机森林训练方法,还具备分类功能,以分类树为主,具体步骤如下:
如果训练样本中的当前特征属于训练发起方,则训练发起方可直接通过下述步骤计算当前特征数据的切分点,并选取出当前特征的最优切分点。
步骤1:对训练发起方具有训练样本中的当前特征的数据样本进行排序、分箱处理后得到的所有切分点,其中所述训练发起方具有所述训练样本的标签。
步骤2:采取如下公式分别计算每个切分点所对应的基尼系数;
Figure 17874DEST_PATH_IMAGE033
其中,Gini代表对应切分点的基尼系数,
Figure 519525DEST_PATH_IMAGE034
Figure 486344DEST_PATH_IMAGE035
代表切分点R切分出的左数据样 本和右数据样本,
Figure 461253DEST_PATH_IMAGE036
Figure 411892DEST_PATH_IMAGE037
代表左数据样本和右数据样本的样本数量,
Figure 215768DEST_PATH_IMAGE038
Figure DEST_PATH_IMAGE039
代表数据属于
Figure 505935DEST_PATH_IMAGE034
的概率。
步骤3:比较每个切分点对应的基尼系数,将其中最小的基尼系数所对应的切分点作为当前特征列的最优切分点。
步骤4:根据各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
如果训练样本中的当前特征属于训练参与方,则采取如下步骤计算当前特征数据的切分点,并选取出当前特征的最优切分点。
步骤1:训练发起方将标签加密传输至训练参与方,训练参与方可获得加密状态的标签。可通过Secret Sharing(秘钥共享)算法进行加密,并传输至训练参与方。
步骤2:训练参与方遍历每个切分点,并根据切分点将数据分为第一样本空间
Figure 933637DEST_PATH_IMAGE034
和第二样本空间
Figure 840413DEST_PATH_IMAGE035
,并且产生一个掩膜x=(0,0,1,...,1,0,1),其中
Figure 729872DEST_PATH_IMAGE040
=0代表第i个样本属 于
Figure 671283DEST_PATH_IMAGE034
Figure 440524DEST_PATH_IMAGE040
=1代表第i个样本属于
Figure 100176DEST_PATH_IMAGE035
。在这过程中,训练参与方将切分结果通过Secret Sharing(秘钥共享)算法进行加密,并传输至训练发起方,由此训练发起方和训练参与方共 同拥有密文状态下的y,X,以及样本空间
Figure 793325DEST_PATH_IMAGE034
Figure 543238DEST_PATH_IMAGE035
的样本数量
Figure 296430DEST_PATH_IMAGE036
Figure 177799DEST_PATH_IMAGE037
步骤3:训练发起方和训练参与方分别利用如下公式计算每个切分点的基尼系数;
Figure 658327DEST_PATH_IMAGE041
其中,Gini代表对应切分点的基尼系数,
Figure 574331DEST_PATH_IMAGE034
Figure 498424DEST_PATH_IMAGE035
代表切分点R切分出的左样本空 间和右样本空间,
Figure 867089DEST_PATH_IMAGE036
Figure 832598DEST_PATH_IMAGE037
代表左样本空间和右样本空间的样本数量,
Figure 603108DEST_PATH_IMAGE042
Figure DEST_PATH_IMAGE043
同理;
Figure 416212DEST_PATH_IMAGE044
Figure 475435DEST_PATH_IMAGE045
为加密状态的 标签,
Figure 48499DEST_PATH_IMAGE046
为加密状态的分类结果。
步骤4:比较每个切分点对应的基尼系数,将其中最小的基尼系数所对应的切分点作为当前特征列的最优切分点。
步骤5:根据各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
具体地,该实施例中所涉及的训练样本的获取,数据样本的排序,分箱等步骤与实施例1中相同,在此不作赘述。与实施例1的训练方法主要区别在于确定最优切分点的方法不同,所使用的判断指标不同(实施例1中的回归树是以最小平方误差对应的切分点作为最优切分点,而实施例2中的分类树是以最小基尼系数对应的切分点作为最优切分点);并且在于预测结果上,实施例1中的回归树是以叶子节点上所有样本值的均值为主,而实施例2中的分类树是以叶子节点上样本类别最多的一类为主。
通过本实施例随机森林训练的方法,能够精准的解决数据泄漏问题,通信内容均为对数据的统计值,脱离了与原始数据的关系,避免了原始数据进行加密通信中的泄露问题,即便通信内容被拦截破解也无法反推出原始数据信息,从而达到了“可用不可见”和“高安全”的特性。并且可以以更高的训练精度完成对决策树的训练过程,使得决策树可同时被训练发起方和训练参与方使用,且互相之间数据不共享,在提升训练精度的同时,保证了数据的安全性。
实施例3:
本发明的实施例还提供一种随机森林训练装置,如图2所示,包括:
判断模块,用于判断训练样本中的当前特征是否属于训练发起方,如果当前特征属于训练发起方,则采取如下步骤:
数据样本排列模块,用于对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
切分点确定模块,用于对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
代表值计算模块,用于根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
最优切分点计算模块,用于根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
决策树训练模块,用于根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
在一个实施例中,所述代表值计算模块,包括:
代表值计算单元,用于根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
Figure DEST_PATH_IMAGE048A
其中,
Figure 96352DEST_PATH_IMAGE003
代表第一类别数据的代表值,
Figure 814778DEST_PATH_IMAGE004
代表第二类别数据的代表值,
Figure 892455DEST_PATH_IMAGE005
代表第 一类别数据中的数据样本,
Figure 534789DEST_PATH_IMAGE006
代表第二类别数据中的数据样本,
Figure 765044DEST_PATH_IMAGE007
代表第一类别数据中的 数据样本对应的标签,
Figure 467421DEST_PATH_IMAGE008
代表第二类别数据中的数据样本对应的标签,N代表数据样本的数 量,
Figure 32395DEST_PATH_IMAGE009
代表第一类别数据,
Figure 399791DEST_PATH_IMAGE010
代表第二类别数据。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,DSP)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种随机森林训练方法,其特征在于,包括:
判断训练样本中的当前特征是否属于训练发起方;
如果当前特征属于训练发起方,则采取如下步骤:
步骤1:对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
步骤2:对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
步骤3:根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤4:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤5:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
2.根据权利要求1所述的随机森林训练方法,其特征在于,所述方法还包括:
如果当前特征属于训练参与方,则采取如下步骤:
步骤1:所述训练发起方将所述训练样本的标签加密传输至所述训练参与方;
步骤2:对训练参与方具有的训练样本的第二特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第二训练样本集;
步骤3:对决策树的当前节点,将所述第二训练样本集中相邻的不同数据样本的中间值作为切分点,其中每个切分点用于将第二训练样本集分为第一类别数据和第二类别数据;
步骤4:所述训练参与方利用加密算法计算每个切分点对应的相关数据,并将所述相关数据发送至训练发起方,其中所述相关数据包括第一类别数据的总和、第二类别数据的总和,以及统计每个切分点对应的第一类别数据的样本数量和第二类别数据的样本数量;
步骤5:所述训练发起方接收到所述相关数据后,对其进行解密,并根据所述相关数据计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
步骤6:根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
步骤7:根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
3.根据权利要求1所述的随机森林训练方法,其特征在于,根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值,包括:
根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
Figure 69727DEST_PATH_IMAGE001
其中,
Figure 739743DEST_PATH_IMAGE002
代表第一类别数据的代表值,
Figure 588750DEST_PATH_IMAGE003
代表第二类别数据的代表值,
Figure 369625DEST_PATH_IMAGE004
代表第一类 别数据中的数据样本,
Figure 682794DEST_PATH_IMAGE005
代表第二类别数据中的数据样本,
Figure 523711DEST_PATH_IMAGE006
代表第一类别数据中的数据 样本对应的标签,
Figure 125594DEST_PATH_IMAGE007
代表第二类别数据中的数据样本对应的标签,N代表数据样本的数量,
Figure 913421DEST_PATH_IMAGE008
代表第一类别数据,
Figure 284360DEST_PATH_IMAGE009
代表第二类别数据。
4.根据权利要求1所述的随机森林训练方法,其特征在于,根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,包括:
Figure 296178DEST_PATH_IMAGE010
其中,
Figure 385357DEST_PATH_IMAGE011
代表每个切分点的平方误差,
Figure 976875DEST_PATH_IMAGE002
代表第一类别数据的代表值,
Figure 467900DEST_PATH_IMAGE003
代表第 二类别数据的代表值,
Figure 853881DEST_PATH_IMAGE012
代表第一类别数据中的数据样本,
Figure 695936DEST_PATH_IMAGE005
代表第二类别数据中的数 据样本,
Figure 825566DEST_PATH_IMAGE006
代表第一类别数据中的数据样本对应的标签,
Figure 171096DEST_PATH_IMAGE007
代表第二类别数据中的数据样 本对应的标签,
Figure 790296DEST_PATH_IMAGE008
代表第一类别数据,
Figure 791750DEST_PATH_IMAGE009
代表第二类别数据。
5.根据权利要求1所述的随机森林训练方法,其特征在于,所述方法还包括:
将所述最优切分点对应的特征作为全局最优切分特征。
6.一种随机森林训练装置,其特征在于,包括:
判断模块,用于判断训练样本中的当前特征是否属于训练发起方,如果当前特征属于训练发起方,则采取如下步骤:
数据样本排列模块,用于对训练发起方具有的训练样本的当前特征的数据样本按照从小到大的顺序进行排列,获得训练发起方的第一训练样本集,其中,所述训练发起方具有所述训练样本的标签;
切分点确定模块,用于对决策树的当前节点,将所述第一训练样本集中相邻的不同数据样本的中间值作为切分点,其中切分点用于将第一训练样本集分为第一类别数据和第二类别数据;
代表值计算模块,用于根据所述第一类别数据和第二类别数据,以及训练样本的标签,计算每个切分点切分出的第一类别数据和第二类别数据的代表值;
最优切分点计算模块,用于根据所述第一类别数据和第二类别数据的代表值计算每个切分点的平方误差,并将最小平方误差所对应的切分点确定为当前节点的最优切分点;
决策树训练模块,用于根据所述决策树的各节点的最优切分点,对决策树进行训练,获得训练后的决策树。
7.根据权利要求6所述的随机森林训练装置,其特征在于,所述代表值计算模块,包括:
代表值计算单元,用于根据训练样本数、样本标签、第一类别数据和第二类别数据,计算第一类别数据的第一代表值和第二类别数据的第二代表值;
Figure 521809DEST_PATH_IMAGE001
其中,
Figure 925109DEST_PATH_IMAGE002
代表第一类别数据的代表值,
Figure 980789DEST_PATH_IMAGE003
代表第二类别数据的代表值,
Figure 203960DEST_PATH_IMAGE012
代表第一类别 数据中的数据样本,
Figure 737710DEST_PATH_IMAGE005
代表第二类别数据中的数据样本,
Figure 57833DEST_PATH_IMAGE006
代表第一类别数据中的数据样 本对应的标签,
Figure 956519DEST_PATH_IMAGE007
代表第二类别数据中的数据样本对应的标签,N代表数据样本的数量,
Figure 994882DEST_PATH_IMAGE008
代表第一类别数据,
Figure 270005DEST_PATH_IMAGE009
代表第二类别数据。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任意一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任意一项所述的方法的步骤。
CN202210941061.2A 2022-08-08 2022-08-08 随机森林训练方法及装置 Pending CN114997345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210941061.2A CN114997345A (zh) 2022-08-08 2022-08-08 随机森林训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210941061.2A CN114997345A (zh) 2022-08-08 2022-08-08 随机森林训练方法及装置

Publications (1)

Publication Number Publication Date
CN114997345A true CN114997345A (zh) 2022-09-02

Family

ID=83023139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210941061.2A Pending CN114997345A (zh) 2022-08-08 2022-08-08 随机森林训练方法及装置

Country Status (1)

Country Link
CN (1) CN114997345A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116109019A (zh) * 2023-04-12 2023-05-12 成都英沃信科技有限公司 一种基于随机森林的气井日产气量预测方法及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116109019A (zh) * 2023-04-12 2023-05-12 成都英沃信科技有限公司 一种基于随机森林的气井日产气量预测方法及设备

Similar Documents

Publication Publication Date Title
WO2021114585A1 (zh) 模型训练方法、装置和电子设备
JP2016509268A (ja) プライバシーを保護する計数の方法およびシステム
Liu et al. Intelligent and secure content-based image retrieval for mobile users
CN110096897A (zh) 数据脱敏方法及装置、数据泄露源头定位方法及装置
CN111143865B (zh) 一种密文数据上标签自动生成的用户行为分析系统及方法
US10567374B2 (en) Information processing method and server
Nazarenko et al. Features of application of machine learning methods for classification of network traffic (features, advantages, disadvantages)
CN114553593B (zh) 多方安全计算隐私求交方法、装置、设备及存储介质
CN110365679B (zh) 基于众包评估的情境感知云端数据隐私保护方法
CN111506924A (zh) 一种差分隐私保护方法、装置及计算机可读存储介质
CA2566281A1 (en) Apparatus, system, and method for protecting content using fingerprinting and real-time evidence gathering
CN114997345A (zh) 随机森林训练方法及装置
Kotal et al. Privetab: Secure and privacy-preserving sharing of tabular data
CN115242371A (zh) 差分隐私保护的集合交集及其基数计算方法、装置及系统
CN114520721A (zh) 多方安全计算隐私求交方法、装置、设备及存储介质
Whalen et al. Model aggregation for distributed content anomaly detection
CN111783108A (zh) 数据查询和计算方法及系统、及存储介质
CN111784337A (zh) 权限验证方法及系统
CN110443061A (zh) 一种数据加密方法和装置
CN115982779B (zh) 一种数据匿名化方法、装置、电子设备及存储介质
CN112685788A (zh) 数据处理方法和装置
CN112099870A (zh) 文档处理方法、装置、电子设备及计算机可读存储介质
CN115310137B (zh) 一种智能结算系统的保密方法及相关装置
US11907874B2 (en) Apparatus and method for generation an action validation protocol
CN115481415A (zh) 基于纵向联邦学习的通信成本优化方法、系统、设备及介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220902