一种基于ML-kNN的保护隐私的多标记分类方法技术

技术编号:18119180 阅读:49 留言:0更新日期:2018-06-03 10:56
本发明专利技术提供一种基于ML‑kNN的保护隐私的多标记分类方法,属于信息安全领域。本发明专利技术通过采用同态加密系统和安全点积协议等方法,使得多标记分类服务器可以在对用户的未分类样本进行正确分类的同时,保护用户和服务器双方的隐私信息,保证双方数据的安全。本方法适用于用户和服务器之间相互缺乏信任的环境下的多标记分类查询任务,为本技术领域的进步拓展了空间,具有实用效果。

A privacy preserving multi label classification method based on ML-kNN

The invention provides a multi label classification method for privacy protection based on ML kNN, which belongs to the field of information security. By using the homomorphic encryption system and the secure point product protocol, the multi label classification server can protect the users' and server 's privacy information and ensure the security of both parties' data, while the unclassified samples are correctly classified. This method is suitable for multi label classification and query task in the environment of lack of trust between the user and the server. It expands the space for the progress of the technical field, and has practical effect.

【技术实现步骤摘要】
一种基于ML-kNN的保护隐私的多标记分类方法
本专利技术属于信息安全
,具体涉及一种基于ML-kNN(Multi-Labelk-NearestNeighbor)的保护隐私的多标记分类方法。
技术介绍
多标记学习(multi-labellearning)是机器学习的一个重要研究领域,在多标记学习中,每一个训练样本都被赋予由一组类别标记组成的标记子集来表示其多种语义信息。而学习的任务为给未见的样本预测出所有相关的类别标记。针对多标记学习任务,近些年已经发展出了多种解决此类任务的方法。文献[Min-LingZhang,Zhi-HuaZhou,“ML-kNN;Alazylearningapproachtomulti-labellearning”,2007]提出一种基于k近邻算法改造的多标记学习算法。该算法基本思想是先根据未分类样本的特征信息找出样本的k个最近邻,然后基于这些近邻样本的标记信息,以最大化后验概率的准则来预测其相关标记。但是,该方法并没有考虑保护隐私的问题。如果分类模型和训练数据集是服务器的私有信息,未分类样本是用户的私有信息,则在分类时,服务器需要完全知道未分类样本的特征信息,才能根据特征信息找到样本的k近邻,同时服务器还会知道用户的未分类样本的最终分类结果。这些都不适用于当服务器和用户相互之间不可信环境下的多标记分类任务,将会泄漏双方的隐私信息。因此,该方案的应用范围具有一定的局限性。下面介绍本专利涉及的背景知识:(1)多标记学习;(2)ML-kNN方案;(3)Paillier同态加密系统;(4)安全计算协议;(5)形式化安全和攻击者模型。(1)多标记学习假设用表示样本的特征空间,Y={y1,y2,…,yq}表示有q个不同类别组成de标记空间,给定一个包含m个训练样本的多标记训练数据集D={(x1,y1),(x2,y2),…,(xm,ym)},其中xi={xi1,xi2,…,xid}是第i个训练样本,yi是样本xi的相关标记集合。为了更加清晰的表述,用向量表示样本xi的标记向量,其中若样本xi与标记yj相关,则yij=+1,否则yij=-1。则多标记学习的目标就是输出一个多标记分类器h,可以用来预测未见样本xi的相关标记(2)ML-kNN方案ML-kNN(Multi-Labelk-NearestNeighbor)是一个基于经典的k近邻算法改造的适应于多标记学习的算法,拥有优异的多标记分类能力。ML-kNN的基本思想是根据样本的k近邻的相关标记分布情况来预测未分类样本的相关标记。给定一个未分类样本,ML-kNN算法先确定在训练数据集中该样本的k个最近邻,然后统计k近邻中的标记集合,再基于统计信息利用最大化后验概率准则来预测未分类样本的标记集合。假设用表示样本的特征空间,Y={y1,y2,…,yq}表示有q个不同类别组成的标记空间,给定一个包含m个训练样本的多标记训练数据集T={(x1,y1),(x2,y2),…,(xm,ym)},其中xi={xi1,xi2,…,xid}是第i个训练样本,yi是样本xi的相关标记集合。为了方便,用向量表示样本xi的标记向量,其中若样本xi与标记yj相关,则yij=1,否则yij=0。用Nx表示样本x在训练数据集中的k个最近邻的集合,ML-kNN计算如下值:这里的是统计在样本x的k近邻中具体有多少个邻居与标记l相关。给定一个未分类样本t,为了对其进行分类,即预测其是否与标记l∈Y相关,ML-kNN先通过计算t与训练数据集T中每个样本之间的距离,找出k个最近邻。用表示样本t与标记l相关这一事件,用表示样本t与标记l不相关这一事件,用表示在t的k近邻中有j个邻居与标记l相关这一事件。ML-kNN利用以下最大化后验概率准则来预测样本t是否与标记l相关:根据贝叶斯法则,上述概率又可以被改写为:则可以看出为了得到分类结果,需要得到先验概率和后验概率为此,ML-kNN定义先验概率如下:其中,s是一个平滑参数,在ML-kNN设置其值为1从而产生拉普拉斯平滑。再通过计算训练样本数据集中两两样本之间的距离,找到每个训练样本xi在数据集中的k个最近邻并计算得到之后ML-kNN定义并计算后验概率如下:其中,j∈{0,1,…,k},c(j)统计所有训练样本中共有多少个样本与标记l相关并且c′(j)统计所有训练样本中共有多少个样本与标记l不相关并且所有的先验概率和后验概率都可以根据训练数据集T提前计算得出。当需要判断一个样本t是否与标记l∈Y相关时,只需找出样本t在训练数据集T的k个最近邻,得到Nt,进而得到则必将有即可根据的值得到对应的从而得到分类结果。(3)Paillier同态加密系统本专利技术中的方案将使用Paillier同态加密系统对数据进行加密从而达到保护隐私信息的目的,这是一个满足加法同态的公钥加密系统。Paillier同态加密系统的详细介绍如下:初始化阶段:随机选取两个大素数p和q,计算n=pq,λ=lcm(p-1,q-1),选取随机数且满足gcd(L(gλ(modn2)),n)=1,则公钥pk=(n,g),私钥sk=(p,q);其中lcm指最小公倍数,gcd指最大公约数,L(x)=(x-1)/n。加密阶段:给定任意明文m∈Zn,选取一个随机数则其对应的密文为:c=Epk(m)=gmrnmodn2解密阶段:给定一个密文则其对应的明文为:(4)安全点积协议本专利技术中的方案需要安全计算向量之间的点积,具体的,假设参与计算的一方Alice拥有向量另一方Bob拥有向量我们需要得到但不希望任何一方得到结果的确切值。为此,本文中将使用一个扩展的保护隐私的安全点积协议(PPSPC)。协议具体内容如下所示。(5)形式化安全和攻击者模型本专利技术考虑半诚实攻击者模型下的安全。在半诚实攻击者模型下的安全性定义如下:定义:假设f(x,y)是一个目标函数,P是一个计算函数f(x,y)的两方协议,协议的参与方分别是A和B,x和y分别是参与方A和B的私有输入,协议P需要A计算并输出子函数fA(x,y)的值,同时需要B计算并输出子函数fB(x,y)的值。用viewA(x,y)和viewB(x,y)分别表示在协议P的执行过程中参与方A和B获得的中间信息,用rA和rB表示参与方A和B在协议P的执行过程中产生的随机数,则有:viewA(x,y)=(x,rA,m1,…,mt)viewB(x,y)=(y,rB,m1,…,mt)其中mi表示参与方A和B收到的第i条信息。用OA(x,y)和OB(x,y)分别表示在协议P的执行过程中参与方A和B输出的信息,则当存在概率多项式算法S1和S2能够使得下式成立时,称协议P在半诚实攻击者模型下是安全的:其中表示计算不可区分性。
技术实现思路
本专利技术的目的在于解决ML-kNN方法的上述问题,提出一种基于ML-kNN的保护隐私的多标记分类方法,在对未分类样本进行分类时能够保护服务器和用户双方的隐私信息。为实现上述目的,本专利技术采用如下技术方案:一种基于ML-kNN的保护隐私的多标记分类方法,包括如下步骤:步骤1:服务器根据自己的训练数据集D建立好分类模型,计算出各种k取值情况下的先验概率和后验概率,k表示训练数据集D中的每个样本xi(i=1,…,m)的最近邻居的数量;步骤2:计算未分本文档来自技高网
...
一种基于ML-kNN的保护隐私的多标记分类方法

【技术保护点】
一种基于ML‑kNN的保护隐私的多标记分类方法,其特征在于,包括如下步骤:步骤1:服务器根据自己的训练数据集D建立好分类模型,计算出各种k取值情况下的先验概率和后验概率,k表示训练数据集D中的每个样本xi(i=1,…,m)的最近邻居的数量;步骤2:计算未分类样本t与训练数据集D中的每个样本xi(i=1,…,m)之间的距离;步骤3:根据步骤2中得到的距离,找出未分类样本t在训练数据集D中的kNN样本;步骤4:根据步骤3中得到的kNN样本,统计出针对每个标记l跟该标记相关的近邻数量

【技术特征摘要】
1.一种基于ML-kNN的保护隐私的多标记分类方法,其特征在于,包括如下步骤:步骤1:服务器根据自己的训练数据集D建立好分类模型,计算出各种k取值情况下的先验概率和后验概率,k表示训练数据集D中的每个样本xi(i=1,…,m)的最近邻居的数量;步骤2:计算未分类样本t与训练数据集D中的每个样本xi(i=1,…,m)之间的距离;步骤3:根据步骤2中得到的距离,找出未分类样本t在训练数据集D中的kNN样本;步骤4:根据步骤3中得到的kNN样本,统计出针对每个标记l跟该标记相关的近邻数量l∈Y,Y={y1,y2,…,yq}表示有q个不同类别组成的标记空间;步骤5:根据步骤4中得到的计算得到未分类样本t与标记l相关的概率以及未分类样本t与标记s不相关的概率比较和的大小,若则样本t与标记l相关,否则样本t与标记l不相关,从而得到最终的分类结果。2.根据权利要求1所述的一种基于ML-kNN的保护隐私的多标记分类方法,其特征在于,步骤2的具体计算过程为:样本t用d维向量表示t=(t1,t2,…,td),将t扩展为t=(t1,t2,…,td,1);服务器的训练数据集中每个样本xi用d维向量表示xi=(xi1,xi2,…,xid),将每个样本向量扩展成服务器和用户利用安全点积协议来计算出未分类样本数据t与服务器的训练数据集D中的每个样本之间的距离dist(xi,t)=si+ci(i=1,…,m),其中si只有服务器知道,ci只有用户知道。3.根据权利要求2所述的一种基于ML-kNN的保护隐私的多标记分类方法,其特征在于,步骤3的具体步骤为:用户利用Paillier同态加密系统生成密钥对(sk,pk),选取随机整数A,用户加密ci得到Epk(Aci)(i∈{1,…,m})并发送给服务器,服务器选取随机整数R,加密si并与接收到的用户发送的距离密文合并,得到Epk(A(ci+si)+R)(i∈{1,…,m})并发送给用户;用...

【专利技术属性】
技术研发人员:刘洋王箭朱友文
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1