CN113221966A - 基于F_Max属性度量的差分隐私决策树构建方法 - Google Patents
基于F_Max属性度量的差分隐私决策树构建方法 Download PDFInfo
- Publication number
- CN113221966A CN113221966A CN202110440934.7A CN202110440934A CN113221966A CN 113221966 A CN113221966 A CN 113221966A CN 202110440934 A CN202110440934 A CN 202110440934A CN 113221966 A CN113221966 A CN 113221966A
- Authority
- CN
- China
- Prior art keywords
- attribute
- decision tree
- privacy
- attributes
- layer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于F_Max属性度量的差分隐私决策树构建方法,具体按照以下步骤实施:步骤1:数据处理;步骤2:隐私预算权重分配;步骤3:隐私预算分配;步骤4:差分隐私决策树构建;步骤5:差分隐私决策树分裂属性选取;步骤6:最后根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。本发明基于新的F_Max属性度量,在决策树分类问题中既保护用户隐私,同时提供较高的算法准确率。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种基于F_Max属性度量的差分隐私决策树构建方法。
背景技术
数据挖掘(Data Mining)是基于数据库的知识发现中的关键步骤,通常将其中的知识学习阶段称为数据挖掘。数据挖掘(Data Mining)技术可以从这些海量的数据中发现并提取能被人理解的模式或者知识。分类和预测是数据挖掘的主要方法之一,用于描述重要数据类的模型或预测未来的数据趋势。决策树方法是一种应用广泛的分类方法,决策树是对样本进行训练并预测的一种分类器。最佳分裂属性的属性度量方法有信息增益、增益率、基尼指数以及基于距离的划分等,该算法可以达到较高的分类精度。
决策树算法在处理节点信息的时候,每个节点都可能导致隐私泄露。差分隐私是2006年Dwork等人提出的隐私保护模型,在差分隐私中,要求攻击者无法根据发布后的结果推测出哪一条结果对应于哪一个数据集。该模型通过加入随机噪声的方法来确保公开的输出结果不会因为一个个体是否在数据集中而产生明显的变化,并对隐私泄露程度给出了定量化的模型。决策树算法通过与差分隐私保护结合,能有效地保护数据集的个体隐私。基于差分隐私保护的决策树构建方法具有重要的实际应用意义。
发明内容
本发明的目的是提供一种基于F_Max属性度量的差分隐私决策树构建方法,基于新的F_Max属性度量,在决策树分类问题中既保护用户隐私,同时提供较高的算法准确率。
本发明所采用的技术方案是,基于F_Max属性度量的差分隐私决策树构建方法,具体按照以下步骤实施:
步骤1:数据处理;
步骤2:隐私预算权重分配;
步骤3:隐私预算分配;
步骤4:差分隐私决策树构建;
步骤5:差分隐私决策树分裂属性选取;
步骤6:最后根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。
本发明的特点还在于,
步骤1具体如下:
从数据集D中有放回的随机抽样大小为R的数据集D′,从属性集F={A1,…Ax}随机抽取f个不同属性,A1~Ax为属性集F的属性,x为属性集F中属性个数。假设f个不同属性包括n个连续属性和f-n个离散属性,组成分裂属性集A=(A1…Af)∈F,A1~Af为分裂属性集A的属性,f为分裂属性集A中属性的个数。分裂属性集A中n个连续属性组成连续属性集Ar,n=0时,属性集Ar为空;n>0,Ar(r=1,2,...,n)∈A,A1~An为连续属性集Ar的属性。假设决策树总隐私预算为e,决策树的层数为i,i=1,2…d,决策树的最大层数为dm,其中d≤dm。
步骤2具体如下:
根据步骤1所给的决策树的层数i和决策树的最大层数dm,采用平衡信噪比的方法,为决策树各层分配隐私预算权重,确定各层隐私预算分配的比例,具体为:假设决策树总隐私预算权重为w,决策树每层分为计数查询和属性查询,最后一层只有计数查询,因此,分配给决策树第1层的隐私预算权重为w1=2/dm,随着决策树层数的增加,隐私预算权重依次分配给每个后续层,第2层的隐私预算权重为w2=2/(dm-1),依次类推,w3=2/(dm-2),…,wi=2/(dm-i+1),第d-1层的隐私预算权重为wd-1=2/(dm-d+2),最后一层d层只有计数查询,隐私预算权重为wd=1/(dm-d+1),综上,总隐私预算权重为w=w1+w2+w3+…wd-1+wd。
步骤3具体如下:
根据步骤1给出的决策树总隐私预算e、决策树的层数i、决策树的最大层数dm以及步骤2给出的决策树总隐私预算权重w和各层的隐私预算权重wi,w1~wd为第1层到第d层的隐私预算权重,对决策树各层和各层节点进行隐私预算分配,具体实现步骤如下:
步骤3.1、首先是对各层隐私预算分配:根据步骤3给出的决策树总隐私预算e和总隐私预算权重w,计算单位隐私预算为每层隐私预算为ei=wi*eu=(2/(dm-i+1)),i=1,2…d,e1到ed为决策树各层分配的隐私预算,由于决策树的样本是有放回随机选择的,会有一定的交叉,根据差分隐私序列组合性,消耗的隐私预算为决策树消耗隐私预算的叠加;
步骤3.2、根据步骤3.1给出的决策树各层隐私预算ei,再对每层节点进行隐私预算分配,对于决策树每层节点隐私预算分配:每层节点分为计数查询和属性查询,节点中计数查询所分配的隐私预算ei,1,节点中属性查询所分配的隐私预算为ei,2,决策树第1层到第d-1层节点中的计数查询和属性查询平均分配各层隐私预算:ej,1=ej,2=ej/2,1≤j≤d-1,j∈i,e1,1~ed-1,1是从第1层到d-1层决策树每层节点中计数查询分配的隐私预算,e1,2~ed-1,2是从第1层到d-1层决策树每层节点中属性查询分配的隐私预算,最后一层d层只有计数查询ei,1=ed,ei,2=0,ei,1为决策树d层计数查询分配的隐私预算。
步骤4具体如下:
首先判断决策树是否达到终止条件,节点内所有样本分类结果相同,当前分裂属性集A为空,达到决策树的最大层数dm,若未达到终止条件开始进行决策树构建,根据步骤3给出的决策树各层节点分配的属性查询隐私预算ei,2进行分裂属性选择。然后判断是否有连续属性,若步骤1给出的连续属性数量n=0,直接进行步骤5。若步骤1给出的连续属性数量n>0,先对步骤1中的连续属性集Ar中的n个连续属性进行离散化处理,e'=ei,2/n,e'为连续属性离散化过程中属性需要消耗的隐私预算,连续属性离散化具体实现步骤如下:
步骤4.1、连续属性集Ar中,A1∈Ar,A1是连续属性,对A1通过指数机制,使用CART算法从其分裂点Vsplit选择最佳分裂点V进行离散化处理,Pr为算法GI作用于数据集D′输出的概率,Vsplit为属性A1中的分裂点,V为属性A1的最佳分裂点,GI(D',V)为算法GI作用于最佳分裂点V的可用性函数,GI(D',Vsplit)为算法GI作用于分裂点Vsplit的可用性函数,ΔGI为函数GI(D',Vsplit)的敏感度,将完成离散化的属性A1划入分裂属性集A中;
步骤4.2、依次对连续属性集Ar中的A2,A3,…An通过步骤4.1进行离散化处理,离散化后的属性划入分裂属性集A中,直到所有连续属性完成离散化为止。
步骤5具体如下:
根据步骤3给出的各层节点计数查询分配的隐私预算ei,1,当对分裂属性集A中所有连续属性使用步骤4中方法离散化处理后,开始进行分裂属性的选取,通过F_Max属性度量对分裂属性集A中各个属性进行打分去选择最佳分裂属性,Ah=scoreA,返回最佳分裂属性Ah,1≤h≤f,达到终止条件,不再分裂,差分隐私决策树构建完成,否则返回步骤4。
步骤5中的F_Max属性度量具体定义如下:假设数据集N={N1,…,Ns},s代表实例的数量,属性集T={L1,…,Lk},k代表属性的数量,类标签集C,c∈C,c=1,2,…,q,q代表数据集中类别的数量,随机从属性集T抽取p个不同属性,组成分裂属性集U=(G1…Gp)∈T,G1到Gp为分裂属性集U中的属性,p为分裂属性集U中属性的个数,对于分裂属性集U中某个属性GP有v个值,其中GP的值的集合为{z1,…,zv},F_Max属性度量为依次计算决策树属性集U中属性GP中各个类计数值与其权重的乘积之和,通过F_Max选出得分最高的分裂属性Go,1≤o≤p,属性度量方法如公式(1)、(2)、(3)所示:
Go=argmaxU(F_Max(D,Go)) (3)
其中,sv代表属性GP的值等于zv的实例的计数,svc代表属性取值zv在类标签c中实例的计数,公式(1)是根据打分函数求依次求出分裂属性集中U中GP的分数,公式(2)是从属性集U中各个属性组成的分数集合中选出得分最高的分裂属性Go的得分,最后再根据公式(3)中的函数,通过Go的得分返回对应属性Go。
步骤6具体如下:
根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。
步骤1中数据集D来自UCI Knowledge Discovery Archive database,是根据人口普查数据预测某个人收入是否超过5万美元/年的adult数据集,adult数据集中包括14个属性:其中6个为连续属性,包括年龄、一个州内观测人数、教育时间、资本收益、资本亏损、每周工作时长;8个为离散属性,包括工作类别、教育程度、婚姻状态、职业、家庭角色、种族、性别、原国籍,根据上述步骤对adult数据集进行处理,由于adult数据集中包含6个连续属性,所以在步骤3完成时需要通过步骤4进行连续属性离散化之后,再通过步骤4和步骤5构建出差分隐私决策树,最后通过步骤6对测试集进行预测。
步骤1中数据集D来自UCI Knowledge Discovery Archive database,是蘑菇是否可食用的mushroom数据集,mushroom数据集中包括22个属性:其中22个属性均为离散属性,包括伞盖形状、伞盖表面、伞盖颜色、瘀伤、气味、腮附着、腮刺距、腮大小、腮颜色、茎秆形状、茎秆根、茎秆表面上方环、茎秆表面下方环、茎杆颜色-上环、茎杆颜色-戒指以下、面纱类型、面纱颜色、戒指编号、戒指类型、孢子印刷色、密度、生活环境,根据上述步骤对mushroom数据集进行处理,mushroom数据集只有离散属性,在步骤3完成后在处理时不需要进行步骤4中步骤4.1和步骤4.2对连续属性离散化,可以直接通过步骤4和步骤5构建出差分隐私决策树,最后通过步骤6对测试集进行预测。
本发明的有益效果是,一种基于F_Max属性度量的差分隐私决策树构建方法,Differential Privacy MaxTree based on F_Max(DPFMaxTree)算法,针对现有决策树中属性度量方法准确率偏低问题,推导出新的决策树属性度量方法F_Max,该方法的优势是合理利用每个属性中各个类值的作用,提高分裂准确率。在构建决策树时通过对连续属性离散化方法进行改进,首先使用指数机制通过CART算法对连续属性进行离散化,应用F_Max属性度量方法用来构建差分隐私决策树,该方案使用一次指数机制以及减少查询次数,减少了隐私预算在构建决策树时的损耗,能合理将隐私预算分配给每个节点,提高算法准确率。
附图说明
图1是本发明基于F_Max属性度量的差分隐私决策树构建方法的流程图;
图2(a)adult数据集上隐私预算对算法准确率的影响;
图2(b)mushroom数据集上隐私预算对算法准确率的影响;
图3(a)adult数据集上属性数量对算法准确率的影响;
图3(b)mushroom数据集上属性数量对算法准确率的影响。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于F_Max属性度量的差分隐私决策树构建方法,流程图如图1所示,具体按照以下步骤实施:
步骤1:数据处理;
步骤1具体如下:
从数据集D中有放回的随机抽样大小为R的数据集D′,从属性集F={A1,…Ax}随机抽取f个不同属性,A1~Ax为属性集F的属性,x为属性集F中属性个数。假设f个不同属性包括n个连续属性和f-n个离散属性,组成分裂属性集A=(A1…Af)∈F,A1~Af为分裂属性集A的属性,f为分裂属性集A中属性的个数。分裂属性集A中n个连续属性组成连续属性集Ar,n=0时,属性集Ar为空;n>0,Ar(r=1,2,…,n)∈A,A1~An为连续属性集Ar的属性。假设决策树总隐私预算为e,决策树的层数为i,i=1,2…d,决策树的最大层数为dm,其中d≤dm。
步骤2:隐私预算权重分配;
步骤2具体如下:
根据步骤1所给的决策树的层数i和决策树的最大层数dm,采用平衡信噪比的方法,为决策树各层分配隐私预算权重,确定各层隐私预算分配的比例,具体为:假设决策树总隐私预算权重为w,决策树每层分为计数查询和属性查询,最后一层只有计数查询,因此,分配给决策树第1层的隐私预算权重为w1=2/dm,随着决策树层数的增加,隐私预算权重依次分配给每个后续层,第2层的隐私预算权重为w2=2/(dm-1),依次类推,w3=2/(dm-2),…,wi=2/(dm-i+1),第d-1层的隐私预算权重为wd-1=2/(dm-d+2),最后一层d层只有计数查询,隐私预算权重为wd=1/(dm-d+1),综上,总隐私预算权重为w=w1+w2+w3+…wd-1+wd。
步骤3:隐私预算分配;
步骤3具体如下:
根据步骤1给出的决策树总隐私预算e、决策树的层数i、决策树的最大层数dm以及步骤2给出的决策树总隐私预算权重w和各层的隐私预算权重wi,w1~wd为第1层到第d层的隐私预算权重,对决策树各层和各层节点进行隐私预算分配,具体实现步骤如下:
步骤3.1、首先是对各层隐私预算分配:根据步骤3给出的决策树总隐私预算e和总隐私预算权重w,计算单位隐私预算为每层隐私预算为ei=wi*eu=(2/(dm-i+1)),i=1,2…d,e1到ed为决策树各层分配的隐私预算,由于决策树的样本是有放回随机选择的,会有一定的交叉,根据差分隐私序列组合性,消耗的隐私预算为决策树消耗隐私预算的叠加;
步骤3.2、根据步骤3.1给出的决策树各层隐私预算ei,再对每层节点进行隐私预算分配,对于决策树每层节点隐私预算分配:每层节点分为计数查询和属性查询,节点中计数查询所分配的隐私预算ei,1,节点中属性查询所分配的隐私预算为ei,2,决策树第1层到第d-1层节点中的计数查询和属性查询平均分配各层隐私预算:ej,1=ej,2=ej/2,1≤j≤d-1,j∈i,e1,1~ed-1,1是从第1层到d-1层决策树每层节点中计数查询分配的隐私预算,e1,2~ed-1,2是从第1层到d-1层决策树每层节点中属性查询分配的隐私预算,最后一层d层只有计数查询ei,1=ed,ei,2=0,ei,1为决策树d层计数查询分配的隐私预算。
步骤4:差分隐私决策树构建;
步骤4具体如下:
首先判断决策树是否达到终止条件,节点内所有样本分类结果相同,当前分裂属性集A为空,达到决策树的最大层数dm,若未达到终止条件开始进行决策树构建,根据步骤3给出的决策树各层节点分配的属性查询隐私预算ei,2进行分裂属性选择。然后判断是否有连续属性,若步骤1给出的连续属性数量n=0,直接进行步骤5。若步骤1给出的连续属性数量n>0,先对步骤1中的连续属性集Ar中的n个连续属性进行离散化处理,e'=ei,2/n,e'为连续属性离散化过程中属性需要消耗的隐私预算,连续属性离散化具体实现步骤如下:
步骤4.1、连续属性集Ar中,A1∈Ar,A1是连续属性,对A1通过指数机制,使用CART算法从其分裂点Vsplit选择最佳分裂点V进行离散化处理,Pr为算法GI作用于数据集D′输出的概率,Vsplit为属性A1中的分裂点,V为属性A1的最佳分裂点,GI(D',V)为算法GI作用于最佳分裂点V的可用性函数,GI(D',Vsplit)为算法GI作用于分裂点Vsplit的可用性函数,ΔGI为函数GI(D',Vsplit)的敏感度,将完成离散化的属性A1划入分裂属性集A中;
步骤4.2、依次对连续属性集Ar中的A2,A3,…An通过步骤4.1进行离散化处理,离散化后的属性划入分裂属性集A中,直到所有连续属性完成离散化为止。
步骤5:差分隐私决策树分裂属性选取;
步骤5具体如下:
根据步骤3给出的各层节点计数查询分配的隐私预算ei,1,当对分裂属性集A中所有连续属性使用步骤4中方法离散化处理后,开始进行分裂属性的选取,通过F_Max属性度量对分裂属性集A中各个属性进行打分去选择最佳分裂属性,Ah=scoreA,返回最佳分裂属性Ah,1≤h≤f,达到终止条件,不再分裂,差分隐私决策树构建完成,否则返回步骤4。
步骤5中的F_Max属性度量具体定义如下:假设数据集N={N1,...,Ns},s代表实例的数量,属性集T={L1,…,Lk},k代表属性的数量,类标签集C,c∈C,c=1,2,...,q,q代表数据集中类别的数量,随机从属性集T抽取p个不同属性,组成分裂属性集U=(G1…Gp)∈T,G1到Gp为分裂属性集U中的属性,p为分裂属性集U中属性的个数,对于分裂属性集U中某个属性GP有v个值,其中GP的值的集合为{z1,…,zv},F_Max属性度量为依次计算决策树属性集U中属性GP中各个类计数值与其权重的乘积之和,通过F_Max选出得分最高的分裂属性Go,1≤o≤p,属性度量方法如公式(1)、(2)、(3)所示:
Go=argmaxU(F_Max(D,Go)) (3)
其中,sv代表属性GP的值等于zv的实例的计数,svc代表属性取值zv在类标签c中实例的计数,公式(1)是根据打分函数求依次求出分裂属性集中U中GP的分数,公式(2)是从属性集U中各个属性组成的分数集合中选出得分最高的分裂属性Go的得分,最后再根据公式(3)中的函数,通过Go的得分返回对应属性Go。
步骤6:最后根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。
步骤6具体如下:
根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。
步骤1中数据集D来自UCI Knowledge Discovery Archive database,是根据人口普查数据预测某个人收入是否超过5万美元/年的adult数据集,adult数据集中包括14个属性:其中6个为连续属性,包括年龄(age)、一个州内观测人数(fnlwgt)、教育时间(education-num)、资本收益(capital-gain)、资本亏损(capital-loss)、每周工作时长(hours-per-week);8个为离散属性,包括工作类别(workclass)、教育程度(education)、婚姻状态(marital-status)、职业(occupation)、家庭角色(relationship)、种族(race)、性别(sex)、原国籍(native-country),根据上述步骤对adult数据集进行处理,由于adult数据集中包含6个连续属性,所以在步骤3完成时需要通过步骤4进行连续属性离散化之后,再通过步骤4和步骤5构建出差分隐私决策树,最后通过步骤6对测试集进行预测,实验结果如图2(a)和图3(a)所示。
步骤1中数据集D来自UCI Knowledge Discovery Archive database,是蘑菇是否可食用的mushroom数据集,mushroom数据集中包括22个属性:其中22个属性均为离散属性,包括伞盖形状(cap-shape)、伞盖表面(cap-surface)、伞盖颜色(cap-color)、瘀伤(bruises)、气味(odor)、腮附着(gill-attachment)、腮刺距(gill-spacing)、腮大小(gill-size)、腮颜色(gill-color)、茎秆形状(stalk-shape)、茎秆根(stalk-root)、茎秆表面上方环(stalk-surface-above-ring)、茎秆表面下方环(stalk-surface-below-ring)、茎杆颜色-上环(stalk-color-above-ring)、茎杆颜色-戒指以下(stalk-color-below-ring)、面纱类型(veil-type)、面纱颜色(veil-color)、戒指编号(ring-number)、戒指类型(ring-type)、孢子印刷色(spore-print-color)、密度(population)、生活环境(habitat),根据上述步骤对mushroom数据集进行处理,mushroom数据集只有离散属性,在步骤3完成后在处理时不需要进行步骤4中步骤4.1和步骤4.2对连续属性离散化,可以直接通过步骤4和步骤5构建出差分隐私决策树,最后通过步骤6对测试集进行预测。实验结果如图2(b)和图3(b)所示。
为了验证本发明在保证较好的分类可用性的前提下,实现较高的差分隐私保护,通过与原算法做对比实验。实验平台硬件环境为:Intel(R)Core(TM)i5-4210 CPU@1.70GHz处理器、4GB运行内存;软件环境为Windows10操作系统,实验程序开发工具为pycharm2018.2.4,编程语言采用python实现。
实验所选择的数据集为UCI Knowledge Discovery Archive database中的“adult”数据集(记录数为32561,属性数为14,数据类型为数值型和离散型),以及“mushroom”数据集(数据数为8124,属性数为22,数据类型为离散型),通过这两个数据集来检验算法的性能。
表1数据集基本信息
数据集 | 特征数(离散/连续) | 分类数 | 数据数 |
“adult”数据集 | 14(8/6) | 2 | 32561 |
“mushroom”数据集 | 22(22/0) | 2 | 8124 |
将通过实验分别研究隐私预算大小、属性数量两个影响因素对DPFMaxTree算法的可用性影响,同时与本文中提出FMax算法,以及Max、MaxTree三个算法进行了实验对比和理论分析,Max、FMax为不加差分隐私的决策树算法。
(1)分类结果可用性度量实验
准确率是衡量分类算法可用性优劣的重要指标,它是测试集中预测正确的样本数占总的测试集样本数的比值,可以形式化定义为:
其中,Accuracte(TestData)是测试集中预测正确的样本数,Total(TestData)是测试集总的样本数。准确率越高,则说明分类算法的可用性越好。
在差分隐私保护机制下,由于向差分隐私决策树分类参数中加入的拉普拉斯噪声值是一系列服从特定分布的随机值,并且随机森林算法使用Bagging方法随机选取数据集,为了得到一个稳定的结果,对每一类实验下同一个参数的Max、FMax、MaxTree和DPFMaxTree算法进行了10次实验,并取10次实验的准确率平均值作为最终值。
(2)隐私预算对算法可用性的影响
为了评估隐私预算对算法可用性的影响,固定训练数据集的样本数、属性数量为2以及树的数量为50,逐步取隐私预算值为0.10、0.25、0.5、0.75、1.0、1.5进行实验。其中在两个数据集上的运行结果如下图2(a)和图2(b)所示。
从图2(a)和图2(b)可以看出:隐私预算越大,DPFMaxTree算法的准确率越高。同时从图2(a)可以看出,在adult数据集上,未加差分隐私的FMax算法准确率整体上比Max算法准确率高。当隐私预算小于0.4时,DPFMaxTree算法与MaxTree算法二者准确率基本一致。当超到0.4时,DPFMaxTree算法的准确率与不加差分隐私的Max算法准确率非常接近,明显比MaxTree准确率高。图2(b)同样可以得出这个结论。总体上,DPFMaxTree算法优于对比算法。
(3)属性数量对算法可用性的影响
属性数量是影响算法性能的一个重要指标,因此固定训练数据集的数量、树的数量为50,在adult数据集和mushroom数据集上分别固定取隐私预算值为1.0,属性数量从1到10进行实验。其中在两个数据集上的运行结果如下图3(a)和图3(b)所示。
从图3(a)和图3(b)可以看出,随着属性数量的增多,算法的准确率在不断上升最后趋于稳定,即无论属性的数量如何变化,DPFMaxTree算法的准确率都高于对比实验MaxTree算法。
总的来说,DPFMaxTree算法在保证了隐私的情况下准确率有了很大的提升,并通过多次实验得以验证。
本发明在保证隐私预算的情况下,减少了隐私预算在多次指数机制上的损耗,并且也减少了在查询次数上的损耗,因此该算法提高了隐私保护预算的利用率。实现同样的隐私保护水平下,本文提出的算法具有较高的分类准确率。
本发明方法的主要思想是针对现有决策树中属性度量方法准确率偏低问题,通过选择每个属性中各个类的最大值,并根据它们在属性中的权重构造新的属性度量F_Max。在构造差分隐私决策树时,对于连续属性,采用指数机制通过CART算法进行离散化处理,利用拉普拉斯机制在类数上加噪声扰动,并通过新的F_Max属性度量进行属性选择,以实现准确率更高的差分隐私决策树算法。
Claims (10)
1.基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,具体按照以下步骤实施:
步骤1:数据处理;
步骤2:隐私预算权重分配;
步骤3:隐私预算分配;
步骤4:差分隐私决策树构建;
步骤5:差分隐私决策树分裂属性选取;
步骤6:最后根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。
2.根据权利要求1所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤1具体如下:
从数据集D中有放回的随机抽样大小为R的数据集D′,从属性集F={A1,…Ax}随机抽取f个不同属性,A1~Ax为属性集F的属性,x为属性集F中属性个数,假设f个不同属性包括n个连续属性和f-n个离散属性,组成分裂属性集A=(A1…Af)∈F,A1~Af为分裂属性集A的属性,f为分裂属性集A中属性的个数,分裂属性集A中n个连续属性组成连续属性集Ar,n=0时,属性集Ar为空;n>0,Ar(r=1,2,...,n)∈A,A1~An为连续属性集Ar的属性,假设决策树总隐私预算为e,决策树的层数为i,i=1,2…d,决策树的最大层数为dm,其中d≤dm。
3.根据权利要求2所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤2具体如下:
根据步骤1所给的决策树的层数i和决策树的最大层数dm,采用平衡信噪比的方法,为决策树各层分配隐私预算权重,确定各层隐私预算分配的比例,具体为:假设决策树总隐私预算权重为w,决策树每层分为计数查询和属性查询,最后一层只有计数查询,因此,分配给决策树第1层的隐私预算权重为w1=2/dm,随着决策树层数的增加,隐私预算权重依次分配给每个后续层,第2层的隐私预算权重为w2=2/(dm-1),依次类推,w3=2/(dm-2),…,wi=2/(dm-i+1),第d-1层的隐私预算权重为wd-1=2/(dm-d+2),最后一层d层只有计数查询,隐私预算权重为wd=1/(dm-d+1),综上,总隐私预算权重为w=w1+w2+w3+…wd-1+wd。
4.根据权利要求3所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤3具体如下:
根据步骤1给出的决策树总隐私预算e、决策树的层数i、决策树的最大层数dm以及步骤2给出的决策树总隐私预算权重w和各层的隐私预算权重wi,w1~wd为第1层到第d层的隐私预算权重,对决策树各层和各层节点进行隐私预算分配,具体实现步骤如下:
步骤3.1、首先是对各层隐私预算分配:根据步骤3给出的决策树总隐私预算e和总隐私预算权重w,计算单位隐私预算为每层隐私预算为ei=wi*eu=(2/(dm-i+1)),i=1,2…d,e1到ed为决策树各层分配的隐私预算,由于决策树的样本是有放回随机选择的,会有一定的交叉,根据差分隐私序列组合性,消耗的隐私预算为决策树消耗隐私预算的叠加;
步骤3.2、根据步骤3.1给出的决策树各层隐私预算ei,再对每层节点进行隐私预算分配,对于决策树每层节点隐私预算分配:每层节点分为计数查询和属性查询,节点中计数查询所分配的隐私预算ei,1,节点中属性查询所分配的隐私预算为ei,2,决策树第1层到第d-1层节点中的计数查询和属性查询平均分配各层隐私预算:ej,1=ej,2=ej/2,1≤j≤d-1,j∈i,e1,1~ed-1,1是从第1层到d-1层决策树每层节点中计数查询分配的隐私预算,e1,2~ed-1,2是从第1层到d-1层决策树每层节点中属性查询分配的隐私预算,最后一层d层只有计数查询ei,1=ed,ei,2=0,ei,1为决策树d层计数查询分配的隐私预算。
5.根据权利要求4所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤4具体如下:
首先判断决策树是否达到终止条件,节点内所有样本分类结果相同,当前分裂属性集A为空,达到决策树的最大层数dm,若未达到终止条件开始进行决策树构建,根据步骤3给出的决策树各层节点分配的属性查询隐私预算ei,2进行分裂属性选择,然后判断是否有连续属性,若步骤1给出的连续属性数量n=0,直接进行步骤5,若步骤1给出的连续属性数量n>0,先对步骤1中的连续属性集Ar中的n个连续属性进行离散化处理,e'=ei,2/n,e'为连续属性离散化过程中属性需要消耗的隐私预算,连续属性离散化具体实现步骤如下:
步骤4.1、连续属性集Ar中,A1∈Ar,A1是连续属性,对A1通过指数机制,使用CART算法从其分裂点Vsplit选择最佳分裂点V进行离散化处理,Pr为算法GI作用于数据集D′输出的概率,Vsplit为属性A1中的分裂点,V为属性A1的最佳分裂点,GI(D',V)为算法GI作用于最佳分裂点V的可用性函数,GI(D',Vsplit)为算法GI作用于分裂点Vsplit的可用性函数,ΔGI为函数GI(D',Vsplit)的敏感度,将完成离散化的属性A1划入分裂属性集A中;
步骤4.2、依次对连续属性集Ar中的A2,A3,…An通过步骤4.1进行离散化处理,离散化后的属性划入分裂属性集A中,直到所有连续属性完成离散化为止。
7.根据权利要求6所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤5中的F_Max属性度量具体定义如下:假设数据集N={N1,...,Ns},s代表实例的数量,属性集T={L1,…,Lk},k代表属性的数量,类标签集C,c∈C,c=1,2,…,q,q代表数据集中类别的数量,随机从属性集T抽取p个不同属性,组成分裂属性集U=(G1…Gp)∈T,G1到Gp为分裂属性集U中的属性,p为分裂属性集U中属性的个数,对于分裂属性集U中某个属性GP有v个值,其中GP的值的集合为{z1,…,zv},F_Max属性度量为依次计算决策树属性集U中属性GP中各个类计数值与其权重的乘积之和,通过F_Max选出得分最高的分裂属性Go,1≤o≤p,属性度量方法如公式(1)、(2)、(3)所示:
Go=argmaxU(F_Max(D,Go)) (3)
其中,sv代表属性GP的值等于zv的实例的计数,svc代表属性取值zv在类标签c中实例的计数,公式(1)是根据打分函数求依次求出分裂属性集中U中GP的分数,公式(2)是从属性集U中各个属性组成的分数集合中选出得分最高的分裂属性Go的得分,最后再根据公式(3)中的函数,通过Go的得分返回对应属性Go。
8.根据权利要求7所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤6具体如下:
根据步骤4和步骤5构建的差分隐私决策树对测试数据集进行分类预测,输出预测结果。
9.根据权利要求8所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤1中数据集D来自UCI Knowledge Discovery Archive database,是根据人口普查数据预测某个人收入是否超过5万美元/年的adult数据集,adult数据集中包括14个属性:其中6个为连续属性,包括年龄、一个州内观测人数、教育时间、资本收益、资本亏损、每周工作时长;8个为离散属性,包括工作类别、教育程度、婚姻状态、职业、家庭角色、种族、性别、原国籍,根据上述步骤对adult数据集进行处理,由于adult数据集中包含6个连续属性,所以在步骤3完成时需要通过步骤4进行连续属性离散化之后,再通过步骤4和步骤5构建出差分隐私决策树,最后通过步骤6对测试集进行预测。
10.根据权利要求8所述的基于F_Max属性度量的差分隐私决策树构建方法,其特征在于,所述步骤1中数据集D来自UCI Knowledge Discovery Archive database,是蘑菇是否可食用的mushroom数据集,mushroom数据集中包括22个属性:其中22个属性均为离散属性,包括伞盖形状、伞盖表面、伞盖颜色、瘀伤、气味、腮附着、腮刺距、腮大小、腮颜色、茎秆形状、茎秆根、茎秆表面上方环、茎秆表面下方环、茎杆颜色-上环、茎杆颜色-戒指以下、面纱类型、面纱颜色、戒指编号、戒指类型、孢子印刷色、密度、生活环境,根据上述步骤对mushroom数据集进行处理,mushroom数据集只有离散属性,在步骤3完成后在处理时不需要进行步骤4中步骤4.1和步骤4.2对连续属性离散化,可以直接通过步骤4和步骤5构建出差分隐私决策树,最后通过步骤6对测试集进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110440934.7A CN113221966A (zh) | 2021-04-23 | 2021-04-23 | 基于F_Max属性度量的差分隐私决策树构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110440934.7A CN113221966A (zh) | 2021-04-23 | 2021-04-23 | 基于F_Max属性度量的差分隐私决策树构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113221966A true CN113221966A (zh) | 2021-08-06 |
Family
ID=77088512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110440934.7A Pending CN113221966A (zh) | 2021-04-23 | 2021-04-23 | 基于F_Max属性度量的差分隐私决策树构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221966A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118601A (zh) * | 2021-12-02 | 2022-03-01 | 安徽大学 | 一种基于差分隐私保护的随机森林车流预测方法 |
-
2021
- 2021-04-23 CN CN202110440934.7A patent/CN113221966A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118601A (zh) * | 2021-12-02 | 2022-03-01 | 安徽大学 | 一种基于差分隐私保护的随机森林车流预测方法 |
CN114118601B (zh) * | 2021-12-02 | 2024-02-13 | 安徽大学 | 一种基于差分隐私保护的随机森林车流预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021189729A1 (zh) | 复杂关系网络的信息分析方法、装置、设备及存储介质 | |
KR102629553B1 (ko) | 기계 학습 모델을 사용하여 편향된 데이터 거절 | |
KR20210028724A (ko) | 기계 학습 모델을 이용한 편향 데이터 제거 | |
CN112001788B (zh) | 一种基于rf-dbscan算法的信用卡违约欺诈识别方法 | |
CN108090216A (zh) | 一种标签预测方法、装置及存储介质 | |
KR20230142754A (ko) | 모델 교차들을 이용한 문서 분석 | |
CN114092729A (zh) | 基于聚类匿名化与差分隐私保护的异构用电数据发布方法 | |
Liu et al. | Comparison of tree-based feature selection algorithms on biological omics dataset | |
CN109583712B (zh) | 一种数据指标分析方法及装置、存储介质 | |
CN113221966A (zh) | 基于F_Max属性度量的差分隐私决策树构建方法 | |
CN113901705A (zh) | 一种火灾风险评估方法、装置、终端设备及存储介质 | |
Yi-bin et al. | Improvement of ID3 algorithm based on simplified information entropy and coordination degree | |
Li et al. | Customer Churn Combination Prediction Model Based on Convolutional Neural Network and Gradient Boosting Decision Tree | |
CN114282875A (zh) | 流程审批确定性规则和语义自学习结合判定方法及装置 | |
CN116933130A (zh) | 一种基于大数据的企业行业分类方法、系统、设备及介质 | |
CN111488903A (zh) | 基于特征权重的决策树特征选择方法 | |
CN111221704B (zh) | 一种确定办公管理应用系统运行状态的方法及系统 | |
Marwah et al. | Lung Cancer Survivability prediction with Recursive Feature Elimination using Random Forest and Ensemble Classifiers | |
Rong et al. | Exploring network behavior using cluster analysis | |
Berns et al. | Local gaussian process model inference classification for time series data | |
Zhang et al. | A Weighted KNN Algorithm Based on Entropy Method | |
CN112632990B (zh) | 一种标签的获取方法、装置、设备及可读存储介质 | |
CN118069851B (zh) | 一种智能文献信息智能分类检索方法及系统 | |
CN111581164B (zh) | 多媒体文件处理方法、装置、服务器及存储介质 | |
CN114817977B (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 |