CN111967514A - 一种基于数据打包的隐私保护决策树的样本分类方法 - Google Patents
一种基于数据打包的隐私保护决策树的样本分类方法 Download PDFInfo
- Publication number
- CN111967514A CN111967514A CN202010817497.1A CN202010817497A CN111967514A CN 111967514 A CN111967514 A CN 111967514A CN 202010817497 A CN202010817497 A CN 202010817497A CN 111967514 A CN111967514 A CN 111967514A
- Authority
- CN
- China
- Prior art keywords
- participant
- attribute
- samples
- sample
- decision tree
- 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.)
- Granted
Links
- 238000003066 decision tree Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004806 packaging method and process Methods 0.000 title claims abstract description 13
- 238000012549 training Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 5
- 238000012536 packaging technology Methods 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000012856 packing Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- 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/602—Providing cryptographic facilities or services
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于数据打包的隐私保护决策树的样本分类方法,该方法应用于由n个拥有数据的参与方,两个服务器组成的网络环境中,并包括以下步骤:S1、初始化阶段;S2、参与方发送加密数据阶段;S3、服务器处理加密数据阶段;S4、训练决策树并进行样本分类阶段。本发明应用于多个参与方,允许客户端在自己的密钥下加密他们的数据,并利用数据打包技术有效地减少系统的计算开销和通信开销,从而有效解决决策树的样本分类过程中的隐私保护问题,提高在本地训练好的决策树模型下对样本进行分类的安全性。
Description
技术领域
本发明属于网络与信息安全技术领域,尤其涉及一种基于数据打包的隐私保护决策树的样本分类方法。
背景技术
近年来,机器学习技术已被广泛应用于许多实际应用中,这些技术的发展导致了海量数据的产生,而这些数据往往分布在不同的站点上,这多个站点想要在不透露自身数据的前提下在它们的数据联合上进行数据挖掘。比如,多家机构或公司分别拥有各自的本地样本集,这些机构想要在不公开本地数据的前提下共同训练出一个决策树模型,并根据该模型对本地的测试样本进行分类。于是,许多组织和公司考虑利用云服务器来训练模型并进行样本分类,这要求这些机构把数据外包给云服务器。然而,考虑到各种隐私问题的出现,敏感数据(如医疗记录)需要在外包到云服务器之前进行加密,由云来对加密数据进行处理并训练决策树模型。但是,这样训练出来的模型就是云的资产,用户在拥有新的测试样本集时,需要向云支付一定费用来对测试样本集进行评估和分类。
为了解决上述问题,文献[Privacy preserving decision tree learning overmultiple parties,2007]中提出了一种新的基于ID3算法和Shamir的秘密共享的分布式隐私保护决策树学习算法,目标是以隐私保护的方式在任意数量的参与方之间上构建决策树,而不需要云的参与。但是,这种方法需要参与方进行大量的交互,且在参与方规模较大的情况下,会造成很大的计算开销和通信开销。
发明内容
本发明为克服现有技术的不足之处,提供一种基于数据打包的隐私保护决策树的样本分类方法,以期能解决当前样本分类过程中的隐私保护问题,在用户非交互的环境下提高样本分类的安全性,同时利用数据打包技术有效地减少用户和服务器之间的计算开销和通信开销。
本发明为解决技术问题采用如下方案:
本发明一种基于数据打包的隐私保护决策树的样本分类方法的特点是应用于由n个参与方{P1,P2,...,Pi,...,Pn},一个主服务器C,一个从服务器S以及BCP系统组成的网络环境中;其中,Pi表示第i个参与方;所述第i个参与方Pi的本地样本集记为Ti,则n个参与方的本地样本集记为T,1≤i≤n;所述第i个参与方Pi的本地样本集Ti拥有s个属性,记为{Ai,1,Ai,2,...,Ai,j,...,Ai,s},其中,Ai,j表示本地样本集Ti的第j个属性;1≤j≤s;所述第j个属性Ai,j拥有t个可能的取值{ai,j,1,ai,j,2,...,ai,j,y,...,ai,j,t};其中,ai,j,y表示所述第j个属性Ai,j的第y个取值;1≤y≤t;所述第i个参与方Pi的本地样本集Ti拥有k个类标签,记为{ci,1,ci,2,...,ci,x,...,ci,k},其中,ci,x表示所述本地样本集Ti的第x个类标签;1≤x≤k;所述样本分类方法包括以下步骤:
步骤S1、初始化阶段:
所述从服务器S初始化BCP系统的设置阶段,并生成网络环境的公共参数PP,并将所述公共参数PP发送给所述主服务器C,所述主服务器C将公共参数PP发送给各个参与方,其中,所述第i个参与方Pi利用所述公共参数PP生成本地公私钥对(pki,ski);
步骤S2、参与方发送加密数据阶段:
步骤S2.1、第i个参与方Pi统计属性为ai,j,y的样本数|Ti(ai,j,y)|,以及属性为ai,j,y、类标签为ci,x的样本数|Ti(ai,j,y,ci,x)|;从而统计第j个属性Ai,j的所有t个取值的样本数{|Ti(ai,j,y)||y=1,2,…,t}以及第j个属性Ai,j的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||y=1,2,…,t;x=1,2,…,k};进而得到所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k};
步骤S2.2、数据打包:
第i个参与方Pi将样本数|Ti(ai,j,y)|和|Ti(ai,j,y,ci,x)|的位数均设置为NB,令BCP系统的明文空间为N,将所述明文空间N按照NB+L的位数均分为个样本数的存储空间,其中n为参与方总人数;
根据所述第i个参与方Pi的本地样本集Ti的s个属性对所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k}进行分类,从而得到不同属性下的各个样本数,并将每个属性下的所有样本数进行数据打包,从而得到第i个参与方Pi打包后的数据mi';
步骤S2.3、第i个参与方Pi加密打包后的数据mi'后得到密文(Ai,Bi),并和步骤S1生成的公钥pki一起发送给主服务器C;
步骤S3、服务器处理加密数据阶段:
步骤S3.2、所述主服务器C与所述从服务器S合作,将所述密文(Ai,Bi)转换为统一公钥Prod.pk加密的密文(A′i,B′i);
步骤S4、训练决策树并进行样本分类阶段:
步骤S4.1、第i个参与方Pi用自己的私钥ski解密密文并得到明文,第i个参与方Pi按每NB+1位从明文中提取相应样本数,从而得到n个参与方的属性为ai,j,y的样本数之和|T(aj,y)|,以及n个参与方的属性为ai,j,y、类标签为ci,x的样本数之和|T(aj,y,cx)|;
步骤S4.2、第i个参与方Pi根据式(2)得到属性Ai,j的条件熵E(T|Ai,j),并选择最小条件熵对应的属性作为当前根节点,从而由所述当前根节点的不同值建立决策树的分支;
式(2)中,|T|表示n个参与方的本地样本集T的总样本数;
步骤S4.3、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最后得到一颗训练好的决策树模型,并用于样本分类。
与现有技术相比,本发明的有益效果在于:
1、本发明应用于多个参与方之间合作进行隐私保护决策树的样本分类的场景中,与大部分的研究不同,参与方外包给服务器的不是本地加密的训练数据集,而是对某些属性或类别的加密样本数,服务器对这些加密样本数进行处理并返回给参与方,参与方可以根据返回的结果在本地训练决策树模型,这样模型只对参与方已知,属于他们自己的资产,从而在拥有新的测试样本时,参与方可以在本地对其进行分类和评估,而不需要向云支付一定费用来对测试样本进行分类和评估;
2、本发明基于BCP同态加密系统实现了多密钥下的外包计算,参与方可以利用自己的公私钥对数据进行加解密,从而减少了参与方与服务器之间的通信开销,并完成不同公钥加密的密文之间的计算;
3、本发明利用数据打包技术在参与方加密数据之前将几个样本数以紧凑的方式打包,有效地利用BCP同态加密系统的消息空间,该空间比要比加密的数据大得多,由此提高了隐私保护决策树训练的效率,减少了同态加密的通信和计算成本。
附图说明
图1为本发明隐私保护决策树样本分类方法的应用场景示意图;
图2为本发明隐私保护决策树样本分类方法的主要实施步骤流程图;
图3为本发明隐私保护决策树样本分类方法的一次划分最优属性的决策树模型图;
图4为本发明隐私保护决策树样本分类方法的二次划分最优属性的决策树模型图。
具体实施方式
本实施例中,如图1所示,一种基于数据打包的隐私保护决策树的样本分类方法,是应用于由n个参与方{P1,P2,...,Pi,...,Pn},一个主服务器C,一个从服务器S以及BCP系统组成的网络环境中;其中,Pi表示第i个参与方;第i个参与方Pi的本地样本集记为Ti,则n个参与方的本地样本集记为T,1≤i≤n;第i个参与方Pi的本地样本集Ti拥有s个属性,记为{Ai,1,Ai,2,...,Ai,j,...,Ai,s},其中,Ai,j表示本地样本集Ti的第j个属性;1≤j≤s;第j个属性Ai,j拥有t个可能的取值{ai,j,1,ai,j,2,...,ai,j,y,...,ai,j,t};其中,ai,j,y表示第j个属性Ai,j的第y个取值;1≤y≤t;第i个参与方Pi的本地样本集Ti拥有k个类标签,记为{ci,1,ci,2,...,ci,x,...,ci,k},其中,ci,x表示本地样本集Ti的第x个类标签;1≤x≤k;
现实生活中,多个参与方(如:多个机构或公司)分别拥有各自的天气样本集,这些参与方想要在不公开天气数据的前提下共同训练出一个决策树模型,并根据该模型对未来的天气状况是否适合出去游玩进行分类;
假设参与方数量为3,第i个参与方Pi的本地样本集Ti中均拥有4个属性,分别是{“Outlook”,“Temperature”,“Humidity”,“Windy”},第i个参与方Pi的本地样本集Ti中的类标签Play有2个取值{“Yes”,“No”};属性Outlook有3个取值{“Sunny”,“Overcast”,“Rainy”},属性Temperature有3个取值{“Hot”,“Mild”,“Cool”},属性Humidity有2个取值{“High”,“Normal”},属性Windy有2个取值{“Weak”,“Strong”};如图2所示,该样本分类方法包括以下步骤:
步骤S1、初始化阶段:
从服务器S初始化BCP系统的设置阶段并生成网络环境的公共参数PP,并将公共参数PP发送给服务器C,服务器C将公共参数PP发送给各个参与方,其中,第i个参与方Pi利用公共参数PP生成本地公私钥对(pki,ski);BCP系统可参考文献[A SimplePublic-KeyCryptosystemwithaDouble TrapdoorDecryptionMechanismandItsApplications,2003];
步骤S1.1、BCP系统的设置阶段Setup(λ):
λ为系统的安全参数,选择一个λ位长度的安全模数N=p·q,其中,p满足p=2p'+1,q满足q=2q'+1,并且p'和q'是两个不同的素数;
生成系统公共参数PP=(N,λ,g),主密钥MK=(p',q');
从服务器S将生成的公共参数发送给主服务器C;
步骤S1.2、主服务器C将公共参数PP发送给各个参与方;
步骤S1.3、第i个参与方Pi利用公共参数PP生成公私钥对:
输出参与方Pi的私钥ski=a,和公钥pki=h;
步骤S2、参与方发送加密数据阶段,三个参与方的训练集如表1、表2和表3所示:
表1参与方P1天气训练集;
表2参与方P2天气训练集;
表3参与方P3天气训练集;
步骤S2.1、第i个参与方Pi统计属性为ai,j,y的样本数|Ti(ai,j,y)|,以及属性为ai,j,y、类标签为ci,x的样本数|Ti(ai,j,y,ci,x)|;从而统计第j个属性Ai,j的所有t个取值的样本数{|Ti(ai,j,y)||y=1,2,…,t}以及第j个属性Ai,j的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||y=1,2,…,t;x=1,2,…,k};进而得到本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k};ao
以属性“Outlook”为例,参与方P1计算|T(Sunny)|=3,|T(Rainy)|=2,|T(Overcast)|=3,|T(Sunny,Yes)|=1,|T(Sunny,No)|=2,|T(Rainy,Yes)|=1,|T(Rainy,No)|=1,|T(Overcast,Yes)|=3,|T(Overcast,No)|=0;参与方P2计算|T(Sunny)|=3,|T(Rainy)|=3,|T(Overcast)|=2,|T(Sunny,Yes)|=1,|T(Sunny,No)|=2,|T(Rainy,Yes)|=2,|T(Rainy,No)|=1,|T(Overcast,Yes)|=2,|T(Overcast,No)|=0;参与方P3计算|T(Sunny)|=2,|T(Rainy)|=3,|T(Overcast)|=3,|T(Sunny,Yes)|=1,|T(Sunny,No)|=1,|T(Rainy,Yes)|=2,|T(Rainy,No)|=1,|T(Overcast,Yes)|=1,|T(Overcast,No)|=2;
步骤S2.2、数据打包:
第i个参与方Pi将样本数|Ti(ai,j,y)|和|Ti(ai,j,y,ci,x)|的位数均设置为NB,令BCP系统的明文空间为N,将明文空间N按照NB+L的位数均分为个样本数的存储空间,其中n为参与方人数;假设N=1024,则明文空间可以存放个样本数;
根据第i个参与方Pi的本地样本集Ti的s个属性对本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k}进行分类,从而得到不同属性下的各个样本数,并将每个属性下的所有样本数进行数据打包,从而得到第i个参与方Pi打包后的数据mi';
以属性“Outlook”为例,参与方将|T(Sunny)|,|T(Rainy)|,|T(Overcast)|,|T(Sunny,Yes)|,|T(Sunny,No)|,|T(Rainy,Yes)|,|T(Rainy,No)|,|T(Overcast,Yes)|,|T(Overcast,No)|打包到一个明文空间中;参与方有4个属性,这样就有4个打包好的数据;
步骤S2.3、第i个参与方Pi加密打包后的数据mi'得到(Ai,Bi),并和步骤S1生成的公钥pki一起发送给主服务器C:
第i个参与方Pi根据自己的公私钥对(pki,ski),从ZN2随机选择一个整数r,对mi'进行加密,利用式(1)得到密文(Ai,Bi):
Ai=grmodN2,Bi=hr(1+mi'N)modN2 (1)
步骤S3、服务器处理加密数据阶段:
步骤S3.2、主服务器C与从服务器S合作,在不改变底层明文的前提下把第i个参与方Pi的公钥pki加密的密文转换为统一公钥Prod.pk加密的密文(Ai',Bi'):
步骤S3.2.1、主服务器C将一个随机消息τi用第i个参与方的公钥pki加密得到对(Ai,Bi)和运行Add算法得到Add算法满足BCP系统中的加同态性质:其中m1、m2为在明文域内任意选取的两个明文;
步骤S3.2.2、主服务器C将(pki,(Ci,Di))发送给从服务器S;
步骤S3.2.3、从服务器S按照步骤S3.1计算统一公钥Prod.pk;
步骤S3.2.5、从服务器S用统一公钥Prod.pk对解密结果zi进行重加密,得到加密结果(Wi,Zi)=EncProd.pk(Ci,Di);
步骤S3.2.6、从服务器S将(Wi,Zi)发送给主服务器C;
步骤S3.2.7、利用步骤S3.2.1中的随机消息τi,主服务器C对(Wi,Zi)和EncProd.pk(-τi)运行Add算法得到(Ai',Bi')=Add((Wi,Zi),EncProd.pk(-τi));
步骤S3.4.2、主服务器C将(C,D)发送给从服务器S;
步骤S3.4.3、从服务器S利用主密钥MK解密(C,D)得到解密结果z=mDec(Prod.pk,MK)(C,D);
步骤S3.4.5、从服务器S将(Wi,Zi)发送给主服务器C;
步骤S4、训练决策树并进行样本分类阶段:
步骤S4.1、第i个参与方Pi用自己的私钥ski解密密文并得到明文,第i个参与方Pi按每NB+1位从明文中提取相应样本数,从而得到n个参与方的属性为ai,j,y的样本数之和|T(aj,y)|,以及n个参与方的属性为ai,j,y、类标签为ci,x的样本数之和|T(aj,y,cx)|;
第i个参与方Pi解密得到样本数之和:
属性“Outlook”下的样本数之和:|T(Sunny)|=8,|T(Rainy)|=8,|T(Overcast)|=8,|T(Sunny,Yes)|=3,|T(Sunny,No)|=5,|T(Rainy,Yes)|=5,|T(Rainy,No)|=3,|T(Overcast,Yes)|=6,|T(Overcast,No)|=2;
属性“Temperature”下的样本数之和:|T(Hot)|=7,|T(Mild)|=10,|T(Cool)|=7,|T(Hot,Yes)|=5,|T(Hot,No)|=2,|T(Mild,Yes)|=4,|T(Mild,No)|=6,|T(Cool,Yes)|=5,|T(Cool,No)|=2;
属性“Humidity”下的样本数之和:|T(High)|=17,|T(Normal)|=7,|T(High,Yes)|=8,|T(High,No)|=9,|T(Normal,Yes)|=6,|T(Normal,No)|=1;
属性“Windy”下的样本数之和:|T(Weak)|=17,|T(Strong)|=7,|T(Weak,Yes)|=12,|T(Weak,No)|=5,|T(Strong,Yes)|=2,|T(Strong,No)|=5
步骤S4.2、第i个参与方Pi根据式(3)得到属性Ai,j的条件熵E(T|Ai,j),并选择最小条件熵对应的属性作为当前根节点,从而由当前根节点的不同值建立决策树的分支;
式(3)中,|T|表示n个参与方的本地样本集T的总样本数;
根据式(3),计算E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.9067;
属性“Temperature”的条件熵:E(T|Ai,2)≈0.7667;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.8791;
属性“Windy”的条件熵:E(T|Ai,4)≈0.8708;
属性“Temperature”的条件熵最小,由此选择属性“Temperature”作为根节点,并为它的不同取值建立分支,如图3所示;
步骤S4.3、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最后得到一颗训练好的决策树模型,并用于样本分类。
步骤S4.3.1、第i个参与方Pi对属性“Temperature”作为根节点的各个分支对应的样本集选择最佳属性;
在分支“Hot”下计算其余属性的条件熵E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.5714;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.5714;
属性“Windy”的条件熵:E(T|Ai,4)≈0.5571;
属性“Windy”的条件熵最小,由此选择属性“Windy”作为分支“Hot”下的根节点;
在分支“Mild”下计算其余属性的条件熵E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.8855;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.8265;
属性“Windy”的条件熵:E(T|Ai,4)≈0.6897;
属性“Windy”的条件熵最小,由此选择属性“Windy”作为分支“Mild”下的根节点;
在分支“Cool”下计算其余属性的条件熵E(T|Ai,j):
属性“Outlook”的条件熵:E(T|Ai,1)≈0.7871;
属性“Humidity”的条件熵:E(T|Ai,3)≈0.8571;
属性“Windy”的条件熵:E(T|Ai,4)≈0.8571;
属性“Outlook”的条件熵最小,由此选择属性“Outlook”作为分支“Cool”下的根节点;
为选择的根节点下的不同取值建立分支,得到二次划分最优属性后的决策树模型图,如图4所示;
步骤S4.3.2、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最终得到一颗训练好的决策树模型;
步骤S4.3.3、第i个参与方Pi本地拥有一条测试样本,根据训练好的模型,将相应的属性与决策树的结点比对,可以得到该测试样本的最终分类结果。
Claims (1)
1.一种基于数据打包的隐私保护决策树的样本分类方法,其特征是应用于由n个参与方{P1,P2,...,Pi,...,Pn},一个主服务器C,一个从服务器S以及BCP系统组成的网络环境中;其中,Pi表示第i个参与方;所述第i个参与方Pi的本地样本集记为Ti,则n个参与方的本地样本集记为T,1≤i≤n;所述第i个参与方Pi的本地样本集Ti拥有s个属性,记为{Ai,1,Ai,2,...,Ai,j,...,Ai,s},其中,Ai,j表示本地样本集Ti的第j个属性;1≤j≤s;所述第j个属性Ai,j拥有t个可能的取值{ai,j,1,ai,j,2,...,ai,j,y,...,ai,j,t};其中,ai,j,y表示所述第j个属性Ai,j的第y个取值;1≤y≤t;所述第i个参与方Pi的本地样本集Ti拥有k个类标签,记为{ci,1,ci,2,...,ci,x,...,ci,k},其中,ci,x表示所述本地样本集Ti的第x个类标签;1≤x≤k;所述样本分类方法包括以下步骤:
步骤S1、初始化阶段:
所述从服务器S初始化BCP系统的设置阶段,并生成网络环境的公共参数PP,并将所述公共参数PP发送给所述主服务器C,所述主服务器C将公共参数PP发送给各个参与方,其中,所述第i个参与方Pi利用所述公共参数PP生成本地公私钥对(pki,ski);
步骤S2、参与方发送加密数据阶段:
步骤S2.1、第i个参与方Pi统计属性为ai,j,y的样本数|Ti(ai,j,y)|,以及属性为ai,j,y、类标签为ci,x的样本数|Ti(ai,j,y,ci,x)|;从而统计第j个属性Ai,j的所有t个取值的样本数{|Ti(ai,j,y)||y=1,2,…,t}以及第j个属性Ai,j的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||y=1,2,…,t;x=1,2,…,k};进而得到所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k};
步骤S2.2、数据打包:
第i个参与方Pi将样本数|Ti(ai,j,y)|和|Ti(ai,j,y,ci,x)|的位数均设置为NB,令BCP系统的明文空间为N,将所述明文空间N按照NB+L的位数均分为个样本数的存储空间,其中n为参与方总人数;
根据所述第i个参与方Pi的本地样本集Ti的s个属性对所述本地样本集Ti的s个属性的所有t个取值的样本数{|Ti(ai,j,y)||j=1,2,…,s;y=1,2,…,t}以及所述本地样本集Ti的s个属性的t个取值分别与k个类标签的样本数{|Ti(ai,j,y,ci,x)||j=1,2,…,s;y=1,2,…,t;x=1,2,…,k}进行分类,从而得到不同属性下的各个样本数,并将每个属性下的所有样本数进行数据打包,从而得到第i个参与方Pi打包后的数据mi';
步骤S2.3、第i个参与方Pi加密打包后的数据mi'后得到密文(Ai,Bi),并和步骤S1生成的公钥pki一起发送给主服务器C;
步骤S3、服务器处理加密数据阶段:
步骤S3.2、所述主服务器C与所述从服务器S合作,将所述密文(Ai,Bi)转换为统一公钥Prod.pk加密的密文(A′i,B′i);
步骤S4、训练决策树并进行样本分类阶段:
步骤S4.1、第i个参与方Pi用自己的私钥ski解密密文并得到明文,第i个参与方Pi按每NB+1位从明文中提取相应样本数,从而得到n个参与方的属性为ai,j,y的样本数之和|T(aj,y)|,以及n个参与方的属性为ai,j,y、类标签为ci,x的样本数之和|T(aj,y,cx)|;
步骤S4.2、第i个参与方Pi根据式(2)得到属性Ai,j的条件熵E(T|Ai,j),并选择最小条件熵对应的属性作为当前根节点,从而由所述当前根节点的不同值建立决策树的分支;
式(2)中,|T|表示n个参与方的本地样本集T的总样本数;
步骤S4.3、第i个参与方Pi对当前树结点的各个分支对应的样本集递归调用步骤S2、S3、S4,从而建立决策树结点的分支,直到所有分支对应的样本集仅包含同一类别的样本数为止,最后得到一颗训练好的决策树模型,并用于样本分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817497.1A CN111967514B (zh) | 2020-08-14 | 2020-08-14 | 一种基于数据打包的隐私保护决策树的样本分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010817497.1A CN111967514B (zh) | 2020-08-14 | 2020-08-14 | 一种基于数据打包的隐私保护决策树的样本分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111967514A true CN111967514A (zh) | 2020-11-20 |
CN111967514B CN111967514B (zh) | 2023-11-17 |
Family
ID=73364848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010817497.1A Active CN111967514B (zh) | 2020-08-14 | 2020-08-14 | 一种基于数据打包的隐私保护决策树的样本分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967514B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819058A (zh) * | 2021-01-26 | 2021-05-18 | 武汉理工大学 | 一种具有隐私保护属性的分布式随机森林评估系统与方法 |
CN112906715A (zh) * | 2021-02-19 | 2021-06-04 | 电子科技大学 | 一种基于深度神经网络的安全图像特征提取与分类方法 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
CN115021900A (zh) * | 2022-05-11 | 2022-09-06 | 电子科技大学 | 分布式梯度提升决策树实现全面隐私保护的方法 |
CN115587139A (zh) * | 2022-11-03 | 2023-01-10 | 国网江苏省电力有限公司营销服务中心 | 一种基于同态加密的分布式隐私保护分类方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145593A1 (en) * | 2009-12-15 | 2011-06-16 | Microsoft Corporation | Verifiable trust for data through wrapper composition |
WO2018045568A1 (zh) * | 2016-09-09 | 2018-03-15 | 深圳大学 | 一种面向云存储服务平台的访问控制方法及其系统 |
CN110008717A (zh) * | 2019-02-26 | 2019-07-12 | 东北大学 | 支持隐私保护的决策树分类服务系统及方法 |
CN110611694A (zh) * | 2019-04-29 | 2019-12-24 | 杭州恒昱文化艺术策划有限公司 | 一种基于虚拟化主从容器的数据处理中心 |
-
2020
- 2020-08-14 CN CN202010817497.1A patent/CN111967514B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145593A1 (en) * | 2009-12-15 | 2011-06-16 | Microsoft Corporation | Verifiable trust for data through wrapper composition |
WO2018045568A1 (zh) * | 2016-09-09 | 2018-03-15 | 深圳大学 | 一种面向云存储服务平台的访问控制方法及其系统 |
CN110008717A (zh) * | 2019-02-26 | 2019-07-12 | 东北大学 | 支持隐私保护的决策树分类服务系统及方法 |
CN110611694A (zh) * | 2019-04-29 | 2019-12-24 | 杭州恒昱文化艺术策划有限公司 | 一种基于虚拟化主从容器的数据处理中心 |
Non-Patent Citations (2)
Title |
---|
于升峰;赵霞;孙彦琛;王静;: "网络用法挖掘的相关技术研究", 情报杂志, no. 05 * |
周李威;王丽珍;张成君;朱玉全;: "基于全同态加密的决策树构造方法", 信息技术, no. 10 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819058A (zh) * | 2021-01-26 | 2021-05-18 | 武汉理工大学 | 一种具有隐私保护属性的分布式随机森林评估系统与方法 |
CN112819058B (zh) * | 2021-01-26 | 2022-06-07 | 武汉理工大学 | 一种具有隐私保护属性的分布式随机森林评估系统与方法 |
CN112906715A (zh) * | 2021-02-19 | 2021-06-04 | 电子科技大学 | 一种基于深度神经网络的安全图像特征提取与分类方法 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
CN115021900A (zh) * | 2022-05-11 | 2022-09-06 | 电子科技大学 | 分布式梯度提升决策树实现全面隐私保护的方法 |
CN115021900B (zh) * | 2022-05-11 | 2024-05-03 | 电子科技大学 | 分布式梯度提升决策树实现全面隐私保护的方法 |
CN115587139A (zh) * | 2022-11-03 | 2023-01-10 | 国网江苏省电力有限公司营销服务中心 | 一种基于同态加密的分布式隐私保护分类方法及系统 |
CN115587139B (zh) * | 2022-11-03 | 2024-03-22 | 国网江苏省电力有限公司营销服务中心 | 一种基于同态加密的分布式隐私保护分类方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111967514B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967514B (zh) | 一种基于数据打包的隐私保护决策树的样本分类方法 | |
Ning et al. | White-box traceable CP-ABE for cloud storage service: How to catch people leaking their access credentials effectively | |
Freedman et al. | Keyword search and oblivious pseudorandom functions | |
EP2228942B1 (en) | Securing communications sent by a first user to a second user | |
Hussain et al. | Image encryption algorithm based on PGL (2, GF (2 8)) S-boxes and TD-ERCS chaotic sequence | |
CN111143471B (zh) | 一种基于区块链的密文检索方法 | |
CN111431897B (zh) | 用于云协助物联网的带追踪的多属性机构属性基加密方法 | |
CN108718231A (zh) | 一种全同态加密方法、装置和计算机可读存储介质 | |
Abusukhon et al. | New direction of cryptography: A review on text-to-image encryption algorithms based on RGB color value | |
CN101807991A (zh) | 密文政策属性基加密系统和方法 | |
CN112383388B (zh) | 一种基于云计算大数据的双秘钥加密系统及方法 | |
JPH07181892A (ja) | 暗号鍵共有方法及びその装置 | |
CN112183767A (zh) | 一种多密钥下模型聚合的联邦学习方法及相关设备 | |
US8977855B2 (en) | Secure function evaluation between semi-honest parties | |
US20040037424A1 (en) | Information distribution and processing | |
CN116467736A (zh) | 一种可验证的隐私保护联邦学习方法及系统 | |
Bian et al. | Data integrity audit based on data blinding for cloud and fog environment | |
Zhou et al. | AntNest: Fully non-interactive secure multi-party computation | |
CN113630250A (zh) | 基于数据加密的模型训练方法及系统 | |
CN116633529B (zh) | 采用派生密钥增强白盒sm4密码算法的方法及设备 | |
CN106612173A (zh) | 云存储中一种可信任密钥的加密方案 | |
Han et al. | Vector Sum Range Decision for Verifiable Multiuser Fuzzy Keyword Search in Cloud-Assisted IoT | |
Gorbenko et al. | Analysis of asymmetric NTRU prime IIT Ukraine encryption algorithm with regards to known attacks | |
Nagaraju et al. | Key-cipher policy attribute-based encryption mechanism for access control of multimedia data in cloud storages | |
CN110321722A (zh) | Dna序列相似率安全计算方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |