CN109408728A - 一种基于覆盖算法的差分隐私保护推荐方法 - Google Patents
一种基于覆盖算法的差分隐私保护推荐方法 Download PDFInfo
- Publication number
- CN109408728A CN109408728A CN201811451578.3A CN201811451578A CN109408728A CN 109408728 A CN109408728 A CN 109408728A CN 201811451578 A CN201811451578 A CN 201811451578A CN 109408728 A CN109408728 A CN 109408728A
- Authority
- CN
- China
- Prior art keywords
- user
- cluster
- film
- users
- total degree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 15
- 239000011159 matrix material Substances 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 5
- 230000005611 electricity Effects 0.000 claims 1
- 238000001914 filtration Methods 0.000 description 15
- 230000005484 gravity Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于覆盖算法的差分隐私保护推荐方法,是依据用户对电影评分的数据集得到评分矩阵;将评分矩阵中用户对每部电影评分依次执行覆盖算法;将两个用户聚在同一簇的总次数进行统计得到用户关系矩阵;对用户关系矩阵的每一行进行合理标准化得到用户行标准矩阵;对用户行标准矩阵添加噪声实施干扰;对于目标用户,从用户行标准矩阵中随机抽取k个不同的用户得到相似用户序列;将相似用户序列中评分较高的电影推荐给目标用户。本发明能有效地保护用户隐私,同时提高电影推荐的准确性。
Description
技术领域
本发明涉及一种应用于推荐系统中的基于覆盖算法的差分隐私保护推荐方法。
背景技术
推荐系统是根据用户的兴趣爱好推荐符合用户兴趣的对象,传统的推荐算法主要有基于模型的协同过滤推荐算法和基于记忆的协同过滤推荐算法。
已有的一些针对电影推荐方法方案。这些方案中主要体现在:
1、基于模型的协同过滤推荐算法中,基于奇异值分解的协同过滤推荐算法,能够处理稀疏性较高的数据集,处理速度较快,但是当有新用户加入的时候,存在冷引导问题;基于隐含概率语义的协同过滤推荐算法,能够处理稀疏性较高的数据集,直接最小化训练集中的均分根误差,提高推荐准确性,但是当有新用户加入的时候,也存在冷引导问题。同时,基于模型的协同过滤推荐模型中,存在着隐私泄露的风险;
2、基于记忆的协同过滤推荐算法中,基于用户的协同过滤算法精确度较高,但是随着用户数量的增多,计算时间就会变得很长。而基于项目的协同过滤算法虽然不用考虑用户间的差别,但是精确度较差。同时,基于项目的协同过滤推荐模型中,存在着隐私泄露的风险。
以上两种类型的推荐算法中,基于用户的协同过滤算法是较为常见的算法,并且该算法有较高的精确度,但是,由于需要计算用户之间的相似度,随着用户数量的增多,使计算用户之间相似度的工作量随之增加,花费的计算时间变得很长。同样,基于用户的协同过滤模型中,也存在着隐私泄露的风险。
发明内容
本发明是为避免上述现有技术存的问题,提供一种基于覆盖算法的差分隐私推荐方法,以期能有效的提高电影推荐的准确性,并减少计算量,同时,为推荐系统提供隐私保护。
本发明为解决技术问题所采用的技术方案是:
本发明一种基于覆盖算法的差分隐私保护推荐方法的特点是按如下步骤进行:
步骤1、预处理:
获取m个用户U对n部电影V评分的数据集,其中,U={u1,u2,...,ui,...,um},ui为第i个用户,i∈[1,m],V={v1,v2,...,vj,...,vn},vj为第j部电影,j∈[1,n];
将第i个用户ui对第j部电影vj的评分记为xi,j,则m个用户U对n部电影V的评分所组成的评分矩阵记为Xm×n={X1,X2,...,Xj,...,Xn},Xj表示所有用户对第j部电影vj的评分,并有:Xj={x1,j,x2,j,...,xi,j,...,xm,j};
步骤2、利用覆盖算法对所述所有用户对第j部电影vj的评分Xj进行聚类处理,得到所有用户对第j部电影vj的聚类结果cj={c1,j,c2,j,...,cp,j,...,ca(j),j},其中,a(j)为第j部电影vj的聚类结果cj中的簇的个数,且a(j)∈[1,m];cp,j为第j部电影vj的聚类结果cj中的第p个簇,且 为第p个簇中第b个用户ub存在的标志,若表示第p个簇中存在第b个用户ub;若表示第p个簇中不存在第b个用户ub;从而得到所有用户对所有电影的聚类结果C={c1,c2,...,cj,...,cn};
步骤3:对于第j部电影vj,按如下方式统计获得每两个用户聚在同一簇的次数:
步骤3.1、初始化p=1;
步骤3.2、判断p>a(j)是否成立,若成立,则执行步骤4;否则,执行步骤3.3;
步骤3.3、循环统计:
步骤3.3.1、将第q个用户uq和第t个用户ut对第j部电影vj聚在同一簇的次数记为q∈[1,m-1],t∈[q+1,m];
步骤3.3.2、初始化q=1;
步骤3.3.3、判断q>m-1是否成立,若成立,则执行步骤3.4;否则,将q+1赋值给t,并执行步骤3.3.4;
步骤3.3.4、判断t>m是否成立,若成立,则将q+1赋值给q,并返回步骤3.3.3;否则,执行步骤3.3.5;
步骤3.3.5、判断且是否成立,若成立,则将赋值给将t+1赋值给t,并返回执行步骤3.3.4;否则,将t+1赋值给t,并返回执行步骤3.3.4;
步骤3.4、将p+1赋值给p,并返回执行步骤3.2;
步骤4、对于n部电影V,按步骤3相同的方式依次获得第q个用户uq和第t个用户ut聚在同一簇的次数则第q个用户uq和第t个用户ut对于n部电影V聚在同一簇的总次数为
步骤5、按步骤4相同的方式,获得m个用户U中所有的任意两个用户对n部电影V聚在同一簇的总次数所组成的用户关系矩阵Zm×m={Z1,Z2,...,Zt,...,Zm};Zt表示第t个用户ut与所有用户聚在同一簇的总次数,并有Zt={z1,t,z2,t,...,zq,t,...,zm,t};
步骤6、采用离差标准化法对第t个用户ut与所有用户聚在同一簇的总次数Zt进行标准化处理,得到第t个用户ut标准化后的总次数从而得到所有用户标准化后的总次数
步骤7、将所述第t个用户ut标准化后的总次数作为第t个效用函数,执行指数机制向用户关系矩阵添加噪声,得到扰动后的总次数 表示第t个用户ut与所有用户聚在同一簇的扰动后的总次数;
步骤8、随机选取第x个用户ux作为目标用户,且x∈[1,m];
根据目标用户与所有用户聚在同一簇的扰动后的总次数的分布,随机抽取k个不同的用户并得到目标用户的相似用户序列Ox={ox,1,ox,2,...,ox,w,...,ox,k},其中ox,w表示目标用户的第w个相似用户;w∈[1,k]
步骤9、将目标用户的相似用户序列Ox中评分较高的前r部电影推荐给目标用户,从而完成电影推荐,r<k。
与现有技术相比,本发明有益效果体现在:
1、本发明利用覆盖算法,针对每个电影对用户进行聚类,再将目标用户和其它各用户两两聚在同一簇的总次数进行统计,使用标准化之后,通过指数机制添加噪声实施干扰,从干扰后用户行标准矩阵中随机抽取k个不同的用户得到相似用户序列;将相似用户序列中评分较高的电影推荐给目标用户,完成电影推荐。相比于现有技术中的协同过滤算法,能够为推荐系统提供了隐私保护,同时有效提高了电影推荐的准确性。
2、本发明通过覆盖算法和统计操作得到潜在用户序列,潜在用户序列中排名越靠前的用户与目标用户的相似性越高。随着用户数量的增多,本发明采用覆盖算法和统计操作相比现有技术中基于用户的协同过滤算法需要大量计算用户之间相似度的情况,大大减少了计算量。
3、相对于现有技术中基于模型的协同过滤推荐算法,本发明不存在新用户加入时的冷引导问题。
附图说明
图1为本发明方法中主要步骤流程图。
具体实施方式
本实施例中,一种基于覆盖算法的差分隐私保护推荐方法,是应用于推荐系统中,如图1所示,该方法是按如下步骤进行:
步骤1、预处理:
首先,从网站上获取m个用户U对n部电影V评分的数据集,其中,U={u1,u2,...,ui,...,um},ui为第i个用户,i∈[1,m],V={v1,v2,...,vj,...,vn},vj为第j部电影,j∈[1,n];本具体实施中,用户对电影评分数据集采用GroupLens研究组提供的MovieLens(www.grouplens.org)数据集ML-100k对算法进行评估,该数据集包含943个用户对1682个电影的100000个评分记录,每个用户至少对20部电影评分,评分范围为1-5之间的整数,代表喜好程度从低到高,该数据的评分稀疏度为93.7%,将数据集ML-100k随机分为占比为80%的训练集和20%的测试集,本实施例采用的用户对电影评分的数据集是指80%的训练数据集。
将第i个用户ui对第j部电影vj的评分记为xi,j,则m个用户U对n部电影V的评分所组成的评分矩阵记为Xm×n={X1,X2,...,Xj,...,Xn},Xj表示所有用户对第j部电影vj的评分,并有:Xj={x1,j,x2,j,…,xi,j,…,xm,j};
步骤2、如图1的步骤2所示,利用覆盖算法对所有用户对第j部电影vj的评分Xj进行聚类处理,得到所有用户对第j部电影vj的聚类结果cj={c1,j,c2,j,…,cp,j,…,ca(j),j},其中,a(j)为第j部电影vj的聚类结果cj中的簇的个数,且a(j)∈[1,m];cp,j为第j部电影vj的聚类结果cj中的第p个簇,且 为第p个簇中第b个用户ub存在的标志,若表示第p个簇中存在第b个用户ub;若表示第p个簇中不存在第b个用户ub;从而得到所有用户对所有电影的聚类结果C={c1,c2,…,cj,…,cn};
覆盖算法按如下步骤进行:
第一步:求出所有未学习过样本的重心,并以离该重心最近的样本作为覆盖的圆心center;
第二步:求出其它所有还未聚类的样本与center的距离;
第三步:求出所有距离的平均距离d;
第四步:以平均距离d作为半径r;
第五步:求出球形覆盖;
第六步:求出当前球形覆盖的重心,获得新的覆盖,直到覆盖的样本数不再增加为止;
第七步:找到离当前覆盖的圆心最远的点作为下一步覆盖的圆心center;
第八步:重复第一步到第七步直到所有的样本全部覆盖结束;
第九步:对于包含点比较少的覆盖采用最短距离法;
a:对于要用最短距离法合并的覆盖,计算出两覆盖的圆心的距离;
b:将离得最近的两个覆盖合并为一个新的覆盖;
c:更新其他覆盖与新覆盖的最短距离;
d:重复b和c,确定最后的聚类数;
第十步:结束。
步骤3:对于第j部电影vj,按如下方式统计获得每两个用户聚在同一簇的次数:
步骤3.1、初始化p=1;
步骤3.2、判断p>a(j)是否成立,若成立,则执行步骤4;否则,执行步骤3.3;
步骤3.3、循环统计:
步骤3.3.1、将第q个用户uq和第t个用户ut对第j部电影vj聚在同一簇的次数记为q∈[1,m-1],t∈[q+1,m];
步骤3.3.2、初始化q=1;
步骤3.3.3、判断q>m-1是否成立,若成立,则执行步骤3.4;否则,将q+1赋值给t,并执行步骤3.3.4;
步骤3.3.4、判断t>m是否成立,若成立,则将q+1赋值给q,并返回步骤3.3.3;否则,执行步骤3.3.5;
步骤3.3.5、判断且是否成立,若成立,则将赋值给将t+1赋值给t,并返回执行步骤3.3.4;否则,将t+1赋值给t,并返回执行步骤3.3.4;
步骤3.4、将p+1赋值给p,并返回执行步骤3.2;
步骤4、对于n部电影V,按步骤3相同的方式依次获得第q个用户uq和第t个用户ut聚在同一簇的次数则第q个用户uq和第t个用户ut对于n部电影V聚在同一簇的总次数为
步骤5、按步骤4相同的方式,获得m个用户U中所有的任意两个用户对n部电影V聚在同一簇的总次数所组成的用户关系矩阵Zm×m={Z1,Z2,…,Zt,…,Zm};Zt表示第t个用户ut与所有用户聚在同一簇的总次数,并有Zt={z1,t,z2,t,…,zq,t,…,zm,t};
步骤6、如图1的步骤3所示,采用离差标准化法对第t个用户ut与所有用户聚在同一簇的总次数Zt进行标准化处理,得到第t个用户ut标准化后的总次数从而得到所有用户标准化后的总次数离差标准化法按式(1)计算:
步骤7、将第t个用户ut标准化后的总次数作为第t个效用函数,执行指数机制向用户关系矩阵添加噪声,得到扰动后的总次数 表示第t个用户ut与所有用户聚在同一簇的扰动后的总次数;指数机制按式(2)计算:
式(2)中,Δ=1,隐私预算ε=0.1。
步骤8、如图1的步骤5所示,随机选取第x个用户ux作为目标用户,且x∈[1,m];
根据目标用户与所有用户聚在同一簇的扰动后的总次数的分布,随机抽取k个不同的用户并得到目标用户的相似用户序列Ox={ox,1,ox,2,…,ox,w,…,ox,k},其中ox,w表示目标用户的第w个相似用户,w∈[1,k];
步骤9、将目标用户的相似用户序列Ox中评分较高的前r部电影推荐给目标用户,从而完成电影推荐,r<k。本发明具体实施中,通过大量实验,计算出推荐系统的评价指标准确率Precision的平均值为0.67,召回率Recall的平均值为0.61。
Claims (1)
1.一种基于覆盖算法的差分隐私保护推荐方法,其特征是按如下步骤进行:
步骤1、预处理:
获取m个用户U对n部电影V评分的数据集,其中,U={u1,u2,...,ui,...,um},ui为第i个用户,i∈[1,m],V={v1,v2,...,vj,...,vn},vj为第j部电影,j∈[1,n];
将第i个用户ui对第j部电影vj的评分记为xi,j,则m个用户U对n部电影V的评分所组成的评分矩阵记为Xm×n={X1,X2,...,Xj,...,Xn},Xj表示所有用户对第j部电影vj的评分,并有:Xj={x1,j,x2,j,...,xi,j,...,xm,j};
步骤2、利用覆盖算法对所述所有用户对第j部电影vj的评分Xj进行聚类处理,得到所有用户对第j部电影vj的聚类结果cj={c1,j,c2,j,...,cp,j,...,ca(j),j},其中,a(j)为第j部电影vj的聚类结果cj中的簇的个数,且a(j)∈[1,m];cp,j为第j部电影vj的聚类结果cj中的第p个簇,且 为第p个簇中第b个用户ub存在的标志,若表示第p个簇中存在第b个用户ub;若表示第p个簇中不存在第b个用户ub;从而得到所有用户对所有电影的聚类结果C={c1,c2,...,cj,...,cn};
步骤3:对于第j部电影vj,按如下方式统计获得每两个用户聚在同一簇的次数:
步骤3.1、初始化p=1;
步骤3.2、判断p>a(j)是否成立,若成立,则执行步骤4;否则,执行步骤3.3;
步骤3.3、循环统计:
步骤3.3.1、将第q个用户uq和第t个用户ut对第j部电影vj聚在同一簇的次数记为q∈[1,m-1],t∈[q+1,m];
步骤3.3.2、初始化q=1;
步骤3.3.3、判断q>m-1是否成立,若成立,则执行步骤3.4;否则,将q+1赋值给t,并执行步骤3.3.4;
步骤3.3.4、判断t>m是否成立,若成立,则将q+1赋值给q,并返回步骤3.3.3;否则,执行步骤3.3.5;
步骤3.3.5、判断且是否成立,若成立,则将赋值给将t+1赋值给t,并返回执行步骤3.3.4;否则,将t+1赋值给t,并返回执行步骤3.3.4;
步骤3.4、将p+1赋值给p,并返回执行步骤3.2;
步骤4、对于n部电影V,按步骤3相同的方式依次获得第q个用户uq和第t个用户ut聚在同一簇的次数则第q个用户uq和第t个用户ut对于n部电影V聚在同一簇的总次数为
步骤5、按步骤4相同的方式,获得m个用户U中所有的任意两个用户对n部电影V聚在同一簇的总次数所组成的用户关系矩阵Zm×m={Z1,Z2,...,Zt,...,Zm};Zt表示第t个用户ut与所有用户聚在同一簇的总次数,并有Zt={z1,t,z2,t,...,zq,t,...,zm,t};
步骤6、采用离差标准化法对第t个用户ut与所有用户聚在同一簇的总次数Zt进行标准化处理,得到第t个用户ut标准化后的总次数从而得到所有用户标准化后的总次数
步骤7、将所述第t个用户ut标准化后的总次数作为第t个效用函数,执行指数机制向用户关系矩阵添加噪声,得到扰动后的总次数 表示第t个用户ut与所有用户聚在同一簇的扰动后的总次数;
步骤8、随机选取第x个用户ux作为目标用户,且x∈[1,m];
根据目标用户与所有用户聚在同一簇的扰动后的总次数的分布,随机抽取k个不同的用户并得到目标用户的相似用户序列Ox={ox,1,ox,2,...,ox,w,...,ox,k},其中ox,w表示目标用户的第w个相似用户;w∈[1,k]
步骤9、将目标用户的相似用户序列Ox中评分较高的前r部电影推荐给目标用户,从而完成电影推荐,r<k。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811451578.3A CN109408728B (zh) | 2018-11-30 | 2018-11-30 | 一种基于覆盖算法的差分隐私保护推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811451578.3A CN109408728B (zh) | 2018-11-30 | 2018-11-30 | 一种基于覆盖算法的差分隐私保护推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408728A true CN109408728A (zh) | 2019-03-01 |
CN109408728B CN109408728B (zh) | 2021-05-25 |
Family
ID=65456565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811451578.3A Active CN109408728B (zh) | 2018-11-30 | 2018-11-30 | 一种基于覆盖算法的差分隐私保护推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408728B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837603A (zh) * | 2019-11-09 | 2020-02-25 | 安徽大学 | 一种基于差分隐私保护的集成推荐方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095477A (zh) * | 2015-08-12 | 2015-11-25 | 华南理工大学 | 一种基于多指标评分的推荐算法 |
US20170150365A1 (en) * | 2015-11-19 | 2017-05-25 | T-Mobile Usa, Inc. | Small cell planning tool |
US10025868B1 (en) * | 2009-01-09 | 2018-07-17 | Google Llc | Preferred sites |
CN108427891A (zh) * | 2018-03-12 | 2018-08-21 | 南京理工大学 | 基于差分隐私保护的邻域推荐方法 |
-
2018
- 2018-11-30 CN CN201811451578.3A patent/CN109408728B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10025868B1 (en) * | 2009-01-09 | 2018-07-17 | Google Llc | Preferred sites |
CN105095477A (zh) * | 2015-08-12 | 2015-11-25 | 华南理工大学 | 一种基于多指标评分的推荐算法 |
US20170150365A1 (en) * | 2015-11-19 | 2017-05-25 | T-Mobile Usa, Inc. | Small cell planning tool |
CN108427891A (zh) * | 2018-03-12 | 2018-08-21 | 南京理工大学 | 基于差分隐私保护的邻域推荐方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837603A (zh) * | 2019-11-09 | 2020-02-25 | 安徽大学 | 一种基于差分隐私保护的集成推荐方法 |
CN110837603B (zh) * | 2019-11-09 | 2022-03-15 | 安徽大学 | 一种基于差分隐私保护的集成推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109408728B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699678B (zh) | 一种基于多阶段分层采样的层次聚类方法和系统 | |
Han et al. | Image annotation by input–output structural grouping sparsity | |
CN106709037B (zh) | 一种基于异构信息网络的电影推荐方法 | |
CN107220365A (zh) | 基于协同过滤与关联规则并行处理的精准推荐系统及方法 | |
CN103888541B (zh) | 一种融合拓扑势和谱聚类的社区发现方法及系统 | |
CN105975641A (zh) | 视频推荐方法及装置 | |
CN107291847A (zh) | 一种基于MapReduce的大规模数据分布式聚类处理方法 | |
CN104166668A (zh) | 基于folfm模型的新闻推荐系统及方法 | |
CN105488211A (zh) | 基于特征分析的用户群确定方法 | |
CN106203478A (zh) | 一种用于智能电表大数据的负荷曲线聚类方法 | |
CN103235822B (zh) | 数据库的生成及查询方法 | |
CN103617235A (zh) | 一种基于粒子群算法的网络水军账号识别方法及系统 | |
CN107633444A (zh) | 基于信息熵与模糊c均值聚类的推荐系统噪声过滤方法 | |
CN109034231A (zh) | 信息反馈rbf网络估值的不完整数据模糊聚类方法 | |
CN109871479A (zh) | 一种基于用户项目类及评分可靠性的协同过滤方法 | |
CN109829494A (zh) | 一种基于加权相似性度量的聚类集成方法 | |
CN110532429B (zh) | 一种基于聚类和关联规则的线上用户群体分类方法及装置 | |
CN103366009B (zh) | 一种基于自适应聚类的图书推荐方法 | |
CN105512301A (zh) | 基于社交内容的用户分组方法 | |
CN109977299A (zh) | 一种融合项目热度和专家系数的推荐算法 | |
CN109492076A (zh) | 一种基于网络的社区问答网站答案可信评估方法 | |
CN107885971A (zh) | 采用改进花授粉算法识别关键蛋白质的方法 | |
CN113268641A (zh) | 基于大数据的用户数据处理方法及大数据服务器 | |
CN109408728A (zh) | 一种基于覆盖算法的差分隐私保护推荐方法 | |
CN102779241B (zh) | 基于人工蜂群繁殖机制的ppi网络聚类方法 |
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 |