CN109284626A - 面向差分隐私保护的随机森林算法 - Google Patents

面向差分隐私保护的随机森林算法 Download PDF

Info

Publication number
CN109284626A
CN109284626A CN201811044646.4A CN201811044646A CN109284626A CN 109284626 A CN109284626 A CN 109284626A CN 201811044646 A CN201811044646 A CN 201811044646A CN 109284626 A CN109284626 A CN 109284626A
Authority
CN
China
Prior art keywords
secret protection
feature
random forest
node
difference secret
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
CN201811044646.4A
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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN201811044646.4A priority Critical patent/CN109284626A/zh
Publication of CN109284626A publication Critical patent/CN109284626A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers

Abstract

本发明公开了一种面向差分隐私保护的随机森林算法,属于机器学习和隐私保护领域,包括:步骤一、建立提供ε‑差分隐私保护的随机森林;步骤二、利用提供ε‑差分隐私保护的随机森林对测试集进行分类,输出测试集中所有样本的分类结果。本发明提出了一种面向差分隐私保护的随机森林算法,通过在随机森林中加入差分隐私保护机制,可以在分类时保护数据的隐私信息,并且对分类准确率造成较小影响;通过使用基尼指数作为分裂准则、CART分类树作为随机森林中的单棵决策树,既能够处理离散属性,又能处理连续属性,并且消除了信息增益准则对可取值数目较多的特征有所偏好和信息增益率准则对可取值数目较少的特征有所偏好的影响。

Description

面向差分隐私保护的随机森林算法
技术领域
本发明属于机器学习和隐私保护领域,涉及一种面向差分隐私保护的随机森林算法。
背景技术
随着信息技术的迅猛发展以及大数据时代的到来,信息技术广泛应用于各行各业,医疗系统、社交网络、电子商务系统、位置服务和教育系统都收集了海量的用户数据。与此同时,数据的发布、共享与分析的需求日益增多,这些数据中包含的潜在的个人隐私信息会随着数据的共享和发布而被泄露出去。虽然删除数据的标识符属性(如ID号)或者隐藏数据集中的敏感属性(如姓名、住址)能够在一定程度上保护个人隐私,但一些攻击案例表明,保护个人隐私远远不止那么简单,还需要阻止敏感属性值与特定的实体或个人关联起来,以防止由非敏感属性信息推测出个人的真实身份。
针对隐私泄露问题,Dwork[1]等在2006年首先提出一种严格的、可证明的隐私保护模型——差分隐私保护技术。差分隐私作为一种新的隐私定义,与传统的隐私保护方法相比,有其独特的优势。第一,差分隐私保护模型假设攻击者拥有最大背景知识,在这一假设下,差分隐私保护能应对各种新型攻击,无需考虑攻击者所拥有的任何可能的背景知识;第二,它有着坚实的数学基础,对隐私保护有着严格的定义和可靠的量化评估方法,使得不同的参数处理下的隐私保护水平具有可比性;第三,差分隐私保护在大大降低隐私泄露风险的同时,极大地保证了数据的可用性;第四,差分隐私保护虽然基于数据失真技术,但所加入的噪声量与数据集大小无关,因此对于大型数据集,仅通过添加极少量的噪声就能达到高级别的隐私保护。
在数据挖掘中采用差分隐私保护技术的目的是在提取有价值信息的同时不泄露敏感隐私信息。周水庚[2]等将面向挖掘的隐私保护技术分为三类:关联规则挖掘、分类和聚类。分类作为一种重要的数据挖掘方法,可以用来建立重要的数据模型并预测数据趋势,在数据预测分析中起着至关重要的作用。决策树作为一种常见的分类模型,在决策树中应用差分隐私已经有了一些研究成果。
Blum[3]等提出了应用差分隐私保护的决策树构建算法SuLQ-based ID3,它的主要思想是在每次计算特征的信息增益时,加入Laplace机制的噪音计数值,生成决策树,但加入噪音后导致了预测结果准确率的大幅下降。Mcsher[4]等对SuLQ-based ID3做了改进,提出了PINQ-based ID3算法,该算法使用Partition算子将查询数据集分割成不相交的子集,利用其计算时并行组合性的特点,提高隐私保护预算的利用率。该算法直接利用噪声计数值评估信息增益标准,再使用ID3算法生成决策树。由于计算信息增益的计数值需要对每个特征进行,所以需要将整个隐私预算分配到每次查询中,导致每次查询的隐私预算较小,当数据集较大时会引入大量噪声。
为了解决噪声和隐私预算的问题,Friedman[5]等基于指数机制提出了DiffP-ID3,指数机制在一次查询同时评估所有特征,减少了噪声和隐私预算的浪费。但该算法是用来处理离散型数据的。为了处理连续型数据,Friedman和Schuster进一步提出了DiffP-C4.5,但是该算法在每一次迭代中必须先用指数机制对所有连续特征选择分裂点,然后将所得结果与全部离散特征一起再次通过指数机制选择最终的分裂方案,由于每次迭代需要调用两次指数机制,因此消耗了过多的隐私保护预算。
Mohammed[6]等提出的DiffGen算法将泛化技术和自顶向下分割技术结合,利用指数机制与信息增益来确定分裂特征。虽然DiffGen算法的分类准确率较高,但由于每一个分类特征对应一个分类树,当数据集中的分类特征维度非常大时,该方法需要维护大量的分类树,导致基于指数机制的选择方法效率很低,并且有可能耗尽隐私预算。
以上都是基于决策树进行研究的算法。在决策树中,随机决策树是重要的机器学习算法,构建简单、性能优异、分类准确率更高,近年来产生了一些基于随机决策树的差分隐私方法。
Jagannathan[7]提出了差分隐私保护的随机决策树算法,随机决策树首先随机选择分类特征,构建一个决策树框架,然后再把数据集中的记录输入这个决策树并分配到相应叶节点中,最后统计各叶节点中的记录数量,并将不符合预定义规则的叶节点删除,获得了较高的分类准确率。但该方法中一个随机决策树分类器由多个这样的决策树构成,它们共同评估一个记录的分裂结果,删除数据集中的一条记录会使决策树的某个叶节点发生改变,甚至在剪枝过程中删除一棵子树。
Patil[8]等将差分隐私应用在随机森林算法中,提出了DiffPRF算法,但提出的算法基于只能处理离散特征的ID3决策树,因此需要先对连续特征进行预处理后才能通过该算法对数据集进行分类。
穆海蓉[9]等通过对随机森林算法进行修改,提出了一种面向随机森林的差分隐私保护算法DiffPRFs,在每一棵决策树的构建过程中采用指数机制选择分裂点和分裂特征,并利用Laplace机制添加噪声。DiffPRFs虽然无需对数据进行离散化预处理,但是和Diff-C4.5相似,每次迭代同样要调用两次指数机制,消耗了较多的隐私预算,导致隐私预算的利用率较低。
[1]Dwork C.Differential privacy[C]//International Colloquium onAutomata,Languages,and Programming.Springer,Berlin,Heidelberg,2006:1-12.
[2]周水庚,李丰,陶宇飞,等.面向数据库应用的隐私保护研究综述[J].计算机学报,2009,32(5):847-861.
[3]Blum A,Dwork C,Mcsherry F,et al.Practical privacy:the SuLQframework[C]//Twenty-Fourth ACM Sigmod-Sigact-Sigart Symposium on Principlesof Database Systems.ACM,2005:128-138.
[4]MCSHERRY F.Privacy integrated queries:all extensible platform forprivacy—preserving data analysis[C]//Proceedings ofthe 2009ACM SIGMODInternational Conference on Management of Data.New York:ACM,2009:10-30.
[5]FRIEDMAN A,SCHUSTER A.Data mining with differential privacy[C]//Proceedings of the 16th ACM Sigkdd International Conference on KnowledgeDiscovery and Data Mining.New York:ACM,2010:493—502.
[6]Mohammed N,Chen R,Fung B C M,et al.Differentially private datarelease for data mining[C]//Proceedings of the 17th ACM SIGKDD InternationalConference on Knowledge Discovery and Data Mining.ACM,2011:493-501.
[7]Jagannathan G,Pillaipakkamnatt K,Wright R N.APracticalDifferentially Private Random Decision Tree Classifier[J].Transactions onData Privacy,2012,5(1):114-121.
[8]Patil A,Singh S.Differential private random forest[C]//International Conference on Advances in Computing,Communications andInformatics.IEEE,2014:2623-2630.
[9]穆海蓉,丁丽萍,宋宇宁,等.DiffPRFs:一种面向随机森林的差分隐私保护算法[J].通信学报,2016,37(9):175-182.
发明内容
针对现有技术的不足,本发明的目的在于提供一种面向差分隐私保护的随机森林算法,在保证分类精确率的情况下,提高隐私预算的利用率,保护数据中的隐私信息。
本发明提供的这种面向差分隐私保护的随机森林算法,包括以下步骤:
步骤一、建立提供ε-差分隐私保护的随机森林;
步骤二、利用提供ε-差分隐私保护的随机森林对测试集进行分类,输出测试集中所有样本的分类结果。
在一个具体实施方式中,步骤一中,所述建立提供ε-差分隐私保护的随机森林,具体为:
1.1)获取数据集:若数据集中已经区分训练集D和测试集Test,则执行下一步;否则,采用十折交叉验证得到训练集D和测试集Test;
1.2)数据预处理:对缺失数据进行删除,记录每个特征及其标签(离散/连续),形成特征集F和特征集标签Flag;
1.3)设置隐私预算B,决策树的数量T,每棵树的最大深度d,每个节点选择的特征个数m,其中(向上取整,即不小于自己的最小整数),|F|为特征集F中包含的特征数量;
1.4)确定随机森林中的决策树类型、分裂准则、打分函数q(Di,A)和打分函数的全局敏感度Δq;
1.5)建立提供ε-差分隐私保护的随机森林:
输入:训练数据集D,特征集F,特征集标签Flag,隐私预算B,决策树的数量T,每棵树的最大深度d,每个节点选择的特征个数m;
停止条件:节点上的全部样本分类一致,或者达到最大深度d;
输出:提供ε-差分隐私保护的随机森林。
进一步,所述步骤1.4)中,采用的决策树类型是CART分类树,分裂准则是基尼指数,打分函数是基尼指数,全局敏感度是2。
进一步,所述步骤1.5)中,建立提供ε-差分隐私保护的随机森林的算法程序为:
(1)
(2)
(3)for t=1 to T;
1)使用自助采样法从D中选取大小为|D|的训练集Di
2)递归执行以下步骤建立随机森林中的决策树RFTt
(i)计算当前节点训练集Dcur中的样本数量,使用Laplace机制添加噪声:
(ii)判断节点是否达到停止条件。如果达到停止条件,则设置当前节点为叶子节点,并对当前节点进行分类,返回分类结果;否则,继续以下步骤;
(iii)随机地从特征集F中选取m个特征;
(iv)若选取的特征中含有连续属性,使用二分法对连续特征离散化;
(v)使用指数机制从m个特征中,用以下概率选择分裂特征:
其中,A是选择的特征,q(Di,A)是打分函数,Δq是打分函数的全局敏感度;
(vi)根据特征集标签Flag和分裂特征的不同取值对特征取值进行划分,选择使得分裂准则最佳的值,记录最佳分裂特征和特征取值,将当前节点分裂为2个子节点,每个子节点分别执行步骤(i)~(vi);
(4)返回树的集合即提供ε-差分隐私保护的随机森林。
在一个具体实施方式中,步骤二中,利用提供ε-差分隐私保护的随机森林对测试集进行分类,具体为:
输入:测试集Test,提供ε-差分隐私保护的随机森林;
输出:测试集中所有样本的分类结果。
进一步,所述利用提供ε-差分隐私保护的随机森林对测试集进行分类的算法程序为:
(1)取出测试集中的每个样本x,执行步骤(2)和(3);
(2)for t=1 to T;
1)从当前决策树的根节点开始,根据当前节点记录的最佳分裂特征和特征取值,判断进入哪个子节点,一直递归下去,直到到达某个叶子节点;
2)得到当前决策树下的分类结果Ct(x);
(3)根据每棵决策树的分类结果得到即样本x的分类结果是所有树分类结果的众数;
(4)输出测试集中所有样本的分类结果集合{C(x)}。
相对于现有技术,本发明具有以下有益技术效果:
本发明提出了一种面向差分隐私保护的随机森林算法,通过在随机森林中加入差分隐私保护机制,可以在分类时保护数据的隐私信息,并且对分类准确率造成较小影响;通过使用基尼指数作为分裂准则、CART分类树作为随机森林中的单棵决策树,既能够处理离散属性,又能处理连续属性,并且消除了信息增益准则对可取值数目较多的特征有所偏好和信息增益率准则对可取值数目较少的特征有所偏好的影响;通过在处理连续属性时只调用一次指数机制,提高了隐私预算的利用率。
附图说明
图1为本发明面向差分隐私保护的随机森林算法流程图。
图2为本发明实施例中十折交叉验证示意图。
图3为本发明实施例中建立随机森林流程图。
图4为本发明实施例中第1次分裂时的节点分裂图。
图5为本发明实施例中第2次分裂时的节点分裂图。
图6为本发明实施例中第3次分裂时的节点分裂图。
图7为本发明实施例中第4次分裂时的节点分裂图。
图8为本发明实施例中第5次分裂时的节点分裂图。
图9为本发明实施例中第6次分裂时的节点分裂图。
图10为本发明实施例中第7次分裂时的节点分裂图。
图11为本发明实施例中第8次分裂时的节点分裂图。
图12为本发明实施例中第9次分裂时的节点分裂图。
图13为本发明实施例中随机森林中决策树的节点示意图。
图14为本发明实施例中利用建立的随机森林对测试集分类流程图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合具体实施例和附图对本发明进行进一步说明:
本发明提供的面向差分隐私保护的随机森林算法,如图1所示,包括以下步骤:
(1)获取数据集:
获取数据集,如表1所示,该数据集一共有17条数据,色泽、根蒂、敲声、纹理、脐部、触感、密度、含糖率为分类特征,分类结果为是否是好瓜:1是好瓜,0不是好瓜,即坏瓜,离散特征有色泽、根蒂、敲声、纹理、脐部和触感,连续特征有密度和含糖率;
由于该数据集中没有区分训练集和测试集,故采用十折交叉验证法生成训练集和测试集,十折交叉验证示意图2所示,针对本数据集,假设生成的D1,D2,D3,…,D9,D10如下:
D1=15号和17号, D2=6号和16号, D3=10号和14号
D4=8号和13号, D5=2号和12号, D6=7号和11号
D7=5号和9号, D8=1号, D9=3号, D10=4号
表1
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
1 qinglv quansuo zhuoxiang qingxi aoxian yinghua 0.697 0.46 1
2 wuhei quansuo chenmen qingxi aoxian yinghua 0.774 0.376 1
3 wuhei quansuo zhuoxiang qingxi aoxian yinghua 0.634 0.264 1
4 qinglv quansuo chenmen qingxi aoxian yinghua 0.608 0.318 1
5 qianbai quansuo zhuoxiang qingxi aoxian yinghua 0.556 0.215 1
6 qinglv shaoquan zhuoxiang qingxi shaoao ruannian 0.403 0.237 1
7 wuhei shaoquan zhuoxiang shaohu shaoao ruannian 0.481 0.149 1
8 wuhei shaoquan zhuoxiang qingxi shaoao yinghua 0.437 0.211 1
9 wuhei shaoquan chenmen shaohu shaoao yinghua 0.666 0.091 0
10 qinglv yingting qingcui qingxi pingtan ruannian 0.243 0.267 0
11 qianbai yingting qingcui mohu pingtan yinghua 0.245 0.057 0
12 qianbai quansuo zhuoxiang mohu pingtan ruannian 0.343 0.099 0
13 qinglv shaoquan zhuoxiang shaohu aoxian yinghua 0.639 0.161 0
14 qianbai shaoquan chenmen shaohu aoxian yinghua 0.657 0.198 0
15 wuhei shaoquan zhuoxiang qingxi shaoao ruannian 0.36 0.37 0
16 qianbai quansuo zhuoxiang mohu pingtan yinghua 0.593 0.042 0
17 qinglv quansuo chenmen shaohu shaoao yinghua 0.719 0.103 0
下面以D1,D2,D3,...,D9为训练集(D),D10为测试集(Test),说明本算法的实施过程;
(2)数据预处理:
数据没有缺失,不用删除;
特征集F用数字列表表示,每个数字代表一个特征,对应关系为:色泽=0,根蒂=1,敲声=2,纹理=3,脐部=4,触感=5,密度=6,含糖率=7,故F=[0,1,2,3,4,5,6,7]。特征集标签用英文单词表示,discrete表示离散,continuous表示连续,特征集标签=[discrete,discrete,discrete,discrete,discrete,discrete,continuous,continuous],记录每个特征及其标签(离散/连续),形成特征集F和特征集标签Flag;
(3)设置隐私预算B=2*ε*T*(d+1),决策树的数量T=10,每棵树的最大深度d=6,每次选取的特征个数若ε=0.5,则B=2*0.5*10*(6+1)=70;
(4)采用的决策树类型是CART分类树,分裂准则是基尼指数,打分函数是基尼指数,全局敏感度是2;
(5)建立提供ε-差分隐私保护的随机森林,此处以建立随机森林中的一棵决策树为例说明,重复此过程T次即可建立随机森林,图3为建立随机森林的流程图;
输入:训练数据集D,特征集F,特征集标签Flag,隐私预算B,决策树的数量T,每棵树的最大深度d,每个节点选择的特征个数m;
停止条件:节点上的全部样本分类一致,或者达到最大深度d;
输出:提供ε-差分隐私保护的随机森林;
1)建立决策树时,假设使用自助采样法从训练集D中选取的训练集刚好是D本身;
2)执行以下步骤建立随机森林中的决策树RFTt
·第1次分裂
使用Laplace机制对当前节点训练集Dcur中的样本数量添加噪声后,当前树的深度为0,并且节点中的样本分类不一致,故没有达到停止条件,需要继续分裂。
随机选取3个特征,假设选取的特征为[4,1,3],没有连续特征,不用离散化;
计算每个特征选择不同划分时的基尼指数;
对于特征4(脐部)有三个取值:aoxian、shaoao、pingtan,由于每次分裂时都分裂为2个分支,故有((aoxian),(shaoao、pingtan)),((shaoao),(aoxian,pingtan)),((pingtan),(aoxian,shaoao))等3种取值划分的方法。若选择取值划分((aoxian),(shaoao、pingtan)),则基尼指数为0.3877;若选择((shaoao),(aoxian,pingtan)),则基尼指数为0.4404;若选择((pingtan),(aoxian,shaoao)),则基尼指数为0.3293;
对于特征1(根蒂)有三个取值:quansuo、shaoquan、yingting,由于每次分裂时都分裂为2个分支,故有((quansuo),(shaoquan、yingting)),((yingting),(quansuo,shaoquan)),((shaoquan),(quansuo,yingting))等3种取值划分的方法。若选择取值划分((quansuo),(shaoquan、yingting)),则基尼指数为0.4194;若选择((yingting),(quansuo,shaoquan)),则基尼指数为0.3952;若选择((shaoquan),(quansuo,yingting)),则基尼指数为0.4445;
对于特征3(纹理)有三个取值:qingxi、mohu、shaohu,由于每次分裂时都分裂为2个分支,故有((qingxi),(mohu、shaohu)),((shaohu),(qingxi,mohu)),((mohu),(qingxi,shaohu))等3种取值划分的方法。若选择取值划分((qingxi),(mohu、shaohu)),则基尼指数为0.2682;若选择((shaohu),(qingxi,mohu)),则基尼指数为0.3983;若选择((mohu),(qingxi,shaohu)),则基尼指数为0.3648;
应用指数机制选择分裂特征,选择基尼指数最小的分裂特征和特征取值。根据特征4、1、3不同的特征取值划分得到的基尼指数,可得最佳分裂特征是特征3,最佳特征取值是((qingxi),(mohu、shaohu))。根据选取的最佳特征和最佳特征取值分裂当前节点。当前节点分裂后如图4,左右分支椭圆中的数字表示每条样本的编号,左右分支的数据集分别如表2和表3,然后对左右分支分别分裂。
表2
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
1 qinglv quansuo zhuoxiang qingxi aoxian yinghua 0.697 0.46 1
2 wuhei quansuo chenmen qingxi aoxian yinghua 0.774 0.376 1
3 wuhei quansuo zhuoxiang qingxi aoxian yinghua 0.634 0.264 1
5 qianbai quansuo zhuoxiang qingxi aoxian yinghua 0.556 0.215 1
6 qinglv shaoquan zhuoxiang qingxi shaoao ruannian 0.403 0.237 1
8 wuhei shaoquan zhuoxiang qingxi shaoao yinghua 0.437 0.211 1
10 qinglv yingting qingcui qingxi pingtan ruannian 0.243 0.267 0
15 wuhei shaoquan zhuoxiang qingxi shaoao ruannian 0.36 0.37 0
表3
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
7 wuhei shaoquan zhuoxiang shaohu shaoao ruannian 0.481 0.149 1
9 wuhei shaoquan chenmen shaohu shaoao yinghua 0.666 0.091 0
11 qianbai yingting qingcui mohu pingtan yinghua 0.245 0.057 0
12 qianbai quansuo zhuoxiang mohu pingtan ruannian 0.343 0.099 0
13 qinglv shaoquan zhuoxiang shaohu aoxian yinghua 0.639 0.161 0
14 qianbai shaoquan chenmen shaohu aoxian yinghua 0.657 0.198 0
16 qianbai quansuo zhuoxiang mohu pingtan yinghua 0.593 0.042 0
17 qinglv quansuo chenmen shaohu shaoao yinghua 0.719 0.103 0
·第2次分裂
对于第1次分裂后得到的左分支,即表2数据集,使用Laplace机制对当前节点训练集Dcur中的样本数量添加噪声后,当前树的深度为1,并且节点中的样本分类不一致,故没有达到停止条件,需要继续分裂。
随机选择3个特征,假设选取的特征为[6,1,0]。由于特征6为连续特征,故需要对特征6离散化。
对特征6在当前数据集中出现的取值排序后得到[0.243,0.36,0.403,0.437,0.556,0.634,0.697,0.774],使用二分法离散化后得到特征6的划分点[0.3015,0.3815,0.42,0.4965,0.595,0.6655,0.7355]。
对于特征6(密度),划分点有[0.3015,0.3815,0.42,0.4965,0.595,0.6655,0.7355],取值为0.3015时基尼指数为0.2661,取值为0.3815时基尼指数为0,取值为0.42时基尼指数为0.2070,取值为0.4965时基尼指数为0.3105,取值为0.595时基尼指数为0.3726,取值为0.6655时基尼指数为0.4140,取值为0.7355时基尼指数为0.4436。
对于特征1(根蒂)有三个取值:quansuo、shaoquan、yingting,由于每次分裂时都分裂为2个分支,故有((quansuo),(shaoquan、yingting)),((yingting),(quansuo,shaoquan)),((shaoquan),(quansuo,yingting))等3种取值划分的方法。若选择取值划分((quansuo),(shaoquan、yingting)),则基尼指数为0.3104;若选择((yingting),(quansuo,shaoquan)),则基尼指数为0.2551;若选择((shaoquan),(quansuo,yingting)),则基尼指数为0.4554。
对于特征0(色泽)有三个取值:qinglv、qianbai、wuhei,由于每次分裂时都分裂为2个分支,故有((qinglv),(qianbai、wuhei)),((wuhei),(qinglv,qianbai)),((qianbai),(qinglv,wuhei))等3种取值划分的方法。若选择取值划分((qinglv),(qianbai、wuhei)),则基尼指数为0.4554;若选择((wuhei),(qinglv,qianbai)),则基尼指数为0.4657;若选择((qianbai),(qinglv,wuhei)),则基尼指数为0.4436。
应用指数机制选择分裂特征,选择基尼指数最小的分裂特征和特征取值。根据特征6、1、0不同的特征取值划分得到的基尼指数,可得最佳分裂特征是特征6,最佳特征取值是0.3815。根据选取的最佳特征和最佳特征取值分裂当前节点。当前节点分裂后如图5,左右分支椭圆中的数字表示每条样本的编号,左右分支的数据集分别如表4和表5,然后对左右分支分别分裂。
表4
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
10 qinglv yingting qingcui qingxi pingtan ruannian 0.243 0.267 0
15 wuhei shaoquan zhuoxiang qingxi shaoao ruannian 0.36 0.37 0
表5
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
1 qinglv quansuo zhuoxiang qingxi aoxian yinghua 0.697 0.46 1
2 wuhei quansuo chenmen qingxi aoxian yinghua 0.774 0.376 1
3 wuhei quansuo zhuoxiang qingxi aoxian yinghua 0.634 0.264 1
5 qianbai quansuo zhuoxiang qingxi aoxian yinghua 0.556 0.215 1
6 qinglv shaoquan zhuoxiang qingxi shaoao ruannian 0.403 0.237 1
8 wuhei shaoquan zhuoxiang qingxi shaoao yinghua 0.437 0.211 1
·第3次分裂
对于第2次分裂后得到的左分支,即表4数据集,使用Laplace机制对当前节点训练集Dcur中的样本数量添加噪声后,当前树的深度为2,数据集中的样本分类均为0,达到了停止条件,故设左分支为叶子节点,分类结果为0,即坏瓜,此时决策树如图6。
·第4次分裂
对于第2次分裂后得到的右分支,即表5数据集,使用Laplace机制对当前节点训练集Dcur中的样本数量添加噪声后,当前树的深度为2,数据集中的样本分类均为1,达到了停止条件,故设右分支为叶子节点,分类结果为1,即好瓜,此时决策树如图7。
·第5次分裂
对于第1次分裂后得到的右分支,即表3数据集,使用Laplace机制对当前节点训练集Dcur中的样本数量添加噪声后,当前树的深度为1,并且节点中的样本分类不一致,故没有达到停止条件,需要继续分裂。
随机选择3个特征,假设选取的特征为[5,2,4]。没有连续特征,不需要离散化。
对于特征5(触感)有两个取值:yinghua、ruannian,由于每次分裂时都分裂为2个分支,故只有((yinghua),(ruannian))一种取值划分的方法,此时基尼指数为0.1735。
对于特征2(敲声)有三个取值:qingcui、zhuoxiang、chenmen,由于每次分裂时都分裂为2个分支,故有((qingcui),(zhuoxiang、chenmen)),((chenmen),(qingcui,zhuoxiang)),((zhuoxiang),(qingcui,chenmen))等3种取值划分的方法。若选择取值划分((qingcui),(zhuoxiang、chenmen)),则基尼指数为0.2975;若选择((chenmen),(qingcui,zhuoxiang)),则基尼指数为0.2777;若选择((zhuoxiang),(qingcui,chenmen)),则基尼指数为0.2603。
对于特征4(脐部)有三个取值:aoxian、shaoao、pingtan,由于每次分裂时都分裂为2个分支,故有((aoxian),(shaoao、pingtan)),((shaoao),(aoxian,pingtan)),((pingtan),(aoxian,shaoao))等3种取值划分的方法。若选择取值划分((aoxian),(shaoao、pingtan)),则基尼指数为0.2892;若选择((shaoao),(aoxian,pingtan)),则基尼指数为0.2314;若选择((pingtan),(aoxian,shaoao)),则基尼指数为0.2777。
应用指数机制选择分裂特征,选择基尼指数最小的分裂特征和特征取值。根据特征5、2、4不同的特征取值划分得到的基尼指数,可得最佳分裂特征是特征5,最佳特征取值是((yinghua),(ruannian))。根据选取的最佳特征和最佳特征取值分裂当前节点。当前节点分裂后如图8,左右分支椭圆中的数字表示每条样本的编号,左右分支的数据集分别如表6和表7,然后对左右分支分别分裂。
表6
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
9 wuhei shaoquan chenmen shaohu shaoao yinghua 0.666 0.091 0
11 qianbai yingting qingcui mohu pingtan yinghua 0.245 0.057 0
13 qinglv shaoquan zhuoxiang shaohu aoxian yinghua 0.639 0.161 0
14 qianbai shaoquan chenmen shaohu aoxian yinghua 0.657 0.198 0
16 qianbai quansuo zhuoxiang mohu pingtan yinghua 0.593 0.042 0
17 qinglv quansuo chenmen shaohu shaoao yinghua 0.719 0.103 0
表7
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
7 wuhei shaoquan zhuoxiang shaohu shaoao ruannian 0.481 0.149 1
12 qianbai quansuo zhuoxiang mohu pingtan ruannian 0.343 0.099 0
·第6次分裂
对于第5次分裂后得到的左分支,即表6数据集,使用Laplace机制对当前节点训练集Dcur中的样本数量添加噪声后,当前树的深度为2,数据集中的样本分类均为0,达到了停止条件,故设右分支为叶子节点,分类结果为0,即坏瓜,此时决策树如图9。
·第7次分裂
对于第5次分裂后得到的右分支,即表7数据集,使用Laplace机制对当前节点训练集中的样本数量添加噪声后,当前树的深度为2,并且节点中的样本分类不一致,故没有达到停止条件,需要继续分裂。
随机选择3个特征,假设选取的特征为[7,0,6],特征7和6为连续特征,故需要对特征7和6离散化。
对特征7(含糖率)在当前数据集中出现的取值排序后得到[0.099,0.149],使用二分法离散化后得到特征7的划分点[0.124],此时基尼指数为0。
对特征6(密度)在当前数据集中出现的取值排序后得到[0.343,0.481],使用二分法离散化后得到特征6的划分点[0.412],此时基尼指数为0。
对于特征0(色泽)有2个取值:wuhei、qianbai,由于每次分裂时都分裂为2个分支,故只有((wuhei),(qianbai))1种取值划分的方法,此时基尼指数为0。
应用指数机制选择分裂特征,选择基尼指数最小的分裂特征和特征取值。根据特征7、0、6不同的特征取值划分得到的基尼指数,可得最佳分裂特征是特征7,最佳特征取值是0.124。根据选取的最佳特征和最佳特征取值分裂当前节点。当前节点分裂后如图10,左右分支椭圆中的数字表示每条样本的编号,左右分支的数据集分别如表8和表9,然后对左右分支分别分裂。
表8
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
12 qianbai quansuo zhuoxiang mohu pingtan ruannian 0.343 0.099 0
表9
编号 色泽 根蒂 敲声 纹理 脐部 触感 密度 含糖率 好瓜
7 wuhei shaoquan zhuoxiang shaohu shaoao ruannian 0.481 0.149 1
·第8次分裂
对于第7次分裂后得到的左分支,即表8数据集,使用Laplace机制对当前节点训练集中的样本数量添加噪声后,当前树的深度为3,数据集中的样本分类均为0,达到了停止条件,故设左分支为叶子节点,分类结果为0,即坏瓜,此时决策树如图11。
·第9次分裂
对于第7次分裂后得到的右分支,即表9数据集,使用Laplace机制对当前节点训练集中的样本数量添加噪声后,当前树的深度为3,数据集中的样本分类均为1,达到了停止条件,故设右分支为叶子节点,分类结果为1,即好瓜,此时决策树如图12。
至此,决策树建立完成。
(6)利用提供ε-差分隐私保护的随机森林对测试集进行分类:
此处以随机森林中的一棵决策树对测试集中的一条数据分类为例进行说明,其他分类过程与下述过程相同。为方便描述,对决策树中的非叶子节点从上到下,从左到右依次标号,如图13,测试样本为D10
分类过程如下,具体流程如图14所示:
I)进入节点1,测试样本在最佳分裂特征上的取值为qingxi,根据节点1的分裂特征和分裂特征取值,应进入左分支节点2;
II)进入节点2,测试样本在最佳分裂特征上的取值为0.608,根据节点2的分裂特征和分裂特征取值,应进入右分支节点5;
III)由于节点5为叶子结点,故返回分类结果1,即好瓜。

Claims (6)

1.一种面向差分隐私保护的随机森林算法,其特征在于,包括以下步骤:
步骤一、建立提供ε-差分隐私保护的随机森林;
步骤二、利用提供ε-差分隐私保护的随机森林对测试集进行分类,输出测试集中所有样本的分类结果。
2.根据权利要求1所述面向差分隐私保护的随机森林算法,其特征在于,步骤一中,所述建立提供ε-差分隐私保护的随机森林,具体为:
1.1)获取数据集:若数据集中已经区分训练集D和测试集Test,则执行下一步;否则,采用十折交叉验证得到训练集D和测试集Test;
1.2)数据预处理:对缺失数据进行删除,记录每个特征及其标签(离散/连续),形成特征集F和特征集标签Flag;
1.3)设置隐私预算B,决策树的数量T,每棵树的最大深度d,每个节点选择的特征个数m,其中(向上取整,即不小于自己的最小整数),|F|为特征集F中包含的特征数量;
1.4)确定随机森林中的决策树类型、分裂准则、打分函数q(Di,A)和打分函数的全局敏感度Δq;
1.5)建立提供ε-差分隐私保护的随机森林:
输入:训练数据集D,特征集F,特征集标签Flag,隐私预算B,决策树的数量T,每棵树的最大深度d,每个节点选择的特征个数m;
停止条件:节点上的全部样本分类一致,或者达到最大深度d;
输出:提供ε-差分隐私保护的随机森林。
3.根据权利要求2所述面向差分隐私保护的随机森林算法,其特征在于,所述步骤1.4)中,采用的决策树类型是CART分类树,分裂准则是基尼指数,打分函数是基尼指数,全局敏感度是2。
4.根据权利要求2所述面向差分隐私保护的随机森林算法,其特征在于,所述步骤1.5)中,建立提供ε-差分隐私保护的随机森林的算法程序为:
(1)
(2)
(3)for t=1to T;
1)使用自助采样法从D中选取大小为|D|的训练集Di
2)递归执行以下步骤建立随机森林中的决策树RFTt
(i)计算当前节点训练集Dcur中的样本数量,使用Laplace机制添加噪声:
(ii)判断节点是否达到停止条件,如果达到停止条件,则设置当前节点为叶子节点,并对当前节点进行分类,返回分类结果;否则,继续以下步骤;
(iii)随机地从特征集F中选取m个特征;
(iv)若选取的特征中含有连续属性,使用二分法对连续特征离散化;
(v)使用指数机制从m个特征中,用以下概率选择分裂特征:
其中,A是选择的特征,q(Di,A)是打分函数,Δq是打分函数的全局敏感度;
(vi)根据特征集标签Flag和分裂特征的不同取值对特征取值进行划分,选择使得分裂准则最佳的值,记录最佳分裂特征和特征取值,将当前节点分裂为2个子节点,每个子节点分别执行步骤(i)~(vi);
(4)返回树的集合即提供ε-差分隐私保护的随机森林。
5.根据权利要求1所述面向差分隐私保护的随机森林算法,其特征在于,步骤二中,所述利用提供ε-差分隐私保护的随机森林对测试集进行分类,具体为:
输入:测试集Test,提供ε-差分隐私保护的随机森林;
输出:测试集中所有样本的分类结果。
6.根据权利要求5所述面向差分隐私保护的随机森林算法,其特征在于,所述利用提供ε-差分隐私保护的随机森林对测试集进行分类的算法程序为:
(1)取出测试集中的每个样本x,执行步骤(2)和(3);
(2)for t=1to T;
1)从当前决策树的根节点开始,根据当前节点记录的最佳分裂特征和特征取值,判断进入哪个子节点,一直递归下去,直到到达某个叶子节点;
2)得到当前决策树下的分类结果Ct(x);
(3)根据每棵决策树的分类结果得到即样本x的分类结果是所有树分类结果的众数;
(4)输出测试集中所有样本的分类结果集合{C(x)}。
CN201811044646.4A 2018-09-07 2018-09-07 面向差分隐私保护的随机森林算法 Pending CN109284626A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811044646.4A CN109284626A (zh) 2018-09-07 2018-09-07 面向差分隐私保护的随机森林算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811044646.4A CN109284626A (zh) 2018-09-07 2018-09-07 面向差分隐私保护的随机森林算法

Publications (1)

Publication Number Publication Date
CN109284626A true CN109284626A (zh) 2019-01-29

Family

ID=65183821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811044646.4A Pending CN109284626A (zh) 2018-09-07 2018-09-07 面向差分隐私保护的随机森林算法

Country Status (1)

Country Link
CN (1) CN109284626A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059501A (zh) * 2019-04-16 2019-07-26 广州大学 一种基于差分隐私的安全外包机器学习方法
CN110084365A (zh) * 2019-03-13 2019-08-02 西安电子科技大学 一种基于深度学习的服务提供系统及方法
CN110321945A (zh) * 2019-06-21 2019-10-11 深圳前海微众银行股份有限公司 扩充样本方法、终端、装置及可读存储介质
CN110414567A (zh) * 2019-07-01 2019-11-05 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110427969A (zh) * 2019-07-01 2019-11-08 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110942147A (zh) * 2019-11-28 2020-03-31 支付宝(杭州)信息技术有限公司 基于多方安全计算的神经网络模型训练及预测方法、装置
CN111178408A (zh) * 2019-12-19 2020-05-19 中国科学院计算技术研究所 基于联邦随机森林学习的健康监护模型构建方法、系统
CN111259442A (zh) * 2020-01-15 2020-06-09 广西师范大学 MapReduce框架下决策树的差分隐私保护方法
CN111737759A (zh) * 2020-08-12 2020-10-02 南京邮电大学 一种基于Hadoop平台MapReduce环境下的隐私保护方法
CN112699402A (zh) * 2020-12-28 2021-04-23 广西师范大学 基于联邦个性化随机森林的可穿戴设备活动预测方法
CN114118601A (zh) * 2021-12-02 2022-03-01 安徽大学 一种基于差分隐私保护的随机森林车流预测方法
CN116151388A (zh) * 2022-12-01 2023-05-23 广州大学 一种基于本地化差分隐私的联邦随机森林方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447525A (zh) * 2015-12-15 2016-03-30 中国科学院软件研究所 一种数据预测分类方法及装置
CN106339714A (zh) * 2016-08-10 2017-01-18 上海交通大学 多层嵌入差分隐私到决策树模型的隐私风险控制方法
CN107526975A (zh) * 2017-08-10 2017-12-29 中国人民大学 一种基于差分隐私保护决策树的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447525A (zh) * 2015-12-15 2016-03-30 中国科学院软件研究所 一种数据预测分类方法及装置
CN106339714A (zh) * 2016-08-10 2017-01-18 上海交通大学 多层嵌入差分隐私到决策树模型的隐私风险控制方法
CN107526975A (zh) * 2017-08-10 2017-12-29 中国人民大学 一种基于差分隐私保护决策树的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
穆海蓉: "DiffPRFs:一种面向随机森林的差分隐私保护算法", 《通信学报》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110084365A (zh) * 2019-03-13 2019-08-02 西安电子科技大学 一种基于深度学习的服务提供系统及方法
CN110084365B (zh) * 2019-03-13 2023-08-11 西安电子科技大学 一种基于深度学习的服务提供系统及方法
CN110059501A (zh) * 2019-04-16 2019-07-26 广州大学 一种基于差分隐私的安全外包机器学习方法
CN110059501B (zh) * 2019-04-16 2021-02-02 广州大学 一种基于差分隐私的安全外包机器学习方法
CN110321945A (zh) * 2019-06-21 2019-10-11 深圳前海微众银行股份有限公司 扩充样本方法、终端、装置及可读存储介质
CN110414567B (zh) * 2019-07-01 2020-08-04 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110427969A (zh) * 2019-07-01 2019-11-08 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110414567A (zh) * 2019-07-01 2019-11-05 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110942147A (zh) * 2019-11-28 2020-03-31 支付宝(杭州)信息技术有限公司 基于多方安全计算的神经网络模型训练及预测方法、装置
CN111178408A (zh) * 2019-12-19 2020-05-19 中国科学院计算技术研究所 基于联邦随机森林学习的健康监护模型构建方法、系统
CN111259442A (zh) * 2020-01-15 2020-06-09 广西师范大学 MapReduce框架下决策树的差分隐私保护方法
CN111737759A (zh) * 2020-08-12 2020-10-02 南京邮电大学 一种基于Hadoop平台MapReduce环境下的隐私保护方法
CN111737759B (zh) * 2020-08-12 2021-10-08 南京邮电大学 一种基于Hadoop平台MapReduce环境下的隐私保护方法
CN112699402A (zh) * 2020-12-28 2021-04-23 广西师范大学 基于联邦个性化随机森林的可穿戴设备活动预测方法
CN112699402B (zh) * 2020-12-28 2022-06-17 广西师范大学 基于联邦个性化随机森林的可穿戴设备活动预测方法
CN114118601A (zh) * 2021-12-02 2022-03-01 安徽大学 一种基于差分隐私保护的随机森林车流预测方法
CN114118601B (zh) * 2021-12-02 2024-02-13 安徽大学 一种基于差分隐私保护的随机森林车流预测方法
CN116151388A (zh) * 2022-12-01 2023-05-23 广州大学 一种基于本地化差分隐私的联邦随机森林方法

Similar Documents

Publication Publication Date Title
CN109284626A (zh) 面向差分隐私保护的随机森林算法
CN104346379B (zh) 一种基于逻辑和统计技术的数据元识别方法
CN111754345B (zh) 一种基于改进随机森林的比特币地址分类方法
TW200828053A (en) A method for grid-based data clustering
CN109117669B (zh) MapReduce相似连接查询的隐私保护方法及系统
JP7103496B2 (ja) 関連スコア算出システム、方法およびプログラム
WO2019200739A1 (zh) 数据欺诈识别方法、装置、计算机设备和存储介质
CN108304382A (zh) 基于制造过程文本数据挖掘的质量分析方法与系统
Gerhana et al. Comparison of naive Bayes classifier and C4. 5 algorithms in predicting student study period
CN107679209B (zh) 分类表达式生成方法和装置
Zhang et al. An ELECTRE TRI-based outranking approach for multi-attribute group decision making with picture fuzzy sets
WO2016106944A1 (zh) MapReduce平台上的虚拟人建立方法
CN114092729A (zh) 基于聚类匿名化与差分隐私保护的异构用电数据发布方法
CN113158206A (zh) 一种基于决策树的文档安全等级划分方法
Olech et al. Hierarchical gaussian mixture model with objects attached to terminal and non-terminal dendrogram nodes
CN111259442B (zh) MapReduce框架下决策树的差分隐私保护方法
CN104794234A (zh) 用于同业对标的数据处理方法和装置
Chhinkaniwala et al. Tuple value based multiplicative data perturbation approach to preserve privacy in data stream mining
Lv et al. A differential privacy random forest method of privacy protection in cloud
KR101985961B1 (ko) 국가연구개발과제 유사도 정량화 시스템 및 이를 이용한 국가연구개발과제 협업 제안 방법
CN110990384A (zh) 一种大数据平台bi分析方法
Gorecki et al. Visual investigation of similarities in global terrorism database by means of synthetic social networks
CN105786929A (zh) 一种信息监测方法及装置
KR101085066B1 (ko) 대용량 다속성 데이터집합에서 의미 있는 지식 탐사를 위한 연관 분류 방법
CN108256086A (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